00:35:30 | | Join pamaury [0] (~pamaury@rockbox/developer/pamaury) |
00:39:08 | __builtin | user890104: the answer to that is "kind of" |
00:40:13 | __builtin | you can steal the audio buffer and use that for data |
00:40:23 | [Saint] | Which is somewhat hilarious given that that was the guts of what buflib was about. |
00:40:42 | [Saint] | Yet we still do massive fixed allocation across the board. |
00:40:45 | [Saint] | ...yay! |
00:46:23 | | Quit pamaury (Ping timeout: 240 seconds) |
00:49:24 | * | __builtin remembers the USB IDs we got from Openmoko |
00:49:51 | __builtin | we should probably do something with them |
00:53:27 | [Saint] | ...we actually got some? |
00:53:39 | [Saint] | What block did we get? |
00:54:07 | | Quit ender` (Quit: Two things are infinite: the universe and human stupidity, even though I'm not yet sure about the universe. — A. Einstein) |
00:54:11 | [Saint] | Incidentally: FWIW - I'm throwing cabbiev2 out the window. |
00:54:41 | [Saint] | I'm sick of it, I'm working at my own pace, out of public view for now because honestly at the moment other people's opinions can go fuck themselves. |
00:55:00 | [Saint] | I'll prod Gerrit if or when I end up finishing what I want to do. |
00:55:16 | [Saint] | Cabbiev2 was fine, ...a decade ago. |
00:55:45 | [Saint] | It's almost completely usable on touchscreen, even with the very few touch converted Cabbie theme targets. |
00:56:25 | [Saint] | I'm going for an AOSP-esque/Material Design type view on the colour and greyscale targets. |
00:56:36 | [Saint] | Not entirely sure what to do about charcell yet. |
00:57:12 | [Saint] | Or the bi-colour transflective displays. |
00:58:02 | [Saint] | I've been using my own iPod/iOS rip-off theme (that I took down from the theme site) for years. |
00:58:59 | [Saint] | On Color/Video/Classic/Nano it's pretty much a pixel-perfect near-identical rip-off of the iPod UI for iPod Video. |
00:59:01 | __builtin | [Saint]: yes, I almost forgot too |
00:59:20 | __builtin | 1d50:5300-53ff |
00:59:41 | | Quit alexweissman (Remote host closed the connection) |
00:59:58 | [Saint] | One supposes we should commit that, wholesale. I can see no good reason not to. |
01:00 |
01:00:10 | [Saint] | Unless perhaps some user has some udev magic, but, nuts to them. |
01:00:28 | __builtin | rbutil? |
01:01:04 | __builtin | we also need to decide whether or not to have some mechanism to switch IDs |
01:01:13 | [Saint] | One would just need to update the array of IDs rbutil looks for and associates with a target. |
01:01:33 | [Saint] | Presumably we'd need to look for the factory ID and the Rb ID. |
01:01:53 | [Saint] | And, no. We don't want to support that. |
01:02:13 | [Saint] | Switching IDs is dirty as fuck. |
01:02:36 | [Saint] | (main reason we never allowed users to do so in the first place - it's morally fucky) |
01:03:17 | [Saint] | EVen using the ID the hardware was assigned for the OF was morally and perhaps legally (depending on the locality) questionable. |
01:04:40 | [Saint] | It's a tough call, and this _may indeed_ break some functionality with external peripherals...but the only acceptable and moral option to resolve that in my opinion is "use the OF". |
01:06:01 | | Join alexweissman [0] (~alexweiss@149-160-160-162.dhcp-bl.indiana.edu) |
01:06:19 | [Saint] | Allowing the user to juggle between the OF VID/PID and Rockbox's isn't something I'm really comfortable with at all. We got the IDs specifically because of the moral (and potentially legal) implications of using the stock VID/PID in the first place, and in part because of some weird issues with software that expects a specific ID combination for a device and refuses to treat it differently. |
01:06:40 | [Saint] | ...lookin' at you, iTunes. |
01:07:05 | [Saint] | And all vaguely modern Macs. |
01:07:06 | __builtin | great, that simplifies things |
01:07:56 | [Saint] | Yeah, it's a tough call to make and maybe warrants more discussion with more people but honestly I feel pretty strongly about that being something we don't want to allow. |
01:08:14 | [Saint] | Users are still free to build with whatever arbitrary VID/PID they want. |
01:08:40 | [Saint] | Perhaps if you wanted to make one yu could build a selector and drop it on Gerrit and just never merge it with mainline. |
01:08:40 | __builtin | the only issue then is making rbutil look for both sets of IDs |
01:09:07 | [Saint] | This shouldn't be difficult at all. |
01:09:25 | [Saint] | There's already a couple of targets where we check for multiple potential IDs. |
01:09:50 | * | [Saint] summons bluebrother to clarify |
01:10:04 | __builtin | aha, it's really easy actually |
01:10:29 | __builtin | in rbutil.ini, there's a comma-separated list of IDs for each target |
01:10:48 | __builtin | such as usbid=0x05ab0031,0x05ab0060 for the recorder |
01:21:54 | *** | Saving seen data "./dancer.seen" |
01:34:06 | | Join Strife89 [0] (~quassel@adsl-98-67-59-202.mcn.bellsouth.net) |
01:35:35 | | Quit MrZeus2 (Ping timeout: 268 seconds) |
01:36:19 | [Saint] | right |
01:36:29 | | Quit alexweissman (Remote host closed the connection) |
01:36:56 | | Quit Strife1989 (Ping timeout: 240 seconds) |
01:44:05 | | Join alexweissman [0] (~alexweiss@2001:18e8:2:28b6:949e:d763:ee7d:9faf) |
01:44:48 | [Saint] | I'm just bot sure if there's any other places that do ID checks. |
01:44:56 | [Saint] | But...I guess grep can tell you. |
01:45:04 | [Saint] | s/bot/not/ |
01:46:58 | saratoga | SammysHP: is this build any better? http://mit.edu/mgg6/www/rockbox-clip+_frequency_test.7z |
01:47:07 | saratoga | its an older one taht I believe uses a slightly higher voltage for SD |
01:48:35 | | Join jhMikeS [0] (~jethead71@d192-24-173-177.try.wideopenwest.com) |
02:00 |
02:00:01 | | Quit Strife89 (Read error: Connection reset by peer) |
02:04:49 | | Join Strife89 [0] (~quassel@adsl-98-80-197-228.mcn.bellsouth.net) |
02:10:07 | | Quit Strife89 (Ping timeout: 268 seconds) |
02:12:37 | | Quit alexweissman (Remote host closed the connection) |
02:16:04 | | Join alexweissman [0] (~alexweiss@149-160-160-162.dhcp-bl.indiana.edu) |
02:16:32 | | Quit alexweissman (Remote host closed the connection) |
02:34:56 | | Quit ZincAlloy (Quit: Leaving.) |
03:00 |
03:21:13 | __builtin | [Saint]: see g#1603 |
03:21:16 | fs-bluebot | Gerrit review #1603 at http://gerrit.rockbox.org/r/1603 : Convert all targets to Openmoko USB IDs (WIP) by Franklin Wei |
03:21:55 | *** | Saving seen data "./dancer.seen" |
03:28:22 | __builtin | I'm considering submitting a patch to the USB ID repo |
03:28:36 | __builtin | what should I call the devices? |
03:31:34 | __builtin | "Rockbox on foobar" |
03:31:43 | __builtin | or just "Rockbox device?" |
03:36:11 | | Join alexweissman [0] (~alexweiss@c-68-51-123-75.hsd1.in.comcast.net) |
03:36:50 | | Join Marqueteur [0] (~Tor@fsf/member/TorC) |
03:46:20 | __builtin | or maybe "foobar (Rockbox)" |
03:47:21 | [Saint] | Rockbox Open Source Jukebox Player |
03:47:29 | [Saint] | ...that's our formal name. |
03:49:53 | __builtin | we have enough IDs to do one per target, wouldn't it be best to provide some more information? |
03:50:07 | __builtin | i.e. have the target name somewhere |
03:51:07 | [Saint] | IMO, that /is/ the taget name. But someone might fight me on it. |
03:51:14 | [Saint] | As far as I'm concerned the vendor is |
03:51:18 | [Saint] | 'Rockbox' |
03:51:29 | [Saint] | and the product is 'Open Source Jukebox Player'. |
03:52:56 | __builtin | we are somewhat unique in that we don't have a physical "product" |
03:53:28 | [Saint] | Well, the product is the firmware. |
03:53:42 | [Saint] | We didn't make the hardware. :) |
03:54:23 | [Saint] | Other people might have an opinion on this, but I personally don't think it's terrible useful to identify the target in the USB friendly name. |
03:55:24 | [Saint] | perhaps if the character field is long enough for product you could do 'Open Source Jukebox Player ($internal_target_name)'. |
03:56:04 | __builtin | the fact that it's running rockbox doesn't make it no longer whatever hardware device it was before |
03:56:18 | [Saint] | As long as Rbutil can uniquely identify them, which isn't an issue with the friendly name whatsoever, I'm not too sure it matters. |
03:56:43 | [Saint] | One would expect a user doing manual install to pay particular attention to the mountpoint and device. |
03:57:07 | __builtin | yes, I suppose it's more of a stylistic issue then |
03:58:08 | __builtin | I think I'll just go with "iPod Classic (Rockbox)" |
03:58:46 | [Saint] | I think our internal naming convention might be better, albeit less "pretty". |
03:58:59 | [Saint] | ie. "ipod6g (Rockbox)". |
03:59:50 | __builtin | that /is/ easier to do automatically, I'll just write up an awk script and submit it to the maintainers then |
04:00 |
04:11:08 | | Quit [Saint] (Remote host closed the connection) |
04:17:47 | | Join [Saint] [0] (~sinner@rockbox/staff/saint) |
05:00 |
05:03:03 | | Join PurlingNayuki [0] (~Thunderbi@2001:da8:215:4ff:30c2:c646:3ac7:4ff4) |
05:09:36 | | Quit PurlingNayuki (Ping timeout: 258 seconds) |
05:21:56 | *** | Saving seen data "./dancer.seen" |
06:00 |
06:03:33 | | Join Strife89 [0] (~quassel@adsl-98-67-59-212.mcn.bellsouth.net) |
06:23:36 | | Join pamaury [0] (~pamaury@rockbox/developer/pamaury) |
06:36:45 | | Join m4t [0] (~matt@2604:180:0:b2e::bad:beef) |
06:39:39 | pamaury | __builtin: re USB ID, it may be somewhere already, but we should have list of the wiki of assignements |
06:43:26 | user890104 | __builtin: why didn't you use the target id in hex for the least significant octet of the product id? |
06:44:05 | user890104 | e.g. ipod6g is 29, the last octet is 0x21 and i think 1d would be a better choice |
06:44:11 | user890104 | 0x1d * |
06:44:36 | pamaury | we can't use arbitrary IDs |
06:44:42 | pamaury | we only have a specific range of them |
06:45:06 | user890104 | [01:59:21] <__builtin> 1d50:5300-53ff |
06:45:38 | pamaury | https://www.rockbox.org/wiki/USBIDs |
06:45:38 | user890104 | so we can change the least significant octet to any value |
06:46:01 | user890104 | ah, i see |
06:46:10 | user890104 | it has been decided a long time ago |
06:46:36 | user890104 | still curious about the algorithm |
06:46:41 | pamaury | I think the target id is a bad idea, it's a purely internal thing to rockbox, we don't want to expose that |
06:47:00 | pamaury | we just assignement them arbitrarily and that's all |
06:56:27 | | Quit TheSeven (Disconnected by services) |
06:56:37 | | Join [7] [0] (~quassel@rockbox/developer/TheSeven) |
07:00 |
07:11:50 | | Join PurlingNayuki [0] (~Thunderbi@114.255.40.60) |
07:18:23 | | Quit PurlingNayuki (Ping timeout: 240 seconds) |
07:21:58 | *** | Saving seen data "./dancer.seen" |
07:22:33 | | Quit advcomp2019 (Ping timeout: 264 seconds) |
07:24:09 | | Join advcomp2019 [0] (~advcomp20@unaffiliated/advcomp2019) |
07:28:34 | | Quit jhMikeS (Ping timeout: 268 seconds) |
07:40:11 | | Join JanC_ [0] (~janc@lugwv/member/JanC) |
07:41:29 | | Quit JanC (Killed (card.freenode.net (Nickname regained by services))) |
07:41:29 | | Nick JanC_ is now known as JanC (~janc@lugwv/member/JanC) |
08:00 |
08:01:40 | pixelma | I find the Android music playing apps WPSs extremely boring, they basically look the same (album art, bit of tag info, progress bar, 3 big buttons for play/pause/skip etc., 2 smaller buttons to the left and right). |
08:09:52 | pamaury | kugel: is phabricator easy to install? |
08:13:00 | pamaury | I have a dedicated server with FTP backup so I could host it, and possibly give shared access to some parts of it if needed so that I am not the bottleneck |
08:15:45 | kugel | pamaury: pretty easy yes. phabricator consists of three git repos. one for the web service, one for the local client (arc) and one shared library project |
08:16:38 | kugel | you don't *need* to run arc on the server but it has a convinience command to update the whole thing |
08:17:05 | kugel | but as I said, we can also use the pain-free 30 day trial on their servers |
08:18:22 | kugel | as for the installation: once you you cloned the 3 repos you have to point the webserver to the webroot contained in the phabricator repo. Then the web interface will guide through the rest of the installation (setting up mariadb, etc) |
08:18:56 | pamaury | does it work with apache virtualhosts ? |
08:19:23 | kugel | yea, that's the configuration we use at work |
08:19:54 | kugel | on fact, I believe it requires that it has a domain on its own |
08:20:41 | pamaury | it says it needs a subdomain, like phabricator.rockbox.org |
08:20:47 | | Join ender` [0] (krneki@foo.eternallybored.org) |
08:21:00 | kugel | yes, I meant subdomain, sorry |
08:21:14 | pamaury | I guess that's not a problem, we already have subdomains of rockbox.org |
08:27:47 | SammysHP | Is phabricator a new thing? Used it multiple times in the last few weeks for different projects and never saw it before |
08:28:58 | pamaury | it's not particularly new (2010 wikipedia says) |
08:29:47 | pamaury | but some projects have adopted it recently I think |
08:37:50 | SammysHP | saratoga: timezones (probably)... I'll try your build in a few hours. |
08:47:45 | | Join wodz [0] (~wodz@iwl138.internetdsl.tpnet.pl) |
09:00 |
09:21:59 | *** | Saving seen data "./dancer.seen" |
09:28:08 | kugel | pamaury: are you setting up an instance? |
09:35:51 | pamaury | I could, but maybe we should agree on principle that we want to use phabricator? |
09:36:46 | kugel | sure. I was just wondering if you're playing with it |
09:37:07 | pamaury | right now I'm a bit too busy, but this week-end I might play with it and install it on my server |
09:43:08 | kugel | alrighht |
09:45:31 | [7] | [Saint]: 16GB n2gs were never sold by apple, if they even exist, they are modded. that said, I don't think we support any 16GB chips in the FTL, and apple probably doesn't either. |
09:54:05 | | Join elensil [0] (~edhelas@535580F9.cm-6-6c.dynamic.ziggo.nl) |
10:00 |
10:34:27 | | Join boing [0] (5590526c@gateway/web/freenode/ip.85.144.82.108) |
10:37:34 | boing | hello, and quick question. ran into an offer of a "old ipod 20gb", looks like "4g", and looked around, found rockbox and its plugins. how much trouble would it be to add a plugin to, say, turn the thing into an emulated cd drive, like the zalman ve series firewire/usb/esata disk enclosure? |
10:51:21 | | Join jhMikeS [0] (~jethead71@d192-24-173-177.try.wideopenwest.com) |
10:56:03 | | Quit jhMikeS (Ping timeout: 260 seconds) |
11:00 |
11:15:26 | | Join ZincAlloy [0] (~Adium@2a02:8108:8b80:1700:59e6:d41b:ec12:ea5d) |
11:22:02 | *** | Saving seen data "./dancer.seen" |
11:25:50 | [Saint] | [7]: yeah, I must be misremembering. It's 2, 4, and 8 GB for the n2g isn't it? And the 8GB one is the one that's a bit of a unicorn. |
11:26:46 | [Saint] | IIRC, and definitely in my experience in purchasing second hand, there wasn't perhaps as many of them produced. |
11:27:10 | SammysHP | Btw: which player do you recommend for rockbox. One, that is still available for new |
11:27:22 | [Saint] | Because the only ones I ever seem to turn up are 2 and 4GB ones. |
11:27:34 | [Saint] | Though there's not much of either around anymore. |
11:28:31 | [Saint] | SammysHP: ehhh...I'm not really sure there are any available new that I would actually recommend, due to the nature or maturity (or lack of) on the port. |
11:28:52 | [Saint] | Unless you have very deep pockets. |
11:29:23 | [Saint] | In which case iBasso or Hifiman players are available. |
11:30:24 | [Saint] | Personally, I'd recommend getting a second hand or refurbished Apple iPod Classic and converting it to micro SD solid state media. |
11:31:01 | [Saint] | You can convert them to SD media for as little as $40 USD or so. |
11:31:09 | gevaerts | Our gerrit instance uses a subdomain. Requiring one of those is fairly expected, I'd say |
11:31:16 | [Saint] | (not including the micro SD card) |
11:31:38 | * | gevaerts still has slight doubts about self-hosting, but if we have an actual volunteer... |
11:32:17 | SammysHP | Then I'd probably stick to my sansa clip+ and try to replace the battery |
11:33:27 | [Saint] | boing: you mean presenting as bootable media (difficult), or just presenting a partition for a mountpoint that serves .ISO files over USB (moderately easy)? |
11:34:02 | [Saint] | It's arguably possible as is depending on your exact requirements. |
11:35:16 | [Saint] | If all you want is a mountpoint that you can loop mount disk images in...then Rb already allows this by nature of USB mass storage. |
11:35:17 | boing | I mean presenting a usb/fw-attached cdrom device "loaded" with iso files, like the ve-{200,300,350} |
11:35:45 | [Saint] | Ah, right. Yeah...that's pretty substantially more complex. |
11:36:03 | boing | they call it a "virtual cd emulator" |
11:36:08 | [Saint] | Certainly possible but definitely not trivial. |
11:36:28 | gevaerts | Well |
11:37:11 | gevaerts | It's a fair amount of work, with some unsolved bits, but for a prototype you're looking at mostly boring stuff I think |
11:37:33 | gevaerts | boing: what sort of SCSI experience do you have? :) |
11:38:49 | boing | nothing on the code level, I'm afraid. have a couple pci cards that do scsi, maybe a device or two, did run scsi boxes back in the day. |
11:38:56 | [Saint] | gevaerts: serious question - what is important to you in a theme? |
11:39:27 | gevaerts | OK, so you might know what a LUN is. That's a start :) |
11:39:34 | [Saint] | I'm juggling a few things around but still starting with a largely blank slate here. |
11:39:55 | boing | hm missed this ipod so will have to run into another thing that might run rockbox |
11:40:30 | [Saint] | I really love my solid state converted iPod Classic devices. |
11:40:48 | boing | does usb and firewire present scsi to the other side for cdrom? |
11:41:02 | [Saint] | I think they're they're pretty arguably the best bang-for-buck player available to build. |
11:41:07 | gevaerts | [Saint]: these days, I'd say properly readable track name and number, next track, and time info. Not much more |
11:41:43 | gevaerts | boing: usb and firewire basically do SCSI on the protocol side (not on the physical side, of course) |
11:41:47 | [Saint] | gevaerts: yeah, I'm looking to keep things light instead of $ALLTHEMETADATAS |
11:42:00 | [Saint] | Which is why I asked what's important. |
11:42:43 | [Saint] | Would a more complex display of metadata on HOLD be useful or desirable? |
11:42:44 | boing | hmhm so no ata, meaning a enclosure has to translate |
11:43:27 | gevaerts | boing: http://gerrit.rockbox.org/r/#/c/67/ and https://www.rockbox.org/wiki/SummerOfCode2011#USB_CD_emulation might be interesting, as well as http://www.13thmonkey.org/documentation/SCSI/ |
11:43:28 | boing | or the important bits in a bigger font, so you have to squint if you'd like to know more |
11:43:34 | [Saint] | Or is the transition between WPS and $HOLDWPS too jarring and non-obvious? |
11:44:19 | gevaerts | And firmware/usbstack/usb_storage.c in the rockbox source, of course |
11:44:59 | gevaerts | I always set things to switch the display off on HOLD, so I don't care about that |
11:45:04 | [Saint] | I have a few things nutted out. I'm trying to see if I can make a theme that is able to scale all of its assets and do placement based on screen percentage instead of absolutes for some things. |
11:45:21 | gevaerts | I don't really care, though. These days I tend to just run cabbiev2 :) |
11:45:35 | boing | okay, so it's in the planning stages and at least theoretically possible, as in, not blocked by some architectural or hardware snags |
11:45:52 | gevaerts | no, not at all |
11:46:20 | [Saint] | With 9seg bitmap images in the theme engine I can add blocks of solid color, for status bars for instance, pretty easily for arbitrarily sized dimensions by tiling a single image. |
11:46:31 | [Saint] | It's pretty neat. |
11:46:51 | [Saint] | gevaerts: well, that's kinda the point. |
11:47:12 | [Saint] | I'm making, hopefully, the /new/ "cabbiev2". |
11:47:18 | boing | occurs to me that you don't really need a loopmount if it's "user space" (which I'm conveniently assuming "plugin" counts as); the plugin merely has to map block number to appropriate part of file, then serve that up? |
11:47:32 | [Saint] | Where cabbiev2==stock theme. |
11:47:50 | gevaerts | Some thinking is needed. The way my prototype does it is probably not ideal in the long term (it basically abuses the loopback thing I made for other reasons), and for proper iso support you want usb_storage (or a copy of it) to read from a file instead of a raw disk, but that's not too difficult |
11:48:05 | [Saint] | I think Rb UI needs to be brought into this century and I'm the man to do it. |
11:48:11 | [Saint] | ...well, I guess. |
11:48:35 | gevaerts | And after that, it's a matter of going through the MMC spec and implementing stuff as you go along, probably with some references (maybe virtualbox source?) to see which MMC commands are actually needed |
11:49:26 | [Saint] | I'm thinking about going with white, Rockbox yellow, and black font with red accented font. |
11:49:29 | [Saint] | Yeah? |
11:49:51 | [Saint] | Some Rb silver line markers perhaps. |
11:50:03 | [Saint] | Simple. I want it simple. |
11:50:07 | boing | do an usb-attached session with a few different disk types and log the wire, cut/grep/sort/uniq etc. for a quick to-do list? |
11:50:09 | gevaerts | "map block number to appropriate part of file" is indeed easy. Multiply block number by block size, call lseek, donme |
11:50:13 | [Saint] | No fucking gradients. |
11:50:27 | [Saint] | Nice flat icons. |
11:50:39 | * | gevaerts is a coder. He isn't good at picking colours! |
11:50:56 | [Saint] | Or maybe keep the icon set we have. |
11:51:12 | boing | though I have little idea about logging the wire (there's s/w for that) and less when trying to boot a box off usb-attached cdrom |
11:51:16 | [Saint] | The modern versions of those icons (ours are quite outdated) are quite nice. |
11:51:26 | gevaerts | boing: maybe, but the issue is that almost certainly different OSes (or versions) use different commands |
11:51:44 | boing | why would they do that? |
11:51:54 | [Saint] | "standards" |
11:52:07 | gevaerts | Well, if we knew *that*... :) |
11:53:23 | gevaerts | The base set is going to be the same, but then you find that windows 10 calls the WHATEVER command to check if the CD is actually real or something, and then a mac user reports that OSX always calls some other thing, and so on... |
11:53:36 | gevaerts | Well, they don't report that. They tell you it doesn't work :) |
11:53:57 | * | gevaerts isn't really sure which version of the MMC spec would be the best to use |
11:54:35 | gevaerts | So anyway, I'd say qemu, virtualbox and the like already went through that, so why not check what they do? |
11:55:00 | gevaerts | Or implement *everything*, then you're sure :) |
11:56:01 | boing | lots of "fun" to be sure. oh, I recall some australian building a scsi disk emulator (from sd) for older machines, might ask him what sort of snags he ran into |
11:56:19 | gevaerts | Oh, and if you want a proper amount of extra work, implement the audio CD stuff as well and make playlists appear as audio CDs :) |
11:56:23 | boing | wildly different but because scsi maybe relevant. probably not. |
11:56:37 | gevaerts | Plain disks, or CDs? |
11:56:56 | boing | at least the former, dunno about the latter |
11:56:58 | gevaerts | We do have enough plain disk stuff, really. It's the CD set that we need |
11:57:38 | boing | reversing the ve firmwares (since downloadable) is probably not going to help much, is it? |
11:57:54 | gevaerts | Hmmm, not sure if qemu and virtualbox do scsi cds or ata ones... |
11:58:18 | gevaerts | Maybe, but I'd say it's not going to be very efficient |
11:58:20 | boing | IIRC virtualbox doesn't support booting off of usb-anything |
11:58:46 | gevaerts | Well, *real* USB maybe, but then it just passes through, so that's useless |
11:58:48 | boing | the others, might well be worth looking at |
11:59:02 | | Quit elensil (Ping timeout: 268 seconds) |
11:59:24 | boing | not even that, something nasty nasty lazy bums not fixing their free software mumble mumble complain complain |
12:00 |
12:00:15 | gevaerts | What *I* would do is implementing the stuff that's almost certainly needed, log what else is called, connect it to a linux box, and see what's missing |
12:00:29 | gevaerts | When that works, think about the best approach to collect the rest |
12:00:36 | boing | well, it could act as its own logger, at least |
12:01:04 | boing | can two things snoop on the bus at once, software-wise? |
12:01:46 | gevaerts | Hmmm, do you have a regular USB CD drive? |
12:01:57 | gevaerts | Sniffing that might be a decent start |
12:02:10 | gevaerts | Why do you need two things? |
12:03:14 | boing | the basic emulator doing the read/write thing and a snooper to log read/only, on the rockbox device so as to gather on-boot request weirdness |
12:03:27 | boing | s/on-boot/host &/ |
12:03:55 | gevaerts | I'd just log command numbers in rockbox and run wireshark on the host |
12:04:14 | boing | can't run wireshark while the box is still booting |
12:04:52 | boing | hm do hubs broadcast usb traffic? (and then, what about firewire?) |
12:05:20 | SammysHP | saratoga: with that build the sdcard isn't detected at all |
12:05:54 | boing | no usb drive here, but do have an enclosure big enough for full-size drives. causing a bit of weirdness on the freebsd box (continuous full-speed spin only, no recognition that it's a cdrom) |
12:06:24 | gevaerts | Once you've reached the stage where you want to test booting, talk to pamaury for the hardware USB analyser |
12:07:03 | gevaerts | firewire isn't really an option, unless you first implement a full firewire driver and stack in rockbox |
12:07:58 | boing | ah, so the fw stuff in the ipod classic etc. isn't supported at all? |
12:08:26 | gevaerts | Does the ipod classic still have firewire? |
12:09:06 | gevaerts | But no, we don't do firewire at all. If someone were to do the work, we'd gladly have it, but nobody has ever stepped up |
12:09:19 | | Quit idonob (Ping timeout: 260 seconds) |
12:10:16 | | Join idonob [0] (~Owner@S010600259c3e7d7b.vs.shawcable.net) |
12:10:50 | boing | hokay, clear enough |
12:13:05 | gevaerts | Anyway, in summary, I don't think adding USB iso image support is terribly hard, I do think it's a fair amount of work, and I |
12:13:15 | gevaerts | 'm prepared to answer questions :) |
12:14:57 | boing | alright, thanks for that. sadly will have to shelve actual work for many reasons like needing to eat (sponsors, anyone?) and not actually having suitable devices (someone got it first) |
12:15:41 | pamaury | gevaerts: can you sum up the discussion? /me does not want to read all the logs |
12:15:53 | | Join elensil [0] (~edhelas@2001:1c02:1900:7800:d4b9:e8bb:ab2a:f74e) |
12:16:03 | boing | two other things I thought of in the meantime were some sort of "wikireader" (there's source but it's forth?) though I see there's at least a text file displayer already, and something to display maps even in the absence of gps |
12:16:19 | pamaury | gevaerts: I agree that self-hosting again might not solve the entire problem :-/ But if we are several to administer the system and have something better than github, I think I'm in |
12:16:40 | * | boing was asking how much work it was to implement a "virtual cd emulator" like the zalman disk enclosures offer |
12:17:02 | gevaerts | pamaury: for the USB thing I'm not sure anything was said that you don't already know :) |
12:17:23 | boing | so you can select an image, and it fakes a cdrom so your usb host can boot off of it |
12:17:28 | gevaerts | "Go throuhg MMC spec, implement stuff, test, see if things are missing, implement more stuff, repeat" :) |
12:18:07 | gevaerts | pamaury: for the hosting, an actual named volunteer does make a difference in my thinking |
12:20:11 | pamaury | gevaerts: if it's my server then I can do it |
12:22:21 | gevaerts | Yes, and kugel has also volunteered for phabricator |
12:27:01 | gevaerts | kugel: what sort of authentication does phabricator do? |
12:27:31 | kugel | it has lots of auth providers |
12:28:00 | kugel | simple username/password but also externally through google, github, amazon and more |
12:28:23 | kugel | ldap is also possible |
12:28:36 | gevaerts | ok |
12:29:27 | kugel | so basically simple, ldap and oauth with lots of presets |
12:29:49 | kugel | in fact i used my github account to report bugs in phabricator upstream |
12:31:14 | | Join jhMikeS [0] (~jethead71@d192-24-173-177.try.wideopenwest.com) |
12:31:45 | SammysHP | yep, the github auth is nice |
12:34:52 | kugel | most of phabricator can be controlled in the web gui, such as adding/approving users. upgrading needs to be done on the server's command line, but it takes less than 5 minutes (basically 3x git pull + database upgrade + daemon restart) |
12:35:38 | kugel | i.e. there can be more than one admin to approve users or change configuration |
12:37:36 | kugel | at work I do weekly updates and they never failed on me (but I'm sure it'll happen some day). there is a stable channel that I track besides the hot master branch |
12:37:58 | boing | alright, gotta go. thanks for the info. |
12:38:04 | | Quit boing (Quit: Page closed) |
12:43:36 | kugel | gevaerts: maybe there are free alternatives to self-hosting, I don't know one though |
12:55:01 | | Join robertd1 [0] (~root@201.242.174.75) |
13:00 |
13:04:55 | | Join PurlingNayuki [0] (~Thunderbi@114.255.40.60) |
13:05:44 | | Quit PurlingNayuki (Client Quit) |
13:10:42 | | Quit advcomp2019 (Ping timeout: 260 seconds) |
13:11:32 | wodz | preparing some container with phabricator installed might be good option - easy to migrate to some other hosting |
13:12:24 | | Join TheLemonMan [0] (~root@irssi/staff/TheLemonMan) |
13:14:28 | | Join advcomp2019 [0] (~advcomp20@65-131-169-188.sxct.qwest.net) |
13:14:28 | | Quit advcomp2019 (Changing host) |
13:14:28 | | Join advcomp2019 [0] (~advcomp20@unaffiliated/advcomp2019) |
13:18:51 | pamaury | wodz: is a container really helping? |
13:19:12 | wodz | pamaury: In my experience yes |
13:20:37 | wodz | pamaury: If you decide to move to some other hosting you pack your bags and move on. |
13:22:06 | *** | Saving seen data "./dancer.seen" |
13:23:11 | gevaerts | Maybe. It might be as simple as a database dump/restore, a fresh install, and a copy of the git repositories anyway |
13:24:03 | gevaerts | Anyway, my vote is that if we have a volunteer for hosting and two volunteers for service admin, we should go ahead |
13:33:12 | kugel | I've migrated phabricator once. you have to transfer the db with mysqldump and copy the git clones (there is a config file in one of them) |
13:33:51 | kugel | but sure, a container would make it even less pain |
13:35:11 | kugel | anyway, migrating is easy. my main concern would be backup/reduncancy |
13:37:11 | pamaury | my server comes with a 100GB backup in form of FTP. I don't have redundancy though |
13:46:07 | | Quit igorsk (Ping timeout: 240 seconds) |
13:58:22 | | Quit pamaury (Ping timeout: 240 seconds) |
13:58:56 | | Join igorsk [0] (~igorsk@host-85-201-83-23.dynamic.voo.be) |
14:00 |
14:18:18 | | Join PurlingNayuki [0] (~Thunderbi@221.219.149.207) |
14:26:34 | | Quit paulk-collins (Quit: Leaving) |
14:27:53 | | Quit PurlingNayuki (Read error: Connection reset by peer) |
14:27:59 | | Join PurlingNayuki1 [0] (~Thunderbi@221.219.149.207) |
14:30:21 | | Nick PurlingNayuki1 is now known as PurlingNayuki (~Thunderbi@221.219.149.207) |
14:34:59 | | Join igorsk2 [0] (~igorsk@85.201.83.23) |
14:38:26 | | Quit igorsk (Ping timeout: 240 seconds) |
14:41:32 | | Quit Moarc (Ping timeout: 258 seconds) |
14:41:45 | | Join Moarc [0] (~chujko@a105.net128.okay.pl) |
14:45:20 | | Join krabador [0] (~krabador@unaffiliated/krabador) |
14:56:10 | Bilgus | not doing transactions so its not like down time costs $$ |
14:58:45 | | Join _jhMikeS_ [0] (~jethead71@d192-24-173-177.try.wideopenwest.com) |
14:58:45 | | Quit jhMikeS (Disconnected by services) |
14:58:46 | | Nick _jhMikeS_ is now known as jhMikeS (~jethead71@d192-24-173-177.try.wideopenwest.com) |
14:59:50 | gevaerts | Down time is more or less fine. Data loss isn't |
14:59:53 | | Join parchd [0] (~parchd@unaffiliated/parchd) |
15:00 |
15:01:12 | gevaerts | So we do need backups, possibly simple tar+ftp |
15:02:50 | | Quit Moarc (*.net *.split) |
15:02:51 | | Quit ZincAlloy (*.net *.split) |
15:02:51 | | Quit wodz (*.net *.split) |
15:02:51 | | Quit preglow (*.net *.split) |
15:03:01 | | Quit jhMikeS (Ping timeout: 240 seconds) |
15:09:18 | | Join wodz [0] (~wodz@iwl138.internetdsl.tpnet.pl) |
15:14:26 | | Join Moarc [0] (~chujko@a105.net128.okay.pl) |
15:14:26 | | Join ZincAlloy [0] (~Adium@2a02:8108:8b80:1700:59e6:d41b:ec12:ea5d) |
15:14:26 | | Join preglow [0] (~thomj@2001:840:4243:3::101) |
15:16:04 | | Quit wodz (Ping timeout: 240 seconds) |
15:22:09 | *** | Saving seen data "./dancer.seen" |
15:25:13 | | Join wodz [0] (~wodz@iwl138.internetdsl.tpnet.pl) |
15:26:30 | | Quit Moarc (*.net *.split) |
15:26:30 | | Quit ZincAlloy (*.net *.split) |
15:26:30 | | Quit preglow (*.net *.split) |
15:26:42 | | Join ZincAlloy [0] (~Adium@2a02:8108:8b80:1700:59e6:d41b:ec12:ea5d) |
15:27:14 | | Join Moarc [0] (~chujko@a105.net128.okay.pl) |
15:33:52 | | Quit wodz (Ping timeout: 268 seconds) |
15:41:45 | | Quit igorsk2 (Ping timeout: 264 seconds) |
15:48:21 | | Quit scorche|sh (Ping timeout: 264 seconds) |
15:50:02 | | Join scorche|sh [0] (~scorche@squisch.net) |
15:50:02 | | Quit scorche|sh (Changing host) |
15:50:02 | | Join scorche|sh [0] (~scorche@rockbox/administrator/scorche) |
16:00 |
16:09:02 | | Join igorsk [0] (~igorsk@host-85-201-83-23.dynamic.voo.be) |
16:14:09 | | Quit PurlingNayuki (Ping timeout: 240 seconds) |
16:54:02 | | Join SleepYoda [0] (~nothing@ool-457e6532.dyn.optonline.net) |
16:56:31 | | Quit TheLemonMan (Quit: "It's now safe to turn off your computer.") |
16:56:56 | | Quit jhaluska (Ping timeout: 245 seconds) |
17:00 |
17:02:16 | | Join PurlingNayuki [0] (~Thunderbi@221.221.178.22) |
17:21:03 | | Quit PurlingNayuki (Ping timeout: 260 seconds) |
17:22:13 | *** | Saving seen data "./dancer.seen" |
17:23:24 | | Join dovber__ [0] (~dovber@2600:8801:3180:e2:beee:7bff:fee3:335f) |
17:23:57 | | Quit dovber (Ping timeout: 246 seconds) |
17:30:30 | | Join PurlingNayuki [0] (~Thunderbi@221.221.178.22) |
17:38:40 | | Quit dovber__ (Ping timeout: 240 seconds) |
17:38:49 | | Join dovber__ [0] (~dovber@2600:8801:3180:e2:beee:7bff:fee3:335f) |
17:52:13 | | Join dovber [0] (~dovber@2600:8801:3180:e2:beee:7bff:fee3:335f) |
17:53:00 | | Quit dovber__ (Ping timeout: 240 seconds) |
17:53:54 | | Quit krabador (Quit: Leaving) |
18:00 |
18:06:01 | | Join krabador [0] (~krabador@unaffiliated/krabador) |
18:11:56 | | Quit elensil (Quit: Leaving.) |
18:17:48 | | Quit PurlingNayuki (Ping timeout: 240 seconds) |
18:28:57 | | Quit MrZeus (Read error: Connection reset by peer) |
18:41:22 | | Quit krabador (Remote host closed the connection) |
18:44:00 | | Join asymsucon [0] (5037dc16@gateway/web/freenode/ip.80.55.220.22) |
19:00 |
19:01:31 | | Join PurlingNayuki [0] (~Thunderbi@221.221.13.17) |
19:10:22 | | Join lorenzo92_1 [0] (~lorenzo@host120-107-dynamic.17-79-r.retail.telecomitalia.it) |
19:19:55 | | Join johnb3 [0] (~johnb2@p5B2AD8D2.dip0.t-ipconnect.de) |
19:19:57 | | Quit lorenzo92_1 (Ping timeout: 260 seconds) |
19:22:15 | *** | Saving seen data "./dancer.seen" |
19:22:24 | [7] | I tend to use rdiff-backup for nightly offsite backups |
19:30:56 | | Quit Bilgus (Ping timeout: 248 seconds) |
19:33:20 | | Join Bilgus [0] (~Bilgus@gateway/tor-sasl/bilgus) |
19:45:52 | | Quit johnb3 (Ping timeout: 240 seconds) |
19:57:45 | | Join lorenzo92_1 [0] (~lorenzo@host120-107-dynamic.17-79-r.retail.telecomitalia.it) |
20:00 |
20:09:22 | | Quit parchd (Ping timeout: 240 seconds) |
20:35:34 | | Quit PurlingNayuki (Ping timeout: 240 seconds) |
20:59:31 | | Join saratoga_ [0] (86ae6e0e@gateway/web/freenode/ip.134.174.110.14) |
21:00 |
21:00:56 | saratoga_ | we should probably just have a runtime option to switch between the OF USB ID and the ones OpenMoko gave us |
21:01:27 | saratoga_ | the amount of annoyance and discussion over this issue is far in excess of the several tens of bytes of additional memory it would require to have that option |
21:01:52 | saratoga_ | then let users decide if they want to identify as the original ID or as the rockbox ID |
21:02:13 | gevaerts | Yes, I think that's best too |
21:02:13 | saratoga_ | then update rbutil to recognize either ID per device |
21:02:29 | gevaerts | I'm just not sure which one should be the default |
21:03:03 | saratoga_ | i'd leave the default as it is now |
21:03:12 | saratoga_ | change as little as possible |
21:06:27 | | Join johnb3 [0] (~johnb2@p5B2AD8D2.dip0.t-ipconnect.de) |
21:21:38 | | Quit asymsucon (Ping timeout: 260 seconds) |
21:22:18 | *** | Saving seen data "./dancer.seen" |
21:22:29 | | Quit johnb3 (Ping timeout: 258 seconds) |
21:36:14 | | Join MrZeus2 [0] (~MrZeus@2a02:c7f:7066:fb00:1819:7799:e69f:7df) |
21:43:07 | lorenzo92_1 | bluebrother: g#1601 is now only about ypr0, since this target is currently "Unsupported" and this is the first that I would like to escalate to "Stable" :-) |
21:43:09 | fs-bluebot | Gerrit review #1601 at http://gerrit.rockbox.org/r/1601 : Samsung YP-R0: rbutil support by Lorenzo Miori |
21:44:11 | lorenzo92_1 | yrp1 is missing target images, too and therefore I would prefer to open another gerrit in the future to support ypr1, by defining the new md5sum and generating the 2 new patch source files |
21:49:40 | lorenzo92_1 | bluebrother: ehrm, I clearly meant "Unstable"! |
21:59:29 | | Quit lorenzo92_1 (Quit: Konversation terminated!) |
21:59:42 | | Join lorenzo92_1 [0] (~lorenzo@host120-107-dynamic.17-79-r.retail.telecomitalia.it) |
22:00 |
22:02:02 | Bilgus | SDBOOT: @ asymsucon> 'Are you planning to expand compatibility to other targets beside Clip+ and Fuze+ (namely Zip)?' |
22:02:02 | Bilgus | The main problem I have is a lack of targets to test on, I have a few patches that will free up enough space to allow any target that can load the bootloader at the current HEAD to make use of the sd boot patch in addition to that there are a few other things that need done but I won't have time to really do anything substantial for a few months |
22:20:03 | | Join PurlingNayuki [0] (~Thunderbi@221.221.13.17) |
22:20:10 | __builtin | user890104: there was no "algorithm" behind the assignments, they're totally arbitrary |
22:20:21 | __builtin | I just put the target names in a file and ran `shuf' on it |
22:21:21 | saratoga_ | __builtin: did you see my comment above about the USB IDs? |
22:21:26 | | Join johnb2 [0] (~johnb2@91.42.216.210) |
22:23:33 | __builtin | switching between them? |
22:24:48 | | Quit PurlingNayuki (Ping timeout: 260 seconds) |
22:26:07 | __builtin | I think the argument against doing that is that the original USB IDs were never ours to use in the first place |
22:29:40 | gevaerts | Well |
22:29:52 | gevaerts | Were they assigned to the hardware or to the software? |
22:30:23 | saratoga_ | i think there is an argument for using either the original or ours, so logical thing is to just put a toggle switch |
22:33:06 | saratoga_ | plus i think some devices need the OF ID for htings like iTunes sync |
22:35:47 | Bilgus | asymsucon (logs) I added the clipzip to the devices with MULTIBOOT defined you will have to build your own bootloader in order to test it If you have issues feel free to msg me or leave here in channel |
22:37:30 | saratoga_ | what is the boot data feature used for? Booting from SD? |
22:38:30 | Bilgus | yep |
22:39:08 | Bilgus | although there are 3 extra chars left for anything else we might want to pass from BL > Firmware |
22:39:19 | Bilgus | (bytes) |
22:40:53 | Bilgus | atm we just pass the index of the drive that booted it still needs to be implemented in actual firmware JHMikeS has done some work towards that but I haven't had time to play with it lately |
22:47:40 | johnb2 | Bilgus: there were some concerns on the intuitiveness of calling it "Selective Backlight", when I posted the German translation to gerrit. Should we rename it "Selectively disable Backlight"? |
22:49:01 | johnb2 | see https://www.rockbox.org/irc/log-20170503#18:44:57 |
22:49:37 | user890104 | __builtin: this means that there would be another different identifier attached to the targets |
22:49:42 | johnb2 | and https://www.rockbox.org/irc/log-20170502#23:04:51 |
22:50:18 | __builtin | I really don't think it matters all that much |
22:50:42 | user890104 | well, you won't be able to generate the usb id out of the target it |
22:51:04 | user890104 | you'll need a pair of (target_id, usb_id) for each device |
22:51:37 | user890104 | if you look at it as a database, we already have a primary key which is unique for each device |
22:51:49 | user890104 | so why not reuse it, instead of adding a new column? |
22:52:36 | __builtin | I've already ran with this too far to go back and change it all |
22:53:12 | user890104 | well, you wrote that it is subject to change :) |
22:53:55 | | Quit johnb2 (Quit: Nettalk6 - www.ntalk.de) |
22:54:15 | user890104 | i'm just voting for consistent ids, that's all |
22:54:41 | __builtin | they're really not all that useful to anyone |
22:54:48 | __builtin | (the exact ID numbers) |
22:55:11 | user890104 | well, you don't know, they can become useful |
22:55:12 | __builtin | rbutil still needs to have a hardcoded target, USB ID pair for each target |
22:55:46 | user890104 | being able to tell the id of a device which target id you know without looking it up in a list is more convinient imo |
22:56:51 | user890104 | i don't see what's the benefits of assigning them randomly |
22:57:26 | __builtin | hmm, it might not be *that* much work to change it like you said |
22:59:09 | user890104 | my idea is that at some point we could generate the usb id out of the target id |
22:59:50 | __builtin | from looking at the code, it seems that the idea of "target id" is really only a tools/configure thing |
23:00 |
23:00:00 | __builtin | it's not used anywhere else |
23:00:32 | user890104 | yeah, but the number is unique for every device model |
23:00:51 | __builtin | so is assigning them randomly ;) |
23:00:53 | user890104 | i really like being able to uniquely identify things :) |
23:01:45 | user890104 | well, if we say that the target ids were assigned randomly, then assigning *another* identifier randomly doesn't make sense to me |
23:02:10 | user890104 | but that's just me, a web developer who's been messing with complicated databases with no unique keys |
23:02:37 | user890104 | cursing at the former devs/dbas, trying to get a report right :) |
23:05:21 | user890104 | __builtin: i can make the patch for you, if you accept the idea |
23:07:25 | __builtin | alright then |
23:07:49 | __builtin | if you can just edit the wiki page with correct USB ID −−> model name mappings I'll do the rest |
23:08:41 | user890104 | ok, deal |
23:08:54 | user890104 | let's see if i have permission to edit the wiki... |
23:13:35 | user890104 | the registration fails for some reason |
23:13:44 | user890104 | it shows an error page - redirect denied |
23:14:00 | | Join PurlingNayuki [0] (~Thunderbi@221.221.13.17) |
23:14:37 | user890104 | Wiki > Main > UserRegistration (redirect denied) |
23:14:37 | user890104 | Redirect Denied |
23:14:37 | user890104 | Attention |
23:14:43 | user890104 | that's what it shows |
23:15:33 | __builtin | hmm, you can't even get to the form? |
23:16:26 | user890104 | i get to the form, that's what happens after i fill it in |
23:16:45 | __builtin | ok, I'll just do it then |
23:17:26 | user890104 | any idea who can check why i can't register? |
23:17:43 | __builtin | did you fill in all the fields? |
23:17:49 | __builtin | it seems to work for me |
23:17:51 | user890104 | yes, the required ones |
23:18:11 | * | user890104 tries in firefox |
23:18:28 | | Quit PurlingNayuki (Ping timeout: 260 seconds) |
23:19:48 | user890104 | not working in ff either |
23:20:06 | __builtin | I'll do it, don't worry about it |
23:20:25 | user890104 | ok, but i'll need a wiki account at some point |
23:21:51 | | Join preglow [0] (~thomj@2001:840:4243:3::101) |
23:22:22 | *** | Saving seen data "./dancer.seen" |
23:23:44 | ZincAlloy | johnb2, bilgus: how about "backlight activation exemptions"? |
23:24:04 | ZincAlloy | would that be too long? |
23:24:56 | | Quit lorenzo92_1 (Ping timeout: 240 seconds) |
23:26:09 | user890104 | wiki registration doesn't work even in IE, is it possible that someone blocked ip ranges or something? |
23:28:24 | user890104 | ok, definetely IP blocking - worked with a proxy from France |
23:28:35 | __builtin | heh, nice |
23:28:43 | user890104 | (VencislavAtanasov is my wikiname) |
23:28:48 | | Quit saratoga_ (Ping timeout: 260 seconds) |
23:29:02 | __builtin | great, I'll add you |
23:29:35 | user890104 | thanks |
23:30:43 | __builtin | the page is incredibly slow right now |
23:34:22 | user890104 | i'll try to get the 8086 emulator working on my ipod |
23:34:33 | user890104 | it somehow works in the simulator |
23:36:19 | __builtin | from past experience, you've still got a long way to go ;) |
23:36:43 | user890104 | did you try something similar? |
23:37:37 | __builtin | experience = porting software to rockbox in general |
23:37:52 | __builtin | e.g. sgt-mines |
23:38:39 | __builtin | works perfectly in the simulator, impossible-to-debug memory corruption *somewhere* on target |
23:39:01 | user890104 | do you think that simon will accept a new addition to puzzles? |
23:39:32 | __builtin | it depends |
23:40:29 | __builtin | he's pretty picky when it comes to code style and quality, which is probably a good thing |
23:40:36 | user890104 | it's a promo game i made for a client a long time ago |
23:41:13 | user890104 | the point is to open all tiles by jumping using the knight's move in chess |
23:41:55 | user890104 | and the board is 10x10 |
23:42:19 | * | __builtin glances at the topic |
23:42:26 | __builtin | we should probably move this to -community |
23:42:34 | user890104 | uhm ok |
23:46:09 | | Join Soap_ [0] (~Soap@rockbox/staff/soap) |
23:48:51 | | Quit Soap (Ping timeout: 260 seconds) |