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 2012-12-06

00:01:04saratogathe classic is neither stable nor unstable, its unusable at the moment
00:01:12saratogawe'll call it unstable once we have a bootloader
00:02:19 Quit Gallomimia (Quit: I am likely going to change locations)
00:03:56***Saving seen data "./dancer.seen"
00:04:40webguest93hey guys hold off on this )) its just the words game. so its easy to mix up for foreigner. sorry if i offend someone. gevaerts, thanks about cows place :)
00:06:32AlexPwebguest93: You didn't offend anyone, and nor was it my intention to offend. I was just trying to make sure we were on the same page and not expecting things that weren't the case
00:06:58webguest93thanks Alex. appreciate it
00:07:00webguest93saratoga, any word when bootloader is planned to be out?
00:07:27AlexPnobody is working on it at the moment as far a sI know
00:07:29saratogawhen someone writes one
00:07:57webguest93alex what about freemyipod guys?
00:08:23AlexPThey aren't us
00:08:49AlexPIt'd be nice to have our own, and one that isn't necessarily as full featured as emcore
00:09:02webguest93i know. but still they doing great job. and there is no updates for a year them on this
00:09:03AlexPWell, the main freemyipod guy is a Rockbox developer too
00:09:46 Quit kevku (Quit: KVIrc 4.3.1 Aria
00:10:50 Join Topy44 [0] (
00:11:05saratogayeah they're some of us
00:11:17 Quit ender (Quit: With sufficient thrust, pigs fly just fine. However, this is not necessarily a good idea. It is hard to be sure where they are going to land, and it could be dangerous sitting under them as they fly overhead. -- RFC1925)
00:12:19webguest93this is grt
00:29:14 Quit dfkt (Quit: -= SysReset 2.55=- Sic gorgiamus allos subjectatos nunc.)
00:33:18 Quit yuriks (Ping timeout: 260 seconds)
00:37:35 Join Ward [0] (
00:37:42 Quit einhirn (Quit: Miranda IM! Smaller, Faster, Easier.
00:37:59 Nick Ward is now known as Guest56546 (
00:38:06 Quit Wardo (Ping timeout: 246 seconds)
00:42:08 Part speckmade
00:48:31 Quit bertrik (Ping timeout: 244 seconds)
00:53:16 Quit webguest93 (Quit: CGI:IRC (Ping timeout))
00:55:03nosa-jhey would you guys have any recomendations for a sansa fuze theme for rockbox? trying to find one thats pretty bright with low brightness settings and i don't really use album artwork so thats not really a big deal
00:55:44nosa-ji'd like to find one that will display the title and track info at the bottem wile browseing though the menu
00:56:42[Saint]this is why we have an extensive user controllable theme engine :)
00:57:03nosa-jah well i supose its not that difficult then
00:57:15nosa-ja cupple hours max to get started good?
00:57:50nosa-ji supose ill make plans to find one XD
00:58:03[Saint]Depends how you learn, give the themeing section in the manual a read and see how you feel about it.
00:58:10nosa-jguess ill get by with what i have untill then
00:58:32nosa-ji thank you
01:08:54 Quit dan_a (Ping timeout: 246 seconds)
01:26:59 Quit pamaury (Ping timeout: 260 seconds)
01:34:34 Join yuriks [0] (~yuriks@opentyrian/developer/yuriks)
01:48:13 Quit Jack87 (Ping timeout: 240 seconds)
01:52:32 Join Jack87 [0] (Jack87@nasadmin/admin/jack87)
02:03:09 Quit yuriks (Ping timeout: 260 seconds)
02:03:59***Saving seen data "./dancer.seen"
02:07:29 Join Gallomimia [0] (
02:08:01 Quit XavierGr (Ping timeout: 245 seconds)
02:16:10 Quit Guest56546 (Read error: Connection reset by peer)
02:22:16 Join ytong95 [0] (
02:22:39ytong95is it possible to play DFF file in rockbox???
02:25:59 Quit SuperBrainAK (Ping timeout: 264 seconds)
02:29:00 Quit ytong95 (Quit: CGI:IRC (EOF))
02:29:49 Join kam [0] (
02:34:45 Quit kam (Quit: CGI:IRC (Ping timeout))
02:38:26 Join kam [0] (
02:38:48 Join eckoit [0] (
02:42:04 Part eckoit
02:43:23 Quit kam (Quit: CGI:IRC (Ping timeout))
02:44:16 Join kam [0] (
02:47:58kambeen using rockbox for a couple of years now. it's great. thanks to all the folks involved...
02:48:55kami have a accessibility improvement suggestion: cut/copy the .talk files so they follow the .mp3 to the destination
02:49:42kamthat way they will be spoken in the new location rather than turning into "file 1"
02:52:24[Saint]You're talking about when you cut/copy/paste a file from within Rockbox?
02:52:45[Saint]...that may actually be a sane check to make.
02:53:42[Saint]But I think its generally expected that you use a PC to move files around, and in that case can re-run the utility.
03:00:57 Quit Topy44 (Quit: KVIrc 4.2.0 Equilibrium
03:04:12kamyes, using the cut/copy/paste features in rockbox
03:08:59kammaybe "delete" should be added to the list, but it's a very minor annoyance to have extra unused .talk files left behind
03:11:45[Saint]As I said, I think its expected that one should use the utility to clean up/recover from this, but the checks to do this when moving at file within Rockbox manually should be incredibly trivial to make, and it is a sane thing to do.
03:12:29[Saint], the interesting part is, that doesn't necessarily mean it'll happen. As someone needs to actually do the work, but this may inspire someone, or even yourself :)
03:14:01 Join Topy44 [0] (
03:18:34kamI'm probably not the best candidate for messing with the Rockbox code but I suppose it would be interesting to dig into it a bit. But, don't let this stop an interested expert from implementing the change.
03:19:54 Quit Rower85 (Quit: Hmmm...)
03:30:47kamI need to leave but I'll check the IRC log later to see if there's any further discussion on this. Thanks for listening (and the suggestions)
03:31:38 Part kam
03:59:04 Join amayer [0] (~alex@
04:01:17 Quit [Saint] (Remote host closed the connection)
04:04:00***Saving seen data "./dancer.seen"
04:10:45 Join [Saint] [0] (~quassel@rockbox/user/saint)
04:12:30 Join amiconn_ [0] (amiconn@rockbox/developer/amiconn)
04:12:30 Join pixelma_ [0] (pixelma@rockbox/staff/pixelma)
04:12:30 Quit amiconn (Disconnected by services)
04:12:30 Quit pixelma (Disconnected by services)
04:12:32 Nick amiconn_ is now known as amiconn (amiconn@rockbox/developer/amiconn)
04:17:18 Quit shamus (Read error: Connection reset by peer)
04:18:11 Join shamus [0] (
04:28:03 Quit shamus (Quit: chaos reigns within reflect repent and reboot order shall return)
04:29:32 Join shamus [0] (
04:37:17 Join TheSphinX_ [0] (
04:37:53 Join SuperBrainAK [0] (
04:39:19 Quit [Saint] (Remote host closed the connection)
04:40:41 Quit TheSphinX^ (Ping timeout: 244 seconds)
04:48:53 Quit GodEater (Ping timeout: 240 seconds)
04:56:12 Join GodEater [0] (~bibble@2a01:348:6:2c6::2)
04:56:12 Quit GodEater (Changing host)
04:56:12 Join GodEater [0] (~bibble@rockbox/staff/GodEater)
05:13:33 Join eckoit [0] (~ryan@
05:16:12 Quit the-kyle (Ping timeout: 246 seconds)
05:18:28 Quit Gallomimia (Read error: Connection reset by peer)
05:20:25 Join Gallomimia [0] (
05:26:57 Quit TheSeven (Disconnected by services)
05:27:08 Join [7] [0] (~quassel@rockbox/developer/TheSeven)
05:35:14 Join the-kyle [0] (
05:37:24 Quit Gallomimia (Ping timeout: 252 seconds)
05:48:04 Join yuriks [0] (~yuriks@opentyrian/developer/yuriks)
05:51:43 Join Gallomimia [0] (
05:54:10 Quit prof_wolfff (Ping timeout: 255 seconds)
06:01:18 Quit Gallomimia (Read error: Connection reset by peer)
06:01:36 Join Gallomimia_ [0] (
06:03:15 Join dongs [0] (
06:03:21dongsdoes rockbox have voice activated recording stuff
06:03:22 Quit SuperBrainAK (Quit: pbly going to sleep /_\)
06:03:49 Quit froggyman (Ping timeout: 256 seconds)
06:04:03***Saving seen data "./dancer.seen"
06:07:23 Join Topy44|2 [0] (
06:09:13 Quit Gallomimia_ (Read error: Connection reset by peer)
06:10:00 Join Gallomimia [0] (
06:10:31 Quit Topy44 (Ping timeout: 252 seconds)
06:11:22dongsanyone know? lol
06:11:43 Quit nosa-j (Ping timeout: 255 seconds)
06:13:16dongshm looks like its got some convoluted trigger system
06:13:18dongswithout preview
06:13:42 Quit Gallomimia (Read error: No route to host)
06:14:25 Join nosa-j [0] (~m00k@
06:19:21 Join Gallomimia [0] (
06:52:15 Join Scr0mple [0] (~Simon@
06:54:31 Quit Scromple (Ping timeout: 252 seconds)
06:56:26 Part eckoit
07:05:27 Nick pixelma_ is now known as pixelma (pixelma@rockbox/staff/pixelma)
07:11:54amayerdo i have to run make every time i change a line of code when compiling a binary for my ipod?
07:11:56amayeror do i just run that once then run "make zip" to create the binary?
07:12:29 Quit perrikwp_ (Read error: Connection reset by peer)
07:13:52 Join perrikwp [0] (
07:15:21JdGordonamayer: err, make zip might work, but its safer to do make && make zip
07:16:41amayerJdGordon: thanks
07:26:48 Part amayer
07:26:53 Join akaWolf [0] (~akaWolf@unaffiliated/akawolf)
07:44:49 Quit Scr0mple (Quit: Leaving)
08:04:06***Saving seen data "./dancer.seen"
08:05:35 Quit ps-auxw (Ping timeout: 264 seconds)
08:10:39 Quit yuriks (Ping timeout: 260 seconds)
08:12:02 Join kevku [0] (x@2001:470:28:773::3)
08:15:53 Join ps-auxw [0] (
08:30:57 Join ender1 [0] (
08:31:51 Quit funman (Ping timeout: 246 seconds)
08:32:41 Join Zagor [0] (
08:32:42 Quit Zagor (Changing host)
08:32:42 Join Zagor [242] (~bjst@rockbox/developer/Zagor)
08:34:21 Join funman [0] (~fun@rockbox/developer/funman)
08:37:45 Join wodz [0] (
08:42:18 Join yuriks [0] (~yuriks@opentyrian/developer/yuriks)
08:46:02wodzpamury: (log) <- Here it is clear that one faked packet is not handled by usb stack. It looks like one event is lost somehow.
08:48:53wodzand the last line is kinda strange
08:57:08 Join funman_ [0] (~fun@rockbox/developer/funman)
09:00:44 Join bertrik [0] (~quassel@rockbox/developer/bertrik)
09:00:52 Quit funman (Ping timeout: 265 seconds)
09:02:31 Join einhirn [0] (~Miranda@2001:638:605:4:99fe:a96a:893:b2b5)
09:04:39 Join melmothX [0] (~melmoth@unaffiliated/melmothx)
09:07:54 Join petur [0] (~petur@rockbox/developer/petur)
09:08:40 Quit bertrik (Read error: Operation timed out)
09:08:47 Join LinusN [0] (
09:17:35 Quit wodz (Ping timeout: 264 seconds)
09:19:33 Quit LjL (*.net *.split)
09:19:33 Quit uwe_mobile (*.net *.split)
09:19:41 Join uwe_mobile [0] (
09:20:01 Join LjL [0] (~ljl@unaffiliated/ljl)
09:21:15 Quit einhirn (Ping timeout: 245 seconds)
09:27:08 Quit melmothX (Quit: bau)
09:41:05 Quit freqmod (Ping timeout: 276 seconds)
09:42:12 Join freqmod [0] (
09:51:31 Quit linuxguy4 (Ping timeout: 248 seconds)
09:53:13 Join linuxguy3 [0] (
10:00:11 Quit kevku (Ping timeout: 264 seconds)
10:04:09***Saving seen data "./dancer.seen"
10:05:46 Join pamaury [0] (~quassel@rockbox/developer/pamaury)
10:18:38 Join bebna [0] (~a.fasold@
10:19:05 Join wodz [0] (
10:19:22 Part bebna
10:20:08 Quit solarcloud (Ping timeout: 265 seconds)
10:27:00 Quit KiwiCam (Remote host closed the connection)
10:40:27 Quit pamaury (Ping timeout: 246 seconds)
10:41:04 Join kevku [0] (x@2a01:d0:ffff:34a::2)
10:44:30 Join bebna [0] (~a.fasold@
10:51:16 Join Rower85 [0] (
10:52:51 Quit jhMikeS (Ping timeout: 252 seconds)
11:02:14 Join webguest99 [0] (
11:07:39 Quit webguest99 (Quit: CGI:IRC (Ping timeout))
11:15:11 Join [Saint] [0] (~quassel@rockbox/user/saint)
11:16:59 Join pamaury [0] (~quassel@rockbox/developer/pamaury)
11:22:16wodzpamaury: look up the logs
11:22:25 Part dongs
11:23:06pamaurywodz: strange indeed
11:25:48pamaurywodz: could you add logf in the whole path of the packet ? That is it usb_thread() (case USB_TRANSFER_COMPLETION) and usb_signal_transfer_completion() ? I can't see how it can disappear this way
11:26:55pamaurythe only suspicious queue operation here is in usb_status_event()
11:28:05wodzpamaury: ok but not today probably.
11:28:22pamauryok no problem. If I have time I'll try. Is your code on gerrit ?
11:29:58kugelpamaury: did you see the existing ypr0tools directory?
11:30:06kugelcan samsungtools be merged with it?
11:30:10pamauryyes, no
11:30:33 Quit [Saint] (Ping timeout: 240 seconds)
11:30:37pamauryafaict, the only "common" tool is MuonEncrypt which only does the actual encrypt/decrypt without handling the headers
11:30:39kugelwhy not?
11:30:50pamauryand for which there is no source code
11:31:08kugelthe ypr0 rom is a plain cramfs rootfs image
11:31:42kugelthe tool you've written can replace MuonEncrypt
11:32:22pamaurynot exactly because MuonEncrypt doesn't look for headers, all samsung upgrades have a small header before the data
11:33:58kugelpamaury: oh right. there's also a shell script which handles the headers
11:34:04kugelin ypr0tools I mena
11:34:43pamauryyeah, that's what I kind of understood looking at it. I thought that it would be nicer to have a tool that handles everything and which is not ypr0 specific
11:34:57kugelI agree with that
11:35:09pamauryperhaps we should somehow merge the directories or something
11:35:21kugelespecially to eventually enable rbutil support
11:35:34kugelpamaury: that's what I just asked for :)
11:36:01kugelthe ypr0 could use your tools instead of the scripts in ypr0tools
11:36:22pamauryif you can do that then you could move the ypr0tools dir in the samsungtool dir ?
11:37:15pamauryI don't know how general samsungtool is. I suspect it handles all the "yepp" (yp) players.
11:38:20pamauryIs the samsungtool missing some feature currently or can you rewrite all the .sh scripts with it ?
11:38:30*pamaury thinks it misses the archive creation
11:38:31kugelI haven't looked at it yet
11:40:10kugelypr0tools has the cramfs-tools sources included to create the rootfs. the rest is, iirc, just attaching the md5sums and concatenating the images
11:41:03pamauryOk, then I think I will enhance the samsungtool so that it can create an image (and not only extract it) and then I'll let you rewrite the scripts since you understand them better than I
11:42:02 Quit Rower85 (Quit: Hmmm...)
11:43:00 Join Rower85 [0] (
11:44:01 Quit Rower85 (Client Quit)
11:44:29 Join webguest03 [0] (
11:45:26 Quit webguest03 (Client Quit)
11:48:39 Join Rower85 [0] (
11:49:39 Quit Rower85 (Client Quit)
11:49:50 Join [Saint] [0] (~quassel@rockbox/user/saint)
11:50:25 Join XavierGr [0] (XavierGr@rockbox/staff/XavierGr)
11:55:06 Quit [Saint] (Read error: Connection reset by peer)
11:55:19 Join Rower85 [0] (
12:02:14wodzpamaury: No, the code is not on gerrit. It is basically last version I pastebined with udc_tick_task() registered in connect interrupt + logf() tweaks.
12:02:41pamaurycould you pastebin it please ? in case I have time to look at it
12:04:12***Saving seen data "./dancer.seen"
12:08:14 Join einhirn [0] (
12:15:11 Join solarcloud [0] (~solarclou@
12:19:40 Join Topy44 [0] (
12:19:45wodzpamaury: + tick_add_task(udc_tick_task) at the end of usb connect interrupt handler + logf() tweaks
12:20:05pamaurykugel: done, there are now two tools: fwdecrypt to extract and fwcrypt to create
12:20:12pamaurywodz: thanks
12:22:59 Quit Topy44|2 (Ping timeout: 248 seconds)
12:31:57 Join bluebrother [0] (~dom@rockbox/developer/bluebrother)
12:34:04kugelpamaury: that writes a single "subimages"?
12:34:11kugelthe ypr0 has 4 of those
12:34:38 Quit bluebrother^ (Ping timeout: 260 seconds)
12:35:13 Quit fs-bluebot (Ping timeout: 240 seconds)
12:36:56 Join fs-bluebot [0] (
12:40:24 Nick Belzebub_ is now known as Belzebub (~torrentow@
13:03:30 Quit markun (Remote host closed the connection)
13:09:00 Quit petur (Quit: *plop*)
13:14:17pamaurykugel: the archive format is a header plus an encrypted blob, the format of the blob is not specified
13:14:42pamaurybut if you want to be able to "glue" things together I can add some support for that
13:16:35pamauryexcept if the r0 has a different format of course
13:18:36pamaurylet me check with a R0 rom file. For now I checked the Q2, T10, Z5 and another one
13:20:38pamaurywow, it has a completely different header
13:27:07kugelpamaury: really? what's different?
13:44:10 Join melmothX [0] (~melmoth@unaffiliated/melmothx)
13:52:54 Join WalkGood [0] (~4@unaffiliated/walkgood)
14:04:14***Saving seen data "./dancer.seen"
14:05:22pamaurykugel: everything except the encryption method, the R0 has a text header and support several subfiles whereas the others have a binary header with only one file
14:06:07pamaurysee the yp-q2 for example:
14:08:49kugelpamaury: ah, ok
14:09:09pamauryactually I find the format of the R0 quite stupid
14:11:49 Join amayer_ [0] (
14:16:02 Join prof_wolfff [0] (
14:42:05kugelpamaury: that's unfortunate, I hoped we could use your tools to simplify rbutil enablement (the shell scripts suck in this regard)
14:45:49pamauryI guess I could add specific support for the r0 in the tool if really want i
15:07:21 Quit Elfish (Ping timeout: 246 seconds)
15:07:57 Quit XavierGr (Read error: Connection reset by peer)
15:13:32 Join XavierGr [0] (XavierGr@rockbox/staff/XavierGr)
15:15:24 Join Elfish [0] (amba@2a01:4f8:100:90a1:abc:abc:abc:abc)
15:17:09 Quit zoktar (Ping timeout: 260 seconds)
15:23:17 Quit kevku (Quit: KVIrc 4.3.1 Aria
15:26:02 Join zoktar [0] (~zoktar@unaffiliated/zoktar)
15:28:21 Join dfkt [0] (dfkt@unaffiliated/dfkt)
15:31:07 Join solarcloud-3scre [0] (~solarclou@
15:38:21 Quit solarcloud-3scre (Quit: Leaving)
15:41:03 Join solarcloud_3scre [0] (~solarclou@
15:55:33 Quit wodz (Quit: Leaving)
16:04:16***Saving seen data "./dancer.seen"
16:15:00 Join y4n [0] (~y4n@unaffiliated/y4ndexx)
16:18:42 Join pretty_function [0] (~sigBART@
16:19:38 Join eckoit [0] (~ryan@
16:41:26 Nick funman_ is now known as funman (~fun@rockbox/developer/funman)
16:48:01 Join kevku [0] (x@2001:470:28:773::3)
17:04:32user890104is there any USB OTG code in rockbox, and if there isn't - are there any plans/ideas to support it at some point?
17:05:47pamauryuser890104: no, there could be some interest, I am myself very interested in usb but we don't have so many players with otg support. For example the clip+ controller could support otg (don't know if the hardware does) but we already have problem for the device driver part !
17:06:13pamaurydo you have any pratical application for it ?
17:08:07amiconnHost mode/ otg is nice e.g. if you're on a longer trip and want to backup photos from your camera
17:08:13user890104pamaury: mass storage transfer, from/to usb sticks or cameras
17:08:48pamaurymore generally your question is related to usb host because supporting usb otg implies support usb host which we don't. I have one device which has a usb host port so at some point I might have a look at it but that's very speculative.
17:09:11user890104so basicly my question is about otg+msc
17:09:35*amiconn used this once with his H340 (in OF, where copying multiple files but *not* the whole folder is really cumbersome - you have to copy each file individually)
17:09:43user890104i have an ipod classic, which supports otg iirc
17:10:45amiconnThere are several devices rockbox is running on which support host mode in hardware. Some of the host controllers don't have public datasheets, unfortunately
17:10:50*user890104 uses his sony xperia go phone to transfer music from/to his ipod
17:11:06amiconnE.g. the H300 one does have public documentation, the one in the X5 doesn't
17:12:43pamauryI think the two most promissing controllers for otg are the one of the as3525 (amsv2=clip+,clipzip) and the usb arc (many devices actually but not all otg) because we have some documentation
17:13:16user890104so if there's complete otg support one day on a target, the usb otg stack can be reused and we only need a low-level driver to support it on other targets, right?
17:13:55Tornethere is another problem which is that even devices that have a controller that does host/otg may not actually be wired up right
17:13:57pamauryif there otg support, we can reuse our stack for the device/slave part but we need to implement the host/master part
17:14:03Tornethis is where you get a lot of weird adapters and shit involved :)
17:14:18Torneobviously if their original firmware actually uses/supports host mode then it should be wired right
17:14:24Torne(but, er, sadly it's not guaranteed)
17:14:33Torne(sometimes you need device-specific cables for it) :/
17:14:38pamauryyeah, I'm quite afraid a lot of them are not wired properly
17:14:54Torneyou need the software controlled pullups on the data lines and all that
17:15:07Torneand for "real" OTG where it's negotiated between the two you need the fifth line wired right too
17:15:39Tornethough most devics don't bother doing that and just have some way toa ctivate host mode in the UI instead#
17:16:23pamauryin any case, the first step is to support host mode on device which have a real host adapter
17:16:29user890104my xperia cable has the fifth pin connected to GND
17:16:49user890104this should be "real" OTG
17:16:54Tornepamaury: yah, that saves messing about with the actual otg spec weirdness that most devices don't do right anwyay
17:17:14pamauryright, and that's already quite a bunch of code to write
17:19:06Torneuser890104: that's the right kind of cable, yes, but not all devices actaully have the hardware to tell whether the ID pin is grounded or not :)
17:22:23user890104Torne: well, a developer who wants to test it, can solder some wires
17:22:43user890104unless the chip package makes it impossible to do that at home
17:22:45Torneit's not always about soldering wires
17:22:57Torneyou need to be able to pull the data lines up on the host PHY end
17:23:11Torneand if the device doesn't have the facility to do that you are probably screwed.
17:23:21user890104ah, i see
17:23:22Torneanyway. yes, it's possible for some devices
17:23:34Torneanything where it already works in the OF is obviously possible
17:23:45TorneOther than that we don't really know because it's a pain to determine whether it works without testing :p
17:25:07user890104there should be an easy way to test it, right? for example setting the proper usb registers and using a logic analyzer to see if the expected signal is being sent?
17:25:43user890104or at least if there's 5.0V provided on the power pins
17:26:00Torneyou have an interesting definition of easy
17:26:05Torneit's not about the power pins, it's about the data pins
17:26:22Torneso yes, you would need to write at least enough code to be able to get the controller into the right mode
17:26:30amiconnHaving to use weird adapters is not a big problem imo. The N900 requires that too (because host mode isn't supported officially)
17:26:32Tornewhcih we don't have
17:26:32user890104i mean without writing all of the communication code, just initializing otg mode
17:26:49Torneright, but it's still not something that someone can just do right now
17:27:23user890104i mean in general, if there's a datasheet available
17:27:52user890104for example, if i have a datasheet for my ipod classic's usb controller, i can attempt that
17:30:23user890104chaning some memory-mapped USB and PMU registers shouldn't be that hard
17:32:05user890104btw: i also have a nano2g, nano3g and nano4g
17:32:33pamaurywell, you would surprized by how usb can be painful even if you think you have the documentation, but surely you can try if you know how to program.
17:33:59user890104i have written some simple lcd/sensor/stepper/ethernet drivers in C, so i'm interested in writing usb drivers
17:42:14 Quit Zagor (Quit: Clint excited)
17:53:09 Quit einhirn (Quit: Miranda IM! Smaller, Faster, Easier.
17:54:03 Quit pretty_function (Remote host closed the connection)
17:56:53 Quit Unhelpful (Ping timeout: 240 seconds)
18:00:22 Join Unhelpful [0] (~quassel@rockbox/developer/Unhelpful)
18:04:19***Saving seen data "./dancer.seen"
18:07:30 Quit shamus (Read error: Connection reset by peer)
18:07:51 Join shamus [0] (
18:20:32 Join wodz [0] (
18:25:22 Join Robin0800 [0] (
18:27:21wodzpamaury: could you write once again where you'd like to have logf()?
18:27:45pamaury could you add logf in the whole path of the packet ? That is it usb_thread() (case USB_TRANSFER_COMPLETION) and usb_signal_transfer_completion() ? I can't see how it can disappear this way
18:28:25pamauryI'll be home in one hour (perhaps a bit more) and should have time to look at this issue finally
18:29:50wodz(maybe) I'll have in something like 2h from now. Maybe we will be able to do joint effort
18:31:07 Quit Gallomimia (Read error: Connection reset by peer)
18:31:28 Join Gallomimia [0] (
18:32:39 Join n1s [0] (
18:32:39 Quit n1s (Changing host)
18:32:39 Join n1s [0] (~n1s@rockbox/developer/n1s)
18:46:35 Join bertrik [0] (~quassel@rockbox/developer/bertrik)
18:58:14 Quit n1s (Read error: Connection timed out)
18:58:40 Join qshdulh [0] (
18:58:42 Nick scorche` is now known as scorche (~scorche@rockbox/administrator/scorche)
18:59:01qshdulhis someone here ?
19:01:39saratogatheres almost 100 people here
19:01:41 Quit qshdulh (Client Quit)
19:07:02 Join froggyman [0] (~me@unaffiliated/froggyman)
19:15:34 Join einhirn [0] (
19:15:59 Quit einhirn (Client Quit)
19:16:10 Join einhirn [0] (
19:16:45 Quit Gallomimia (Read error: Connection reset by peer)
19:17:15 Join Gallomimia [0] (
19:17:27 Join KiwiCam [0] (~quassel@
19:19:23 Quit Robin0800 (Read error: Connection reset by peer)
19:20:38 Quit WalkGood (Quit: restart)
19:22:26 Join WalkGood [0] (~4@unaffiliated/walkgood)
19:22:28 Quit WalkGood (Client Quit)
19:22:54 Join WalkGood [0] (
19:22:54 Quit WalkGood (Changing host)
19:22:54 Join WalkGood [0] (~4@unaffiliated/walkgood)
19:37:58 Join n1s [0] (
19:38:01 Quit n1s (Changing host)
19:38:01 Join n1s [0] (~n1s@rockbox/developer/n1s)
19:45:29 Quit zoktar (Quit: -)
19:48:06 Join zoktar [0] (~zoktar@unaffiliated/zoktar)
19:49:02 Quit hype (Quit: ["Textual IRC Client:"])
19:49:48 Quit froggyman (Ping timeout: 255 seconds)
20:04:20***Saving seen data "./dancer.seen"
20:05:00 Join froggyman [0] (~me@unaffiliated/froggyman)
20:08:46 Quit saratoga (Ping timeout: 245 seconds)
20:09:29 Quit pamaury (Read error: Operation timed out)
20:09:51 Quit yuriks (Ping timeout: 256 seconds)
20:11:50wodzpamaury: (log) the code which produce such log is on gerrit
20:15:41 Join Wardo [0] (
20:19:37 Join SuperBrainAK [0] (
20:21:06 Quit shamus (Ping timeout: 255 seconds)
20:22:24 Join shamus [0] (
20:28:06 Quit WalkGood (Quit: ♪ ♫ ♪ ♫ ♪ ♫ ♪)
20:29:46wodzpamaury: forcing return at the end of 'set address poll' in udc_tick_task() so SET ADDRESS and SET CONFIGURATION faked packets are not passed in the same tick helps a bit. In dmesg I have [472383.610595] usb 1-1.1: config 1 has no interfaces? though.
20:35:21 Quit thegeek (Ping timeout: 250 seconds)
20:41:58 Join saratoga [0] (123e0c9c@gateway/web/freenode/ip.
20:44:09 Join thegeek [0] (
20:45:46 Join pamaury [0] (
20:45:46 Quit pamaury (Changing host)
20:45:46 Join pamaury [0] (~quassel@rockbox/developer/pamaury)
20:46:03 Quit akaWolf (Ping timeout: 255 seconds)
20:52:47wodzpamaury: ping
20:59:23pamaurywodz: pong
20:59:26pamauryfree time \o/
20:59:36pamaurybertrik: I've got the zen x-fi3, thanks !
21:01:20wodzpamaury: see logs
21:02:01wodzI have no idea why two posts to usb_queue in row give such strange effect
21:02:58wodzAnd don't understand why I still get 'no interfaces'.
21:03:19pamauryok, let me check, I have a theory
21:14:54pamaurywodz: I found out !
21:14:59pamaurythis is pretty stupid actually
21:15:12pamauryin usb_core_control_request: it uses a static completion event per endpoint
21:15:30pamauryso if you send two setup packets, the second one will overwrite the first :-/
21:17:45wodzhaha, this kills the idea of queues :-)
21:17:54pamauryexactly !
21:18:20pamauryso actually that's a more general problem: for you to send fake packets, you would need to be able to "lock" the stack because the set config or set addr can actually overwrite a legitimate setup !
21:20:12wodzcan we do all this in another way and make usb stack aware that SET ADDRESS and SET CONFIGURATION are all handled by hardware?
21:20:15pamauryso unfortunately, I can think of only solution to cleanly handle this: have the usbstack explicitely support this kind of quirks by having, say, usb_core_notify_set_addr() and usb_core_notify_set_config()
21:20:25pamauryyes that's what I mean
21:20:41 Quit sakax (Ping timeout: 260 seconds)
21:21:49pamauryPerhaps something like #define USB_SETUP_QUIRKS or similar which is define for the rk27xx
21:23:04wodzanyway, current behavior is IMO design flaw
21:23:32pamauryyeah, I admit this is really unexpected
21:24:06pamauryalthough in a way this is surprizing because you can't get a new wetup before you finished the previous one
21:24:14pamaurysame thing for usb transfers if you don't queue them
21:25:14pamauryanyway, you've done a great job here, this is frustrating to loose so much time on this stupid issue
21:25:41wodzmaybe thats the reason of strange timing dependency in our usb?
21:26:28pamaurymight be, I'm actually trying to think about cases where such an issue could happen
21:26:39pamauryit is clear that such design can only cause pain and havoc
21:27:03pamaurygevaerts: ping
21:29:03wodzok, I think I'll wait until you sort things out
21:29:49gevaertspamaury: pong
21:31:19pamauryyou used to know the usbstack pretty well, we've encountered an interesting issue here in usb_core_control_request: it uses a static array for completion events, which means that if you notify, say, a setup transfer and then another one, the second will simply erase the first. Same thing for any kind of transfer completion. Do you know why it was designed this way ? Shouldn't we change this ? This seems like a dangerous design
21:32:04gevaertsIn which cases can you get a second setup transfer before you handled the previous one?
21:32:21 Join sakax [0] (
21:35:44pamauryIn a normal situation, never. But we encountered this issue because the rk2xx handles some request in pure hardware and we send "fake" packets to the stack to notify thing such as set address and set config. But who knows ?!
21:36:43gevaertsThe hardware things should probably be handled directly somehow, i.e. without fake packets
21:36:48 Part eckoit
21:36:48pamauryIt also makes makes the use of a "queue" rather pointless
21:37:45gevaertsWhich queue do you mean?
21:39:05gevaerts'm not sure I see the problem, really
21:39:29gevaertsWe can't handle more than one *setup* request simultaneously, because that's not what USB does
21:40:19gevaertsAnd as far as I can see we *can* handle more than one non-control transfer at the same time
21:41:01pamaurythe current code can handle one event on each endpoint
21:43:07 Quit wodz (Quit: Leaving)
21:44:35pamauryI know that in theory this can't happen but I'm susipicous about such a design.
21:44:41pamauryDon't bother.
21:45:57gevaertsIf it does happen, the only sensible thing to do is to stall or something like that
21:50:16gevaertsIf the hardware wants to deal with some specific requests itself, the best thing to do is to support *that* directly, not to try to fake packets in a racy way and then complicate the rest of the code to work around the artificial race conditions
21:50:57pamauryI know, it's just that I wasn't aware of this design until now
21:54:05gevaertsI'd say we move everything apart from usb_drv_send() out of the USB_REQ_SET_ADDRESS and USB_REQ_SET_CONFIGURATION cases (or are there more?) in request_handler_device() to their own functions, and then if needed the driver can call them directly
21:54:47gevaertsI assume you can get *some* indication from the hardware that it has handled those requests?
21:55:54pamauryyes, it's awkward but we can do it, wodz manage to get something working
21:56:35pamauryand of course the usbstack must not usb_drv_send/recv on such cases because the transaction is already done
21:57:16pamauryI don't understand why they designed the hardware in such a way
21:57:26gevaertsYes, that's why the usb_drv_send() stays inside request_handler_device(), so it only gets done if we actually see the SET_ADDRESS or SET_CONFIGURATION
21:57:43gevaertsDo you get an interrupt, or is this polling?
21:59:13gevaertsBecause if you detect those things asynchronously from the rest of usb_core, you might get a GET_DESCRIPTOR before you've set up everything
22:01:19gevaertsMaybe we need to check for those "invisible" requests whenever a control request we *do* see comes in, so we don't get them out of order
22:01:36gevaertsBesides the polling, I mean. You still need that
22:01:56 Quit shamus (Ping timeout: 255 seconds)
22:02:21 Join shamus [0] (
22:02:57 Part LinusN
22:03:25 Quit pamaury (Remote host closed the connection)
22:03:38*gevaerts thinks that if the hardware insists on doing this sort of thing itself, it should use interrupts...
22:04:22***Saving seen data "./dancer.seen"
22:14:03 Join yuriks [0] (~yuriks@opentyrian/developer/yuriks)
22:15:54 Quit soap (Quit: soap)
22:27:44 Join pamaury [0] (
22:27:44 Quit pamaury (Changing host)
22:27:44 Join pamaury [0] (~quassel@rockbox/developer/pamaury)
22:29:03pamaurywe handle this (well I hope wodz did) by checking if a flag modification happened when handling a new setup.
22:45:58 Quit shamus (Quit: chaos reigns within reflect repent and reboot order shall return)
22:46:48 Quit einhirn (Ping timeout: 260 seconds)
22:53:12 Quit melmothX (Quit: bau)
22:59:53 Quit Wardo (Ping timeout: 240 seconds)
23:00:48 Join shamus [0] (
23:15:21 Join soap [0] (
23:15:21 Quit soap (Changing host)
23:15:21 Join soap [0] (~soap@rockbox/staff/soap)
23:15:23 Quit amayer_ (Ping timeout: 246 seconds)
23:15:28 Quit Gallomimia (Ping timeout: 244 seconds)
23:30:10 Quit n1s (Quit: Ex-Chat)
23:47:41 Quit kevku (Ping timeout: 260 seconds)
23:48:59 Join Scromple [0] (~Simon@
23:58:08 Join OthnielGraichen [0] (

Previous day | Next day