Previous day | Jump to hour: 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | Next day

Seconds: Show Hide | Joins: Show Hide | View raw
Font: Serif Sans-Serif Monospace | Size: Small Medium Large

Click in the nick column to highlight everything a person has said.
The Logo icon identifies that the person is a core developer (has commit access).

#rockbox log for 2014-12-30

00:00:04thomasjfoxthen we add the sizeof(union buflib_data) and substract one to account for the dummy char name[1].
00:00:47thomasjfoxand divide that by sizeof(union buflib_data) to partition the memory area into blocks of "union buflib_data"
00:01:16*thomasjfox makes a note to document that "xxx - 1" in the near future
00:01:38fs-bluebotBuild Server message: New build round started. Revision da5a36d, 255 builds, 27 clients.
00:02:56thomasjfoxuh, I think I just spotted a bug. When no name is given, we assume the length of the string is zero at the beginning of the function.
00:03:29thomasjfoxif we later substract one, that might be wrong
00:03:34thomasjfoxneed to verify that tomorrow...
00:13:40thomasjfoxah, g#711 was the buflib crc verifier code
00:13:43fs-bluebotGerrit review #711 at : buflib: Add crc field protecting buflib cookie integrity by Marcin Bukat
00:13:58*thomasjfox loves fs-bluebot
00:25:29 Quit ZincAlloy (Quit: Leaving.)
00:28:31 Quit JdGordon_ (Remote host closed the connection)
00:28:44 Quit thomasjfox (Quit: Konversation terminated!)
00:29:04fs-bluebotBuild Server message: New build round started. Revision 09f7bb8, 255 builds, 27 clients.
00:38:11 Quit ender` (Quit: "Sharing is caring." "Unlike most American voters, I have built up an immunity to rhyming slogans." -- Kevin Hearne: Shattered)
00:46:47***Saving seen data "./dancer.seen"
00:50:45 Quit krabador (Quit: Take the time.)
00:54:56 Join krabador [0] (~krabador_@unaffiliated/krabador)
01:00:03 Join JdGordon [0] (~jonno@rockbox/developer/JdGordon)
01:06:26 Quit lebellium (Quit: ChatZilla [Firefox 35.0/20141222200458])
01:40:09 Quit bertrik (Read error: Connection reset by peer)
01:47:42 Quit JanC (Ping timeout: 265 seconds)
01:59:11 Join JanC [0] (~janc@lugwv/member/JanC)
02:17:40 Quit JanC (Read error: Connection reset by peer)
02:19:21 Quit pamaury (Ping timeout: 240 seconds)
02:20:52 Join JanC [0] (~janc@lugwv/member/JanC)
02:21:03 Quit RiD (Quit: A good plan today is better than a perfect plan tomorrow.)
02:46:48***Saving seen data "./dancer.seen"
03:37:07 Quit JdGordon (Remote host closed the connection)
03:47:54 Join JdGordon [0] (~jonno@rockbox/developer/JdGordon)
03:54:12 Join Misanthropos [0] (
03:57:17 Quit JdGordon (Ping timeout: 245 seconds)
03:57:43 Join JdGordon [0] (
03:57:43 Quit JdGordon (Changing host)
03:57:43 Join JdGordon [0] (~jonno@rockbox/developer/JdGordon)
03:59:38 Join cmhobbs [0] (~cmhobbs@fsf/member/cmhobbs)
04:24:36 Quit dongs (Ping timeout: 258 seconds)
04:24:43 Join dongs [0] (
04:46:50***Saving seen data "./dancer.seen"
05:06:27[Franklin]has anyone thought of fixing the calculator plugin's exponentation?
05:07:20 Quit Misanthropos (Ping timeout: 265 seconds)
05:15:20[Franklin]man this code is messy
05:15:37[Franklin]globals everywhere
05:15:43[Franklin]thankfully pretty well commented, though
05:22:54 Quit [Franklin] (Remote host closed the connection)
05:24:31 Join Misanthropos [0] (
05:46:53 Quit the-kyle (Remote host closed the connection)
05:47:35 Quit krabador (Quit: Take the time.)
05:49:26 Join krabador [0] (
05:49:27 Quit krabador (Changing host)
05:49:27 Join krabador [0] (~krabador_@unaffiliated/krabador)
05:56:34 Quit krabador (Quit: Take the time.)
05:57:08 Quit cmhobbs (Remote host closed the connection)
06:24:18 Join the-kyle [0] (
06:46:54***Saving seen data "./dancer.seen"
07:11:28 Quit Misanthropos (Ping timeout: 244 seconds)
07:17:27 Nick Mir is now known as Mir_spam (
07:24:12 Join Misanthropos [0] (
07:28:09 Join Provel [0] (
07:48:27 Nick Mir_spam is now known as Mir (
08:25:07 Join ender` [0] (
08:46:55***Saving seen data "./dancer.seen"
09:10:36 Join thomasjfox [0] (~tomj@rockbox/developer/thomasjfox)
09:17:48 Quit krnlyng_ (Ping timeout: 255 seconds)
09:35:14 Quit Misanthropos (Remote host closed the connection)
09:36:07 Join Misanthropos [0] (
09:39:17 Join krnlyng [0] (~liar@
09:46:22 Quit Provel (Ping timeout: 272 seconds)
09:50:10 Join Provel [0] (
09:53:16 Quit Misanthropos (Ping timeout: 240 seconds)
10:08:15 Join Misanthropos [0] (
10:30:19 Quit Misanthropos (Quit: Ex-Chat)
10:46:58***Saving seen data "./dancer.seen"
10:49:03 Quit krnlyng (Ping timeout: 265 seconds)
10:56:01 Join Misanthropos [0] (
10:56:22 Join ploco [0] (dce9b7f9@gateway/web/freenode/ip.
10:57:16 Join pamaury [0] (~quassel@rockbox/developer/pamaury)
11:02:06 Quit AlexP (Remote host closed the connection)
11:03:31 Join AlexP [0] (~alex@rockbox/staff/AlexP)
11:06:47 Quit ploco (Quit: Page closed)
11:07:02 Join bertrik [0] (~quassel@rockbox/developer/bertrik)
11:13:51 Join lebellium [0] (
11:14:24 Quit Misanthropos (Ping timeout: 272 seconds)
11:16:23 Quit pamaury (Remote host closed the connection)
11:21:28 Quit mikroflops (Ping timeout: 245 seconds)
11:25:26 Join mikroflops [0] (~yogurt@
11:48:45 Quit AlexP (Remote host closed the connection)
11:51:17 Join pamaury [0] (~quassel@rockbox/developer/pamaury)
11:54:17 Join Misanthropos [0] (
12:02:53pamaurygevaerts: ping
12:03:58pamaurydo you know/remember why USE_ROCKBOX_USB was introduced ? It seems to me it's redundant with HAVE_USBSTACK + exclusive storage (ie not hosted)
12:04:48pamauryusb.c has a test on defined(HAVE_USBSTACK) && !defined(USE_ROCKBOX_USB) but I don't see how it can make sense to compile the usbstack if you are not going to use it
12:05:52gevaertsIt's from the old days when the usb stack didn't actually work
12:06:31gevaertsAs in, HAVE_USBSTACK says we have the stack but we don't do more than enumerate for charging, USE_ROCKBOX_USB says we expect it to work so we use it for storage too
12:06:35pamauryI'm working with lorenzo92 on making the usb stack work on hosted targets with gadgetfs (it would also be useful for the sim)
12:07:26pamaurybut does USE_ROCKBOX_USB really means you can enumerate ? I'm not so sure
12:08:53gevaertsHmmm, I think usb-as3525.c shouldn't check for USE_ROCKBOX_USB there
12:08:54pamauryanyway I'm thinking of reworking this to remove it (only keep have_usbstack)
12:09:06pamauryyeah that's weird
12:09:40gevaertsFrom a quick look, I think USE_ROCKBOX_USB can just be removed everywhere
12:09:56pamauryanother weird thing is that the test on USE_ROCKBOX_USB in usb.c is already inside a #ifdef USB_FULL_INIT
12:10:36gevaertsThat code has been through a lot of revisions :)
12:10:50pamauryalso the test at the top of usb.c to check for full stack is horrible
12:11:18gevaertsA bit, yes
12:13:02gevaertsI can't say I know why it is like that
12:14:24gevaertsWell, I do understand the !defined(BOOTLOADER) and the defined(HAVE_BOOTLOADER_USB_MODE) conditions
12:14:49pamaurywhy does it depend on some target and usb core ?
12:18:28gevaertsMy strong suspicion is voodoo
12:19:17gevaertsThe very first of those target-specific ones was for the gigabeat S, which needed it for bootloader USB mode. It was the first target with bootloader USB mode, so HAVE_BOOTLOADER_USB_MODE wasn't there yet
12:19:37gevaertsAfter that, people just seem to have piled stuff on
12:20:11gevaertsI'd get rid of it all :)
12:24:55pamauryit would be useful to do test builds on the build bots for these cases
12:26:35gevaertsThey're all bootloaders, so doing a full run locally should be quick too
12:32:18pamauryok first, USE_ROCKBOX_USB
12:39:40pamauryok so the only files which don't define both USE_ROCKBOX_USB and HAVE_USBSTACK are: tatungtpj1022.h, sansaconnect.h, iaudio7.h, logikdax.h and mini2440.h
12:40:24gevaertsSo four unfinished ports and one unmaintained one
12:41:51pamauryso I guess for those we can just not define HAVE_USBSTACK
12:42:06pamauryand check it compiles
12:42:14gevaertsDo they compile *now*?
12:42:22gevaertsI'd bet most of them won't
12:42:57gevaertsThey're all targets that never were considered far enough along for the build system
12:43:17pamauryoh, they are not even built ?
12:43:23pamaurythen I'd say we don't care
12:43:44gevaertsSo I'd leave them alone and let possible future port-resumers handle this
12:44:12gevaertsSansa connect is built
12:44:39gevaertsIIRC that was the one that needed a hardware modification to run code...
12:44:54pamauryoh, in fact it doesn't define have_usbstack
12:45:02pamauryit's within a #if 0 so problem solved
12:45:09gevaertsThat's also OK then :)
12:45:19pamauryyeah, we're still trying to find an exploit in the bootloader, I have the code but no success so far
12:46:34gevaertstpj1022 is a PP502x target, so as soon as someone resumes work on it, USB is trivial, iaudio7 was abandonned long ago, and logik dax has some demo code but not even a full bootloader
12:46:59***Saving seen data "./dancer.seen"
12:47:40gevaertsI don't really know why the mini2440 never got to the build system stage
12:48:08 Quit Misanthropos (Ping timeout: 272 seconds)
12:50:09pamauryhum the mini2440 doesn't define have_usbstack either, it's commented
12:51:45 Quit byteframe (Ping timeout: 258 seconds)
12:52:00pamauryhum, does that mean that try_reboot() in usb.c is not actually compiled on any target ?
12:52:15pamauryexcept for USB_FIREWIRE_HANDLING
12:53:02pamaurywhich by the way should probably *not* defined in usb.h but rather in target config files
12:56:58pamauryI'm a bit confused by USB_FIREWIRE_HANDLING, it has a full usb stack but reboots on connection ?
12:57:48gevaertsWe don't have a firewite stack :)
12:58:10pamauryyes I know but what is the link between usb and firewire then ?
12:58:26gevaertsAnd for historical reasons (both USB and firewire used to just reboot in the old days) it's handled in the same place
12:58:49pamauryok, so it's really just a kludge
12:59:21gevaertsYes, dating to the days when rockbox only ran on a dozen or so devices, so this sort of thing wasn't too bad...
12:59:30pamauryand the usb connection detection is really firewire detection on those targets or do they have usb too ?
12:59:43gevaertsThose four have USB too
12:59:59pamauryok, so it's not too bad then
13:01:09gevaertsThe older ipods (1g to 3g) are messier. but we don't have anything like nice support for those
13:01:52*gevaerts doesn't really know how those are handled
13:12:37 Join Misanthropos [0] (
13:22:22 Quit Misanthropos (Ping timeout: 240 seconds)
13:33:48pamaurygevaerts: is USB_HANDLED_BY_OF really doing something ?
13:34:55pamaurydamn, and what is USB_NONE ?
13:37:35gevaertsUSB_NONE means "no usb at all on this thing" I think
13:38:29pamauryso USB_NONE -> no usb,
13:38:29pamaury!USB_NONE & !HAVE_USBSTACK -> usb detect
13:38:29pamauryHAVE_USBSTACK -> full usb
13:38:29DBUGEnqueued KICK pamaury
13:39:00gevaertsNot entirely
13:39:01pamauryyeah I think you are right, usb.c stubs all usb_* functions on usb_none
13:39:09gevaertsUSB_NONE -> no usb at all
13:39:23gevaertsHAVE_USBSTACK -> a USB stack with software stuff
13:39:34gevaerts!USB_NONE & !HAVE_USBSTACK -> a USB-ATA bridge chip
13:39:46gevaertsI think
13:40:12gevaertsUSB_HANDLED_BY_OF is still set by ipod 1g to 3g
13:41:31gevaertsBut all it does now is define whether we need the check_bootfile function
13:41:35pamaurywhat about targets without bridge and without full stack ? where usb is just handled for charging ?
13:42:22pamaurywhich target have a usb-ata bridge ?
13:42:37 Join Misanthropos [0] (
13:44:49gevaertsLots. The archoses, all m68k players, the gigabeat F
13:44:52gevaertsMaybe a few more
13:45:14 Join AlexP [0] (~alex@rockbox/staff/AlexP)
13:45:38pamauryis it pure hardware or we need to toggle something/there is a driver for it ?
13:45:51gevaertsWe need to set some bits
13:47:22gevaertsLook for usb_enable() in various places
13:48:05gevaertsThey basically have the usb detect stuff (GPIO usually), and usb_enable() to switch on the bridge
13:50:06pamaurycouldn't we have a cleaner way to setup usb ? for example a single define like CONFIG_USB with several possible values:
13:50:06pamaury- USB_NONE -> no usb at all
13:50:06pamaury- USB_DETECT -> can detect usb but nothing else (charging)
13:50:06pamaury- USB_HARDWARE -> can detect usb, handled in hardware
13:50:06pamaury- USB_SOFTWARE -> software usb stack
13:51:22gevaertsI'm not sure if that handles all the cases
13:51:36gevaertsAlso, what does USB_DETECT mean exactly?
13:52:06pamaurywhat could be the other cases ? it means the target can detect when usb is plugged or not, but there is no driver for it
13:54:25gevaertsWhat about the hybrid RaaA ports?
13:55:05CtcpIgnored 1 channel CTCP requests in 0 seconds at the last flood
13:55:05*gevaerts isn't sure how those usually handle USB
13:55:08pamauryhow do they handle usb ?
13:56:03pamauryI guess those are basically like usb_hardware for the moment: when usb is plugged, you enter slave mode because files can get modified on your back
13:56:17 Join rela [0] (~x@pdpc/supporter/active/rela)
13:56:23pamaurylorenzo92 or kugel probably know this
13:56:45gevaertsSo USB_DETECT would be for devices like the ipod3g where there is a USB chip but we ignore it
13:56:49pamauryour plan with lorenzo is to have usb stack on hosted (at least some of them), but we need to handle the others
13:57:20gevaertsNot too sure how to handle that firewire stuff that reboots on plugin
13:57:31gevaertsMove it out of USB entirely?
13:57:59pamauryyeah it should be in its own file I think
13:58:12pamaurywe already have some firewire "code" I think
13:58:29pamauryand this try_reboot() function has nothing to do with usb also
13:59:55pamauryso maybe instead of USB_HARDWARE and USB_SOFTWARE it should be USB_SLAVE and USB_STACK: the former meaning rockbox is slaved to usb (either hardware or hosted), whereas the seconds means is has full control of the usb stack ?
14:00:30pamauryin essence there is no difference between enabling a usb bridge and enabling usb on a linux kernel when you are a slave
14:00:41*gevaerts nods
14:00:57gevaertsNot sure I like the name, but I can't immediately think of anything better
14:01:24pamaurycould USB_MASTER also but yeah the name is not great, it should be documented anyway, our usb code sucks at documentation
14:03:57gevaertsIt's not too important I think
14:05:33gevaertsWe should also split usb.c so we have the generic bits (the main thread loop, mainly) in usb.c, and then software, hardware, and detect in their own files
14:05:46gevaertsnone probably doesn't need much :)
14:10:56 Join syon__ [0] (
14:14:11gevaertsSomeone also needs to fix USBOTG_S3C6400X so USB_DETECT_BY_REQUEST works on the ipods
14:14:43gevaertsI want that define gone. If you have a full USB stack, it really makes no sense not to look for enumeration to decide that a host is really there
14:15:32pamauryyeah detect by request should be norm, to get rid of anything else
14:17:21gevaertsSomeone with those ipods needs to look at it though
14:20:19 Join lorenzo92 [0] (973e09f3@gateway/web/freenode/ip.
14:20:49lorenzo92basically, both on ypr0 and ypr1 we are currently doing nothing regarding USB
14:21:06lorenzo92disk mode is provided by a "safe mode", accessible by pressing the back button on start
14:22:32lorenzo92and yes, while developing, I came across different mindfacks (let's keep it like this ^^) regarding ifdefs :)
14:23:07gevaertsThose ifdefs are meant as a rite of passage :)
14:23:20lorenzo92I know, I know :P
14:24:40lorenzo92anyway, pamaury, regarding a possible "slave" mode, well, on YPR0 it would be cool to have mass storage directly from rockbox, but it must be closed otherwise you have several handles blocking the disk...Or alternatively unlocking handles would do as well. Another altertative, is by using MTP, not my favourite, but still useful
14:25:45lorenzo92so, as a recap, on YPR0 (and others) there might be both a USB_STACK (provided by gadgetfs, to handle USB hid and other cool future stuff) and USB_SLAVE (to attach to current usb mass storage gadget)
14:31:59 Join dfkt_ [0] (dfkt@unaffiliated/dfkt)
14:32:08 Quit dfkt (Disconnected by services)
14:32:23 Nick dfkt_ is now known as dfkt (dfkt@unaffiliated/dfkt)
14:40:16 Join clipplus [0] (5386f0f3@gateway/web/freenode/ip.
14:41:06 Quit lorenzo92 (Quit: Page closed)
14:41:26clipplusHello. When I turn on my Clip+, Rockbox automatically starts playing the last song. I would like to have to push "play" before it starts playing. Is this possible?
14:42:08 Join RiD [0] (
14:42:24dfktclipplus, sure. just change the startup setting
14:43:16Misanthroposlike ask for resume bookmark
14:43:49clipplusdfkt, I have selected "Previous Screen" in the startup setting
14:45:11dfktwell, if the previous screen is the wps (while playing screen), it will resume
14:45:37dfktchanging it to main menu or files should prevent it from playing
14:46:57clipplusThe previous screen is indeed the wps, but the wps is paused. When I turn on my Clip+, the wps starts playing the song, it is no longer paused.
14:47:00***Saving seen data "./dancer.seen"
14:48:43gevaertsThat is expected behaviour
14:48:57gevaertsWhy is setting the start screen to the main menu a problem?
14:51:22clipplusSetting it to main menu and than clicking "Resume Playback" is indeed probably the best solution
14:51:35gevaertsOr just press play
14:51:47gevaertsPressing play if there is an active playlist will resume
14:53:25clipplusI don't work with playlists
14:53:51gevaertsYes, you do
14:53:52dfktit's a "playlist" even if you played a folder
14:54:00gevaertsIn rockbox you *always* have a playlist
14:54:02dfktinternally for rockbox, no worries
14:55:42gevaertsAnyway, the point is, pressing play will resume playback from almost anywhere, no need to hunt for the resume playback menu item
14:56:00 Quit MMlosh (Quit: Bye...)
14:56:03clipplusThanks, didn't know that about the playlists
14:56:28clipplusPressing play makes me scrolling in the menu, but the home button seems to do the job
14:56:36dfktusually, resuming playback is at most two presses on the play button away, from anywhere in the menu
14:56:42dfkt(excluding plugins)
14:57:19dfkterr, right, home button for the clip+, since it shares its function with the up-button
14:59:59clipplusOk, so I got what I wanted. Thanks for the help. I really like Rockboxy!
15:04:58 Quit clipplus (Quit: Page closed)
15:09:40dfktthat reminds me, would it be difficult to add PLAYLIST_REPLACE_SHUFFLED to the feature set?
15:09:54dfkt^^ typo in line 683
15:10:35 Quit mshathlonxp (Ping timeout: 240 seconds)
15:16:13 Join amayer [0] (
15:17:51 Quit Misanthropos (Ping timeout: 240 seconds)
15:35:29 Nick Zambezi__ is now known as Zambezi (
15:35:49 Quit Zambezi (Changing host)
15:35:49 Join Zambezi [0] (Zulu@unaffiliated/zambezi)
15:49:28 Join einhirn [0] (
15:53:58 Quit einhirn (Ping timeout: 245 seconds)
16:04:22 Join einhirn [0] (
16:19:38 Join ZincAlloy [0] (
16:22:36 Quit bertrik (Read error: Connection reset by peer)
16:33:35 Join sakax [0] (~sakax@unaffiliated/sakax)
16:34:15 Quit AlexP (Remote host closed the connection)
16:47:03***Saving seen data "./dancer.seen"
17:00:12 Quit rela (Ping timeout: 272 seconds)
17:15:42 Join Misanthropos [0] (
17:24:56 Join bertrik [0] (~bertrik@rockbox/developer/bertrik)
17:32:01 Quit bertrik (Quit: Lost terminal)
17:38:49pamaurygevaerts: g#1091
17:38:53fs-bluebotGerrit review #1091 at : Get rid of USE_ROCKBOX_USB by Amaury Pouly
17:43:31 Quit Misanthropos (Remote host closed the connection)
17:45:32 Join Misanthropos [0] (
17:49:12 Quit WakiMiko_ (Quit: WakiMiko_)
17:49:33 Join WakiMiko [0] (~WakiMiko@unaffiliated/wakimiko)
17:55:03 Join cmhobbs_ [0] (
17:59:33 Quit cmhobbs_ (Remote host closed the connection)
18:01:33 Join MMlosh [0] (~MMlosh@2001:470:6f:23:24f:63ff:fe01:4900)
18:05:17 Quit MMlosh (Client Quit)
18:11:50 Join MMlosh [0] (~MMlosh@2001:470:6f:23:24f:63ff:fe01:4900)
18:19:29 Quit syon__ (Quit: No Ping reply in 210 seconds.)
18:20:35 Join syon__ [0] (
18:21:52 Join krabador [0] (~krabador@unaffiliated/krabador)
18:27:35 Quit pystar89 (Ping timeout: 240 seconds)
18:29:37 Quit thomasjfox ()
18:43:38 Quit Cinos (Ping timeout: 258 seconds)
18:44:01 Join [Franklin] [0] (~franklin@unaffiliated/franklin)
18:47:05***Saving seen data "./dancer.seen"
18:52:03 Join Cinos [0] (
18:53:54 Join krnlyng [0] (~liar@
19:03:11 Quit Cinos (Ping timeout: 258 seconds)
19:08:32 Nick Mir is now known as Mir_ (
19:08:49 Nick Mir_ is now known as Mir (
19:09:02 Join Cinos [0] (
19:16:21 Quit syon__ (Ping timeout: 240 seconds)
19:17:22 Quit Cinos (Ping timeout: 258 seconds)
19:20:06 Join syon__ [0] (
19:21:21 Quit Misanthropos (Ping timeout: 240 seconds)
19:24:35 Quit syon__ (Ping timeout: 240 seconds)
19:24:57 Join Cinos [0] (
19:31:34 Join webguest16 [0] (
19:36:43 Quit webguest16 (Quit: CGI:IRC)
19:37:18 Join ender1 [0] (
19:39:15 Quit ender` (Ping timeout: 240 seconds)
19:55:58 Quit Provel (Ping timeout: 250 seconds)
19:56:58 Join Provel [0] (
20:00:14 Join saratoga [0] (47e27552@gateway/web/freenode/ip.
20:00:50saratogagevaerts: if usb_enable(false) guaranteed to be called on USB disconnect?
20:01:17saratogai have noticed that my AMSv2 device occasionally gets stuck boosted after USB insert, or at least I think it does
20:02:05saratogaright now I do usb_enable(1) -> cpu_boost(1); and usb_enable(0) -> cpu_boost(0);
20:07:02 Join lorenzo92 [0] (
20:07:45 Join AlexP [0] (~alex@rockbox/staff/AlexP)
20:07:52pamaurylorenzo92: about your remark on USB_SLAVE and USB_STACK, can you elaborate ?
20:08:16pamauryyou mean that either possibilities are possible or that both can apply at the same time ? (with functionfs for example)
20:08:16lorenzo92sure! So, you have mentioned USB mass storage on YPR0
20:09:14pamauryyeah yeah but I mean, you can either use linux gadgets and rockbox cannot do anything (USB_SLAVE) or use gadgetfs and do everything in rockbox (USB_STACK) but would a combination of both make sense ?
20:10:10lorenzo92it does, unless we can 1) access to the raw storage (which is indeed possible, just reading /dev/XXX) 2) let rb to unlock all handles, and unmount FS before
20:10:20pamauryby the way, I have a patch to get rid of USE_ROCKBOX_USB, gevaerts and I are confident it can be removed ( g#1091)
20:10:23fs-bluebotGerrit review #1091 at : Get rid of USE_ROCKBOX_USB by Amaury Pouly
20:10:34lorenzo92huh! nice, let me give a look
20:11:20lorenzo92nice :)
20:11:53lorenzo92more readable indeed
20:11:55pamaurynot sure I understand your answer
20:12:18pamaurythere are more changes to come, I'd like to rework usb with this proposal with USB_NONE/DETECT/SLAVE/STACK
20:13:30pamaurydo you think it applies to the yp-r0 or not ?
20:13:33lorenzo92can you please depict me USB_SLAVE? I interpret it like: "I can sense when USB is connected, but I delegate the USB management to someone else. This "else" is gadgetfs on Linux, or might be a crude hardware controller or such"
20:13:41lorenzo92did I get that correctly?
20:14:49pamauryno, USB_SLAVE means "I can sense USB and I delegate *all* usb management to someone else I cannot control or interact with." So gadgetfs is no SLAVE, because you can control, that's the the point. But linux mass storage gadget is SLAVE
20:15:32lorenzo92ah! Now I got the problem in understanding. And that's my fault again writing *gadgetfs* and not *gadget*(module)
20:16:08pamauryok, in this context, the distinction is important, gadget is SLAVE but gadget*fs* is STACK
20:16:27lorenzo92okay, indeed sorry
20:17:09lorenzo92so the current situation on ypr0 is that linux usb mass storage gadget is only activated in Safe Mode
20:17:18lorenzo92rockbox does nothing
20:17:29pamauryso it would USB_DETECT
20:17:37lorenzo92yep, exactly
20:17:43pamaurymeaning you can sense usb (to charge for example) but nothing else
20:17:49lorenzo92definitely, yes
20:18:26lorenzo92and that's why it would be cool to have USB_STACK via gadgetfs to use hid, mass storage, mtp or whatever
20:18:38[Franklin]foolsh: I'm trying to copy the number input function from superdom and adapt it for unitconv
20:18:41pamauryif you don't mind, I'd like to try and rework usb *before* we do more work on gadgetfs because it will make changes to usb.c
20:18:45lorenzo92regarding mass storage, a way to unmount filesystems and close handles is mandatory
20:18:46gevaertssaratoga: it should, yes
20:18:52[Franklin]it's proving to be a bit of a challenge, actually
20:19:22lorenzo92pamaury: I don't mind of course. It is really needed such refactor, I completely agree
20:19:34pamauryalso I want to take this opportunity to finally make exclusive disk access cleaner
20:19:37lorenzo92all in all it was me that started this discussion :P
20:19:51pamauryyeah our usb stack works but the code is a real mess
20:21:48lorenzo92good opportunity to make it cleaner, indeed
20:22:42lorenzo92I'm wondering now about exclusive access: on a native target of course there is no one that does other mess, but on a Linux target this is not obvious, even if there are no other processes
20:23:43lorenzo92moreover, the unmount may fail (or actually fails, I don't remeber) when rockbox is running
20:24:09lorenzo92perhaps, it would be to copy rockbox executable on tmpfs (/tmp) and the launch it from there
20:24:17lorenzo92me thinks ^^
20:24:21pamauryyeah if that's the case then mass storage is a no-go (and I fear it is anyway) and we should use mtp
20:25:03pamaurylet's leave this to "target implementation details" ;)
20:25:08pamaury(hint: that's your work :p)
20:25:14lorenzo92well, it might make sense to still have it, but on specific targets only, like the "Linux players" like ypr0, ypr1 (and even ypz5!) are
20:25:57lorenzo92pamaury: sure, I can hack it more or less quickly from the launcher script and report if that correctly works, even though i'm sure it does
20:26:52lorenzo92then if we unmount partitions, and read them in a direct access fashion, I don't see problems with mass storage
20:27:18pamaurygevaerts: does it really make sense to have USB_STATUS_BY_EVENT defined in config.h ? it has nothing to do with the usb core
20:27:43pamauryit's a soc properly, for example it belongs to firmware/export/imx233.h
20:28:38lorenzo92Seems reasonable
20:35:34pamaurythe use of USB_{POWERED,INSERTED,EXTRACTED} is devastatingly confusing because there are both events + states and sometimes with different meanings
20:36:59gevaertspamaury: good point
20:37:32 Join pystar89 [0] (
20:43:38pamauryoh my, the code in usb.c is so confusing
20:45:12pamaurygevaerts: out of curiosity, any idea why host detection takes place for USB_TRANSFER_COMPLETION and not for the first setup packet ?
20:46:21gevaertspamaury: is the first setup packet accessible to usb.c?
20:46:52pamauryah you're right
20:47:07gevaertsI think it was good enough and easy to get at
20:47:09***Saving seen data "./dancer.seen"
20:47:16pamauryso that's just a trick to avoid a message from core to usb thread, fair enough
20:47:45gevaertshmm, actually
20:48:18*gevaerts thinks about those cores that do set_address internally and the like
20:48:30gevaertsNo, still good enough
20:48:47pamaurythe first transfer completion is likely for config desc
20:48:55pamaurywhich is not handled internally for sure
20:49:02gevaertsdevice descriptor, no?
20:49:09pamauryyeah sorry
20:49:17gevaertsThat's early enough I think
20:49:32pamauryI'm going to try and move USB_STATUS_BY_EVENT to soc files
20:50:16pamaurydid you see g#1091 ?
20:50:19fs-bluebotGerrit review #1091 at : Get rid of USE_ROCKBOX_USB by Amaury Pouly
20:50:51gevaertsI did give it a +1 :)
20:52:36pamauryah ok ^^
20:58:54pamauryI would need to write a tool to preprocess all headers for all targets, to check for weird cases
21:00:15 Quit pystar89 (Ping timeout: 240 seconds)
21:07:12 Join thomasjfox [0] (~thomasjfo@rockbox/developer/thomasjfox)
21:11:43[Franklin]Anyone want to critique my *AMAZING* UX design?
21:11:51[Franklin](NOTE: sarcasm)
21:12:36pamaurythat's amazingly minimalist ;)
21:13:24*thomasjfox wonders if four ok buttons are enough
21:13:34lorenzo92I would prefer something along the lines "Okay, Rockbox! Do some math for me"
21:13:51pamauryand at the bottom instead of the side
21:13:56pamauryor around the digits
21:14:07pamauryprobably moving like a snake
21:14:37lorenzo92pamaury: +1
21:17:13[Franklin]seriously, though, what should I do about decimals, negatives, and OK?
21:17:25*thomasjfox trys again at setting up a big endian box
21:18:19[Franklin]I think I can set up four useless buttons around the side
21:18:34[Franklin]Cancel, Zero
21:18:42[Franklin](both of which are easy to do)
21:21:33lorenzo92pamaury: another issue I see that prevents umounting on ypr0 is mount −−bind /mnt/media0/.rockbox /.rockbox &&mount −−bind /mnt/media0/Playlists /Playlists
21:21:55pamauryyou could unmount it before running mass storage
21:22:19lorenzo92yes, but also fixing this could be nice (I wonder if it has already been done in some recent patch?)
21:38:07lorenzo92pamaury: okay meanwhile lost in other things, I definitely say that rockbox from /tmp works without much surprise of course (but as always who knows ^^)
21:38:57lorenzo92so this will be a patch I guess, now I check which open handles are related to the process. I guess that most of them are only the /dev/devXX handles
21:48:23[Franklin]lorenzo92: do you want to help me debug the xworld crash on YP-R0?
21:49:32lorenzo92sure, but not really now, of course I'm more than happy to help since I presume that the same symptom is related to the doom plugin
21:50:23[Franklin]I suspect that it might be the user timer
21:50:27[Franklin]does metronome work?
21:50:38lorenzo92hum let me check, afaik it doesn't crash
21:50:59[Franklin]it shouldn't crash, it should just not work
21:52:10lorenzo92(hoho there is even a malformed keymapping in there) actually does not tick! It only ticks the first time
21:52:39[Franklin]which indicates that it doesn't work ;)
21:52:40lorenzo92TODO: metronome, fix keymappings on ypr0
21:52:51lorenzo92exactly ^^
21:58:44lorenzo92pamaury: the only "problematic" handles are the following /.rockbox/fonts/16-DroidSans-Bold.fnt && /.rockbox/fonts/14-DroidSans-Bold.fnt. I expect these to be there also on native targets...
21:59:39pamauryyeah, they are released when exclusive storage is needed, by having all threads acknowledging it before
21:59:49lorenzo92indeed, good
22:00:08lorenzo92apart the −−bind mount, we are good to go with the /tmp trick
22:00:23pamaurybut at the moment exclusive storage assumes disk_* functions and so on, so it will need some adaptation for hosted
22:01:07lorenzo92pamaury: sure, but for these I don't see particular problems, it's more about ifdefs :)
22:01:40pamauryor more function stubs perhaps
22:02:10 Join byteframe [0] (~byteframe@unaffiliated/byteframe)
22:05:13lorenzo92we also need to provide some guidance for paritions devices
22:11:08lorenzo92i'll look at the block api
22:22:07pamaurygevaerts: is there a way to prevent our makefile from generated dependencies ?
22:22:30pamauryI recall something with NODEP or similar
22:25:26gevaertsI don't know
22:26:50pamauryroot.make has a no NODEPS test but I can't make it work
22:46:50pamaurygevaerts: nifty script to find out for each target if a define is defined or not: pamaury/3fa6ff03ecc26387b977">
22:47:12***Saving seen data "./dancer.seen"
22:52:48 Quit einhirn (Quit: Miranda IM! Smaller, Faster, Easier.
22:54:08saratogacould someone familiar with core_alloc take a quick look at
22:54:31saratogathe latest version allocates some of the buffers dynamically which makes sense logically
22:54:36saratogajust not too familiar with how it works
22:55:25[Franklin]"I would not recommend adding random patches to builds if you want them to actually work."
22:55:29 Join einhirn [0] (
23:04:26 Quit [Franklin] (Ping timeout: 255 seconds)
23:04:30saratogawhat are the constraints on core alloc exactly? do you have to check if the buffer was moved? and does it matter if a DSP effect never frees the memory ?
23:05:50saratogabe back latter
23:05:54 Quit saratoga (Quit: Page closed)
23:08:50 Join pystar89 [0] (
23:12:00 Quit bluebrother (Disconnected by services)
23:12:06 Join bluebrother [0] (~dom@rockbox/developer/bluebrother)
23:14:28 Quit fs-bluebot (Ping timeout: 264 seconds)
23:14:55 Join fs-bluebot [0] (
23:19:02 Quit amayer (Quit: Leaving)
23:57:29 Join bertrik [0] (~quassel@rockbox/developer/bertrik)

Previous day | Next day