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-11-04

00:01:10 Quit TheLemonMan (Remote host closed the connection)
00:04:41 Quit petur (Remote host closed the connection)
00:05:36 Quit amayer (Quit: Leaving)
00:09:50 Quit edhelas (Ping timeout: 245 seconds)
00:21:45 Quit wodz (Quit: Leaving)
00:23:04 Join Jose__ [0] (4ffe011d@gateway/web/freenode/ip.
00:26:41Jose__Hi from Germany, I have a question concerning how to shut down a clip+ via a shortcut, as stated in the manual
00:27:13Jose__Does anyone know how to do this? Perhaps through the debug menu?
00:29:03Jose__Perhaps making a shortcut entry with "shutdown" type?
00:35:04 Quit xorly (Ping timeout: 244 seconds)
00:44:05 Quit benedikt93 (Ping timeout: 265 seconds)
00:47:53 Quit ender` (Quit: The difference between something that can go wrong and something that can't go wrong is that, when the thing that can't go wrong goes wrong, it's usually impossible to get at or fix.)
00:50:02 Part Jose__
00:56:32 Join dfkt_ [0] (~dfkt@unaffiliated/dfkt)
00:56:42 Quit dfkt (Disconnected by services)
00:56:57 Nick dfkt_ is now known as dfkt (~dfkt@unaffiliated/dfkt)
01:20:01***Saving seen data "./dancer.seen"
01:25:29 Quit charlie (Ping timeout: 244 seconds)
01:27:07 Quit Aldem (Quit: Leaving)
01:32:52 Join charlie [0] (~c@unaffiliated/charlie)
02:17:29 Quit Provel (Ping timeout: 255 seconds)
02:18:02 Join Provel [0] (
02:44:20 Quit mikroflops (Ping timeout: 250 seconds)
02:46:21 Join mikroflops [0] (~yogurt@
02:56:52 Join cmhobbs [0] (~cmhobbs@fsf/member/cmhobbs)
02:58:19 Join ungali [0] (~ungali@unaffiliated/ungali)
03:00:00 Quit AlexP (Remote host closed the connection)
03:02:27 Quit ungali (Client Quit)
03:20:03***Saving seen data "./dancer.seen"
03:50:04 Join amayer [0] (
03:50:53 Quit amayer (Client Quit)
03:51:02 Join amayer [0] (
04:10:25 Quit amayer (Quit: Leaving)
04:10:43 Join amayer [0] (
04:11:18 Quit amayer (Client Quit)
04:11:36 Join amayer [0] (
04:14:20 Quit amayer (Remote host closed the connection)
04:20:53 Quit prof_wolfff (Ping timeout: 264 seconds)
04:23:16 Join amayer [0] (
04:51:16 Join amiconn_ [0] (amiconn@rockbox/developer/amiconn)
04:51:16 Quit pixelma (Disconnected by services)
04:51:17 Quit amiconn (Disconnected by services)
04:51:18 Join pixelma_ [0] (pixelma@rockbox/staff/pixelma)
04:51:19 Nick amiconn_ is now known as amiconn (amiconn@rockbox/developer/amiconn)
04:51:20 Nick pixelma_ is now known as pixelma (pixelma@rockbox/staff/pixelma)
05:02:51 Join amayer_ [0] (
05:03:24 Quit [7] (Disconnected by services)
05:03:36 Join TheSeven [0] (~quassel@rockbox/developer/TheSeven)
05:04:13 Quit amayer (Quit: Leaving)
05:07:41 Quit shamus (Ping timeout: 255 seconds)
05:09:43 Quit amayer_ (Remote host closed the connection)
05:09:56 Join shamus [0] (
05:16:33 Quit ZincAlloy1 (Quit: Leaving.)
05:17:52 Quit mc2739 (Ping timeout: 240 seconds)
05:18:16 Join Aldem [0] (~Aldem@unaffiliated/aldem)
05:18:47 Join mc2739 [0] (~mc2739@rockbox/developer/mc2739)
05:20:06***Saving seen data "./dancer.seen"
05:52:15 Quit Strife89 (Ping timeout: 272 seconds)
06:06:49 Join foolsh [0] (
06:24:31 Quit foolzzzzzz (Remote host closed the connection)
07:20:10***Saving seen data "./dancer.seen"
07:31:44 Quit dfkt (Read error: Connection reset by peer)
07:33:16 Join dfkt [0] (dfkt@unaffiliated/dfkt)
07:34:16 Quit Aldem (Quit: Leaving)
07:56:26 Join xorly [0] (
08:08:48 Join pamaury [0] (~quassel@rockbox/developer/pamaury)
08:18:56 Quit xorly (Ping timeout: 258 seconds)
08:26:11 Join ender` [0] (
08:33:39 Join kugel [0] (~kugel@rockbox/developer/kugel)
08:36:07 Join wodz [0] (
08:47:03 Quit pamaury (Ping timeout: 250 seconds)
08:54:25 Quit Provel (Quit: Provel)
09:01:49wodzpamaury: (log) Rom dumping with descriptor generally works. You cannot get more then 4096 from device in one query but looping this 16 times gives perfectly ok dump as hwstub has static ptr advanced on every query.
09:05:36wodzby query I mean hwstub_read_rom(g_hwdev, buffer, len)
09:10:55 Join foo|sh [0] (
09:17:47 Join petur [0] (5bb7304d@rockbox/developer/petur)
09:20:14***Saving seen data "./dancer.seen"
09:21:47 Join Provel [0] (
09:22:43 Join dys [0] (
09:28:54 Join pamaury [0] (
09:28:54 Quit pamaury (Changing host)
09:28:54 Join pamaury [0] (~quassel@rockbox/developer/pamaury)
09:29:12pamaurywodz: what was the issue with caching ?
09:29:19pamaurydoes that improve hwstub ?
09:29:45 Join benedikt93 [0] (~benedikt9@unaffiliated/benedikt93)
09:30:04 Quit benedikt93 (Client Quit)
09:30:21wodzpamaury: The issue was sum of small glitches but the most fundamental IMO was that I enabled cached access before initializing caches.
09:30:36wodzpamaury: I am just right now trying hwstub
09:37:01 Join einhirn [0] (
09:38:31 Join edhelas [0] (~edhelas@
09:46:23pamaurywodz: did you try the rom dumping code I sent you ?
09:51:05wodzpamaury: yes, see logs
09:51:10pamauryah it works, I missed this line of the log
09:51:33wodzthe only trick is that you cannot ask more then 4096 bytes at once
09:52:05 Quit dys (Ping timeout: 264 seconds)
09:52:24wodzpamaury: If you could try this on your e100 we could compare dumps (if successful)
09:52:36pamaurysure, I'll try it tonight
09:52:49pamauryhaving a rom dump would be very useful
09:52:54pamauryI should do the same on the rknano
09:53:28pamauryI'm not sure I understand the 4096 though
09:53:52pamauryI do not recall that usb control transfers are limited to 4096
09:53:59pamauryor perhaps this is a host limitation
09:54:01wodzif you call hwstub_read_rom(g_hwdev, buffer, len) with len > 4096 you will get garbage
09:54:12pamauryoh, so you get data ?
09:54:32pamauryperhaps the buffer on the device is limited to 4096 ?
09:55:08pamauryor maybe the code is slightly broken and pushes too much on the fifo, thus destroying the data
09:55:46pamauryno that doesn't make any sense
09:55:58pamauryit's already limited to max packet size which is 4096...
09:56:20wodzif it is fifo overrun we should see data drop not garbage
09:56:36pamauryyeah exactly
09:57:19wodzok, gtg
09:57:23 Quit wodz (Quit: Leaving)
10:19:23 Join scorche [0] (
10:19:37 Quit scorche (Changing host)
10:19:37 Join scorche [0] (~scorche@rockbox/administrator/scorche)
10:22:03 Quit scorche` (Ping timeout: 272 seconds)
11:13:21yurikspamaury: is that USB driver thing moving at all or are people just busy?
11:20:18***Saving seen data "./dancer.seen"
11:20:21 Join krabador [0] (~krabador_@unaffiliated/krabador)
11:27:24 Quit krnlyng (Ping timeout: 255 seconds)
11:31:21 Join krnlyng [0] (~liar@
12:02:26 Quit kugel (Read error: Connection reset by peer)
12:02:36 Join kugel [0] (~kugel@rockbox/developer/kugel)
12:56:50 Quit PaulFertser (Ping timeout: 265 seconds)
13:20:20***Saving seen data "./dancer.seen"
13:20:59pamauryyuriks: which usb driver N
13:24:43 Join TheLemonMan [0] (~lemonboy@unaffiliated/thelemonman)
13:34:06 Join krabador_ [0] (
13:34:48 Quit krabador_ (Client Quit)
13:35:52 Quit krabador (Ping timeout: 264 seconds)
13:36:40 Join krabador [0] (~krabador_@unaffiliated/krabador)
13:40:33 Join chrisb [0] (
13:47:41 Quit krabador (Quit: Take the time.)
13:51:39 Join krabador [0] (~krabador@unaffiliated/krabador)
13:53:37 Join AlexP [0] (~alex@rockbox/staff/AlexP)
13:54:39pamaurywodz (logs): could you upload the gerrit task with the cache fixes ?
14:02:21 Quit chrisb (Ping timeout: 240 seconds)
14:25:06 Join prof_wolfff [0] (
14:29:26 Quit foo|sh (Quit: Quit)
14:31:34 Join foolzzzz [0] (
14:46:23 Quit K1773R (Ping timeout: 255 seconds)
14:52:01 Join K1773R [0] (~K1773R@unaffiliated/k1773r)
14:54:11 Join wodz [0] (
14:55:18wodzpamaury: I quickly integrated my changes with hwstub and it completely stopped working so I did something wrong most probably. I'm gonna look at this when I have some spare time
15:07:02 Join stemalt [0] (5e095ee9@gateway/web/freenode/ip.
15:08:35stemalthi guys, i just tried to play a long (11 hr) FLAC file on my Clip+, i got a "divide by zero" error and now it won't turn back on
15:09:10stemaltoh wait now it will
15:09:11stemaltthanks guys
15:09:15 Quit stemalt (Client Quit)
15:19:02 Quit wodz (Quit: Leaving)
15:20:22***Saving seen data "./dancer.seen"
15:20:57 Quit cmhobbs (Ping timeout: 250 seconds)
15:29:20 Join Strife89 [0] (
15:35:37 Quit Strife89 (Ping timeout: 244 seconds)
15:50:39 Quit petur (Ping timeout: 246 seconds)
15:51:21 Join amayer [0] (
16:06:04 Join JdGordon_ [0] (
16:08:07 Quit JdGordon (Ping timeout: 258 seconds)
16:32:43 Quit amayer (Quit: Leaving)
16:35:15 Join Strife89 [0] (
16:46:06 Quit Strife89 (Ping timeout: 245 seconds)
16:52:08 Join xorly [0] (
17:00:54 Join amayer [0] (
17:20:24***Saving seen data "./dancer.seen"
17:32:52 Join ZincAlloy [0] (
17:35:43 Quit kugel (Ping timeout: 260 seconds)
17:41:25 Join JdGordon [0] (
17:42:25 Quit JdGordon_ (Ping timeout: 258 seconds)
17:48:31 Join rela [0] (~x@pdpc/supporter/active/rela)
17:55:34 Quit xorly (Ping timeout: 250 seconds)
18:00:17 Quit edhelas (Ping timeout: 244 seconds)
18:06:25 Quit pamaury (Remote host closed the connection)
18:11:57 Join xorly [0] (
18:16:40 Join amayer_ [0] (
18:17:26 Join PaulFertser [0] (
18:18:32 Quit einhirn (Quit: Miranda IM! Smaller, Faster, Easier.
18:22:10 Join JdGordon_ [0] (
18:24:17 Quit JdGordon (Ping timeout: 264 seconds)
18:34:28 Quit foolsh (Remote host closed the connection)
18:34:49 Join edhelas [0] (
18:42:50 Join bertrik [0] (~quassel@rockbox/developer/bertrik)
18:47:41 Join pamaury [0] (~quassel@rockbox/developer/pamaury)
18:49:41 Quit bluebrother (Disconnected by services)
18:49:46 Join bluebrother^ [0] (~dom@rockbox/developer/bluebrother)
18:52:33 Quit fs-bluebot (Ping timeout: 265 seconds)
18:57:50 Join JdGordon [0] (
18:58:58 Join fs-bluebot [0] (
19:00:38 Quit JdGordon_ (Ping timeout: 245 seconds)
19:02:32 Quit JdGordon (Ping timeout: 258 seconds)
19:02:51 Join JdGordon [0] (
19:03:14pamaurywodz (logs): I have some free time tonight, if you have some fixed hwstub code, feel free to send it to me
19:11:00 Join y4n [0] (~y4n@unaffiliated/y4ndexx)
19:20:27***Saving seen data "./dancer.seen"
19:23:21 Join lebellium [0] (
19:35:57 Quit rela (Read error: Connection reset by peer)
20:30:40 Quit krabador (Quit: Sto andando via)
20:34:22 Join krabador [0] (~krabador@unaffiliated/krabador)
20:45:42copper → Digital Audio Veteran Peter Eastty Joins Apple as Director of SoC Audio Processing - Mac Rumors | Original URL:
20:48:08 Join petur [0] (~petur@rockbox/developer/petur)
20:51:37 Join Aldem [0] (~Aldem@unaffiliated/aldem)
21:20:30***Saving seen data "./dancer.seen"
21:24:25 Join wodz [0] (
21:30:48wodzpamaury: ping
21:32:33pamaurywodz: ^
21:33:20wodzpamaury: I discovered very peculiar thing. atj hwstub correctly read memory with read8()
21:35:55pamauryhum, it was not the case when I tried it iirc
21:38:08pamaurybut 16-bit transfers or more are broken ?
21:38:18wodzpamaury: btw. my change to crt0.S
21:38:37wodzdidn't check 16bit but 32 is broken definitely
21:38:47pamaurycould you update the gerrit task ?
21:39:23wodzread16() is broken
21:40:00wodzpamaury: I have tons of temp stuff in tree :/
21:40:10pamauryok don't worry
21:40:31pamauryit's a good opportunity to dump the iriver e100 rom then
21:41:40pamaurywodz: can I use the 0x80000000 DRAM address with the cache fixes ?
21:43:43wodzyes BUT if you upload only s1 binary dram controller is in unknown state
21:44:12wodztry 94040000 thats cached iram
21:45:53pamaurywhat is the rom address again ?
21:46:54wodzpamaury: updated gerrit task with only relevant changes hopefully
21:48:13wodzpamaury: at least on e150 there is string 'Actos@Actions' at offset 0x20 of rom
21:48:45wodzpamaury: I believe first instruction should be branch or jump
21:51:55pamauryhow large is it supposed to be ?
21:52:20wodz64kB I believe takes some time in lua
21:54:40wodzoh, I thought you used tweaked descriptor thing which dump instant
21:55:15pamauryI get the "Actos" string btw
21:57:12pamaurythis is weird, on read16 or read32, the lower byte is always correct
21:59:08 Quit y4n (Quit: coob ov vood?)
22:00:02wodzpamaury: Your rom is slightly different then mine. Many chunks are the same however.
22:00:56wodzpamaury: Do you want my rom & disasm or you prefer to stay away from MIPS asm?
22:01:25pamauryI don't mind having a copy it, though I feel better away from MIPS asm ^^
22:04:04pamauryI have a theory to test: replace the memcpy(usb_buffer, (void *)last_addr, req->wLength) by memset(usb_buffer, *(uint8_t *)last_assr, req->wLength)
22:05:44wodzpamaury: where?
22:06:01pamauryin main.c
22:06:17pamauryto just read the first byte and send many copies of it, see if the corruption is still there
22:07:19pamauryindeed corruption is still there
22:10:20pamaurydid you notice that only odd bytes are corrupted ?
22:10:39pamauryc=DEV.read32(0xbfc00020); print(string.format("%x %c",c,c))
22:10:39pamaurya0741b41 A
22:11:05pamauryit should read 6f746341
22:11:34wodzwhat the hell, this doesn't make any sense
22:12:02pamauryyeah, this is crazy
22:14:08pamauryyep, and that's incredibly consistent:
22:14:08pamauryc=DEV.read32(0xa0000000); print(string.format("%x %c",c,c))
22:14:08DBUGEnqueued KICK pamaury
22:14:08pamauryc=DEV.read32(0xa0000001); print(string.format("%x %c",c,c))
22:14:08pamaurya0411b60 `
22:14:08***Alert Mode level 1
22:14:08pamauryactual value is 41746000
22:16:51pamauryI think it might happen for descriptors, let me check
22:17:13wodzthat is what I was about to ask
22:17:56wodzat least string descriptors are correct
22:18:15wodzand I was able to correctly dump rom with descriptor patch
22:18:15pamauryyeah but some are wrong
22:18:54pamauryit seems a bit random, my lang descriptor has wrong bDescriptorType: is is 1b (notice: same value as above)
22:19:16pamauryit appears that one transfer out of two is corrupted
22:19:36pamauryyeah exactly, that's incredible
22:19:50wodzat least consistent :-)
22:19:59pamauryI hesitate to say amazing, but that's it
22:20:19pamaurythis raises serious questions about the sanity of this controller :)
22:21:52pamauryhum, maybe not, this is strange
22:22:51pamaurydoes the "HWStub" string is corrupted too for you ?
22:23:01pamauryuse lsusb -v -d fee1:dead
22:23:09pamaurylast character is wrong
22:24:02wodzwhat you mean?
22:24:09***Alert Mode OFF
22:24:47pamauryit shows "HWStuᥢ"
22:27:16pamauryI'm going to try and use a different, I'm still using 0xa0000000 which is bad perhaps ?
22:27:40wodzits uncached dram
22:29:15wodzok, small explanation: phys address of dram is 0x00000000, phys address of iram is 0x14040000. Now to obtain cached address you | 0x80000000, to obtain uncached address you | 0xa0000000
22:29:39pamaurynow I notice something strange when linking at 94040000:
22:29:54pamauryc=DEV.read32(0xbfc00020); print(string.format("%x %c",c,c))
22:29:55pamaury744041 A
22:29:55pamaury> c=DEV.read32(0xbfc00020); print(string.format("%x %c",c,c))
22:29:55pamaury6f740441 A
22:29:55pamaury> c=DEV.read32(0xbfc00020); print(string.format("%x %c",c,c))
22:29:55***Alert Mode level 1
22:29:55pamaury6f740441 A
22:30:39pamauryfirst read is wrong, two others are consistent but wrong on the second byte
22:32:32wodzI tried compiling with -O0 to exclude compiler doing something strange but the outcome is the same
22:32:58pamaurymaybe the fifo should be read byte by byte ?
22:33:13pamaurycould memcpy be buggy ?
22:33:37wodzmemcpy was copied from rb but who knows
22:35:47wodzTo be 100% precise ep0 doesn't use fifos in and out have dedicated 0x40 sized buffers. But you may be right that access should be byte based. Ep fifos can be accessed in words but ep0 buffers I don't know
22:37:00wodzpamaury: ralink sources use byte access
22:37:04pamaurylet me try
22:39:56***Alert Mode OFF
22:42:55pamaurynow I just notice something extremely odd
22:43:09pamaurywhich probably explains the whole thing
22:43:20pamaurythe ralink driver uses usb_read to read a byte
22:43:26pamaurybut it actually reads a dword
22:44:57wodzyou are right
22:50:55pamauryI think this is worse than I expected
22:52:08wodzcould you elaborate?
22:52:17pamauryjust look at this:
22:52:17pamaury#define EP0INDAT (0x100)
22:52:30pamaury... usb_write(EP0INDAT + 1, ...); ...
22:52:42pamaurystatic __inline__ void usb_write(u32 addr, u32 value) { iowrite32(value, (void __iomem *)(USB_BASE + (addr << 2)) ); }
22:53:00pamaurywhy is addr shifted ?
22:54:31wodzlet me check what ADEC_63.BIN does
22:55:40pamauryit doesn't make any sense
22:56:59pamauryit would mean that all register addresses are wrong
22:59:19wodzpamaury: ADEC_63.BIN uses word access.
22:59:30 Quit xorly (Ping timeout: 272 seconds)
23:00:38pamauryand what about the adresses ?
23:01:14pamaurydoes it write byte 0 at OTG_BASE + 0x100 as a 32-bit write, and then byte 1 at OTG_BASE + 0x101 again with 32-bit write ?
23:02:05 Join Strife89 [0] (
23:02:16 Quit petur (Quit: Leaving)
23:02:19wodzno it writes at OTG_BASE + 0x100 word then 0x104 and so on
23:03:50pamauryso memcpy should write if it does word accesses
23:04:43pamauryhaha, rewriting the code with word accesses by hand seems to work :)
23:04:45wodzpamaury: it may not if copied size is not multiple of 4
23:05:21pamauryI'll upload the code
23:06:43pamaurycould you add support for several PIDs in adfuload if you have time ?
23:07:54wodzI have it on my computer at work. I'll upload tomorrow.
23:14:00pamaurywodz: should I keep 0x80000000 as load address or can I change it to 0x94040000 on gerrit too ?
23:15:11wodzas you wish, 94040000 is safer I'd say
23:15:46pamauryenjoy ;)
23:18:34wodzpamaury: technically your change is incorrect - DRAM_ORIG is 0x80000000. IRAM_ORIG should be changed to 0x94040000 and .lds changed accordingly but this is minor detail to be sorted out when committing.
23:18:57pamauryah yeah you're right, but I was too lazy to fix .lds file :p
23:19:12pamauryI was just too happy to commit the working thing
23:20:24 Quit Scall (Ping timeout: 272 seconds)
23:20:34***Saving seen data "./dancer.seen"
23:20:47wodzI see potential problem. You need to upround the size to perform word access but this means you may overflow the buffer
23:22:15 Quit ZincAlloy (Quit: Leaving.)
23:22:31pamauryah yeah, but all usb access must go through usb_buffer so this should not be a problem
23:22:50pamaurybut you get a point that's this is suboptimal
23:23:05 Quit lycide (Ping timeout: 264 seconds)
23:24:04pamaurydo you want me to rewrite it ?
23:24:29wodzif you feel like doing so
23:24:34 Join lycide [0] (~kvieta@
23:27:08 Quit lebellium (Quit: ChatZilla 0.9.91 [Firefox 34.0/20141030172027])
23:28:22 Join Scall [0] (~chat@unaffiliated/scall)
23:28:37pamaurywodz: do you think that reading the register 4 times is ok (one for each byte) ? the code would be simpler
23:29:05wodzin hwstub, sure
23:29:55pamaurymips is little endian ?
23:31:50wodzit can be both but this one is LE
23:31:59 Quit edhelas (Ping timeout: 244 seconds)
23:32:18pamauryI'm not sure it's useful to fix usb_copy_to
23:32:22pamaurysince reading is fine
23:32:25pamaury*reading more
23:34:32 Quit amayer_ (Quit: Leaving)
23:37:18wodzanyway, great progress!
23:38:32pamaurysee gerrit
23:38:44pamauryyeah, that's definitely a good step forward
23:41:45wodzlooks good
23:44:45pamauryI'm going to bed, I should have left two hours but I really wanted to fix this ^^
23:46:15 Join franklin [0] (
23:46:36 Quit amayer (Remote host closed the connection)
23:49:35 Nick franklin is now known as [Franklin] (
23:50:35 Quit pamaury (Ping timeout: 244 seconds)

Previous day | Next day