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 2016-02-22

00:13:07 Quit petur (Quit: Leaving)
00:13:12 Join dfkt [0] (~dfkt@unaffiliated/dfkt)
00:19:31 Quit girafe2 (Read error: Connection reset by peer)
00:28:52 Join FSanches [0] (~felipe@2804:14c:37:268b:51bb:76ec:3560:f11)
00:44:24 Nick suYin is now known as suYin`OFF (
01:12:42 Quit ender` (Quit: Man created gods. The opposite remains to be proved. -- Serge Gainsbourg)
01:26:34***Saving seen data "./dancer.seen"
02:07:27 Quit TheSeven (Ping timeout: 240 seconds)
02:17:12 Join TheSeven [0] (~quassel@rockbox/developer/TheSeven)
02:30:39 Quit Mihail (Quit: Page closed)
03:07:41 Join ZincAlloy1 [0] (
03:10:09 Quit ZincAlloy (Ping timeout: 248 seconds)
03:26:36***Saving seen data "./dancer.seen"
04:08:22 Quit FSanches (Quit: Leaving.)
04:38:25 Join ZincAlloy [0] (
04:38:25 Quit ZincAlloy1 (Read error: Connection reset by peer)
04:52:24 Join rela [0] (~x@pdpc/supporter/active/rela)
05:12:08 Quit ZincAlloy (Quit: Leaving.)
05:17:38 Quit TheSeven (Ping timeout: 250 seconds)
05:18:54 Join TheSeven [0] (~quassel@rockbox/developer/TheSeven)
05:26:39***Saving seen data "./dancer.seen"
05:47:50 Join ineedhelp [0] (ad43982f@gateway/web/freenode/ip.
05:50:42ineedhelpi need help installing rockbox onto a sansa clip+
05:52:19ineedhelpit is a BOP issued mp3 player but the firmware has been successfully wiped. I am having trouble flashing a functional firmware to the device
06:14:10ineedhelpi need help installing rockbox onto a sansa clip+
06:14:26ineedhelpit is a BOP issued mp3 player but the firmware has been successfully wiped. I am having trouble flashing a functional firmware to the device
06:14:31 Join PurlingNayuki1 [0] (~Thunderbi@
06:15:42 Quit PurlingNayuki (Ping timeout: 255 seconds)
06:15:43 Nick PurlingNayuki1 is now known as PurlingNayuki (~Thunderbi@
06:27:20 Quit sparetire (Quit: sparetire)
06:42:20 Join JdGordon_ [0] (~jonno@rockbox/developer/JdGordon)
06:44:30 Quit JdGordon (Ping timeout: 255 seconds)
06:54:35 Quit JanC (Ping timeout: 276 seconds)
07:08:03 Join JanC [0] (~janc@lugwv/member/JanC)
07:26:42***Saving seen data "./dancer.seen"
07:42:27 Quit ineedhelp (Ping timeout: 252 seconds)
07:43:25 Quit amiconn (Remote host closed the connection)
07:43:25 Quit pixelma (Read error: Connection reset by peer)
07:44:03 Join pixelma [0] (~pixelma@rockbox/staff/pixelma)
07:44:04 Join amiconn [0] (~amiconn@rockbox/developer/amiconn)
07:47:13 Join Saratoga [0] (629b59ee@gateway/web/freenode/ip.
07:49:46Saratogaineedhelp: I don't think much is know about those devices
07:50:07SaratogaIf you can get the stock firmware installed you can then flash rockbox
07:50:33SaratogaBut from what I understand the locked down stock firmware doesn't accept updates
08:14:10 Quit scorche` (Ping timeout: 248 seconds)
08:19:07 Quit Saratoga (Ping timeout: 252 seconds)
08:22:17 Join ender` [0] (
08:39:15 Join bertrik [0] (~quassel@rockbox/developer/bertrik)
08:50:31 Join einhirn [0] (
09:04:02 Quit dfkt (Read error: Connection reset by peer)
09:12:24 Quit bertrik (Ping timeout: 252 seconds)
09:22:47 Join petur [0] (~petur@rockbox/developer/petur)
09:23:30 Join scorche [0] (~scorche@rockbox/administrator/scorche)
09:26:46***Saving seen data "./dancer.seen"
09:49:44 Join edhelas [0] (
10:34:07 Quit krnlyng (Quit: huiiiiii)
10:34:51 Join krnlyng [0] (~liar@
10:39:24 Quit krnlyng (Ping timeout: 255 seconds)
10:40:59 Join wodz [0] (
10:45:03 Join dfkt [0] (~dfkt@unaffiliated/dfkt)
10:52:48 Join krnlyng [0] (
10:53:32 Quit krnlyng (Remote host closed the connection)
10:57:25 Join krnlyng [0] (~liar@
11:10:35 Quit krnlyng (Ping timeout: 244 seconds)
11:26:48***Saving seen data "./dancer.seen"
11:29:14 Join krnlyng [0] (
12:39:36 Quit Elfish_ (Ping timeout: 240 seconds)
12:39:52 Join pamaury [0] (
12:39:52 Quit pamaury (Changing host)
12:39:52 Join pamaury [0] (amauly@rockbox/developer/pamaury)
12:40:49 Quit mwfc (Ping timeout: 240 seconds)
12:40:49 Quit igitoor (Ping timeout: 240 seconds)
12:42:38 Join mwfc [0] (
12:43:05 Join igitoor [0] (igitur@2a00:d880:3:1::c1ca:a648)
12:45:52 Quit igitoor (Changing host)
12:45:52 Join igitoor [0] (igitur@unaffiliated/contempt)
12:49:13 Join Elfish [0] (amba@2001:1608:12:1:13:3:3:7)
12:51:42pamauryMihail (logs): RE backtrace: you have two options: 1) give the address to a script in utils/analysis/ (iirc) but that's a pain
12:52:05pamauryor 2) use g#208
12:52:06fs-bluebot_Gerrit review #208 at : unwinder: use -mpoke-function-name to retrieve symbol names when unwinding by Amaury Pouly
12:52:23pamauryI haven't used it in some time but it should work
12:57:10wodzusually I simply search for address returned in backtrace in objdump -d on rockbox.elf
12:57:36 Join ineedhelp [0] (ad43982f@gateway/web/freenode/ip.
12:58:32 Quit krnlyng (Ping timeout: 240 seconds)
13:00:20wodzpamaury: quick question - for IN endpoint ZLP is sent in 2 situations a) length of data payload is actually 0 b) length of data payload % max_packet_size == 0, right?
13:00:41pamauryfor EP0 you mean ?
13:00:58wodzpamaury: and for other EPs?
13:02:26pamauryfor other EPs there is no rule, it depends on the high-level protocol, usually the rule for bulk is: if you have a transfer of N bytes but the device wants to send M<N bytes and M$max_pkt_size == 0 then send ZLP (the reasoning is the same as for EP0: give the host a short packet to understand transfer is done)
13:04:12pamauryBefore though: I think for EP0 there is an exception, you don't send ZLP if data_payload is a multiple of MPS but you send exactly the amount of data request by the host
13:04:22pamaurylet me check
13:04:29pamauryOne day I should write a book on USB
13:06:03pamauryYes I think I'm right because the spec says:
13:06:13 Quit ineedhelp (Ping timeout: 252 seconds)
13:06:16pamauryThe Data stage of a control transfer from an endpoint to the host is complete when the endpoint does one of
13:06:16pamaurythe following:
13:06:23pamaury1) Has transferred exactly the amount of data specified during the Setup stage
13:06:30pamaury2) Transfers a packet with a payload size less than wMaxPacketSize or transfers a zero-length packet
13:10:06wodzpamaury: I am looking at usb drv for atj in hwstub and I don't get then ZLP handling
13:11:06pamaurylet me see
13:11:23 Join krnlyng [0] (~liar@
13:11:30pamaurydoes it work ? did I write it ?
13:12:12wodzIt does work and yes ZLP part was added by you
13:12:16pamaurydo you have a specific question or is it in general ?
13:13:29CtcpIgnored 6 channel CTCP requests in 6 hours and 44 minutes at the last flood
13:13:29*pamaury notes that our stack probably doesn't follow the spec exactly and sends unecessary ZLPs
13:14:36wodzpamaury: OTG_EP0CS = 2; clears NAK bit. So I'd expect this is needed for ZLP exactly - to send 0 transfer you clear NAK bit. But this sets this as well when payload in exactly multiple of MPS
13:18:10 Quit dfkt (Read error: Connection reset by peer)
13:18:14pamaurythis is not quite correct but it's safe I would say: you send a ZLP even if length is a multiple of MPS so that if the transfer is short (ie less that asked by the host) it's correct and if it's not short, the host will not even bother to check EP0 status anyway
13:19:02pamaurywe have the same problem in our stack: for EP0 we probably send ZLP unconditionally like this
13:21:29pamaurydoes that clarity the situation ?
13:22:20wodzpamaury: so in theory this condition should be if (length == 0) { OTG_EP0CS = 2; } if I understand correctly
13:23:46pamauryfor example, say the host asks for a description and ask for 200 bytes. Now assume the descriptor is 128 bytes and MPS is 64. Then you should 2 packets of 64 bytes and a ZLP
13:24:38pamaurybecause otherwise the host cannot make the difference between 'I received 128 bytes and I will receive more' and 'I received 128 bytes and that's all' => the ZLP says to the host that it's finished
13:25:14pamauryBut if the host had ask for 128 bytes exactly, in theory you should not send the ZLP because once the host received 128 bytes, it knows it's done
13:26:10 Nick suYin`OFF is now known as suYin (
13:26:16wodzshouldn't higher level handle zlp in the first case? I mean the stack knows from setup packet that host expects 200 and knows the descriptor is shorter
13:26:51***Saving seen data "./dancer.seen"
13:29:12pamauryyes to be more correct we should have a special function for EP0 to tell the stack wether or not to send a ZLP or not
13:31:09wodzpamaury: What about hwstub? Does usb stack take care of ZLP if descriptor is shorter then requested by the host?
13:31:48pamauryno, it relies on the safe behaviour I described: send a ZLP when length is a multiple of MPS
13:32:22wodzok. Thats the bit which confused me!
13:32:44pamauryit's basically the same stack for rockbox and hwstub, just simplified a bit
13:35:03wodzI mean thats why I didn't understand zlp - I assumed the first scenario is handled in upper layer
13:37:39pamauryno it's not, our stack is really too simple, one day we should rewrite it
13:38:57wodzThat deserves big fat warning in sources then.
13:39:15wodzpamaury: Any progress with X1?
13:40:54pamauryI'm almost done reverse engineering the ROM (at least for USB), now I'm convinced I should port hwstub to ingenic
13:41:55pamauryI discovered a few annoying things which I have to check, like the fact that the 12MHz crystal does not need to be 12MHz but actually supports 4 other frequencies and everything is derived from it
13:42:43pamauryAlso I'm really thinking about renaming all the registers
13:43:15pamaurybecause only Ingenic can produce two registers named CPSR ans CPPSR which are completely unrelated
13:43:52pamauryI will look at mDDR init, there is some public code for it but again it's nightmarish and use undocumented features
13:44:18pamauryI also want to dump the miniboot in NAND (the stub loading the main binary) to extract the proper values for mDDR and see what it does exactly
13:53:20wodzyes, dram init parameters are problematic
13:55:53 Quit petur (Ping timeout: 250 seconds)
14:02:33 Join dfkt [0] (~dfkt@unaffiliated/dfkt)
14:05:07pamaurywodz: also I discovered something strange/annoying in the boot rom: after uploading stage1 and running it, it is my understanding that the ROM basically performes a soft-reset and will thus reinit the cache, so you cannot reliably store any data in the cache and then read it, which is a pain, unless i manage to use TCSM or SRAM
14:10:21 Quit thum (Remote host closed the connection)
14:10:42wodzpamaury: what you mean by soft-reset?
14:10:55wodzpamaury: jump to some init function in rom?
14:10:59 Join petur [0] (~petur@rockbox/developer/petur)
14:19:19 Join Mihail [0] (25d495e1@gateway/web/freenode/ip.
14:20:43Mihailpamaury, wodz: thanks! objdump -d rockbox.elf enough for me :)
14:43:14 Join thum [0] (
14:44:14 Quit thum (Client Quit)
14:50:38 Quit petur (Ping timeout: 252 seconds)
14:51:23 Join petur [0] (~petur@rockbox/developer/petur)
15:02:43 Quit JanC (Ping timeout: 276 seconds)
15:03:35pamaurywodz: it jumps back to the start function and does init from start
15:07:25 Nick suYin is now known as suYin`OFF (
15:07:26 Join thum [0] (
15:07:27 Quit thum (Client Quit)
15:07:43 Join thum [0] (
15:11:50wodzpamaury: If the rom doesn't use stack it is hand written most probably. Quite intriguing. As a side note ATJ has hand crafted parts as well.
15:12:07pamauryyeah it was clearly written by hand I would say
15:12:35pamauryunless it uses something like romgcc in coreboot but I'm not sure it's the case
15:15:58 Join JanC [0] (~janc@lugwv/member/JanC)
15:21:13wodzpamaury: romcc is not pointed to MIPS AFAIK
15:21:45pamauryyes I know, I just mean that it is possible that the code was produced by such a 'compiler'
15:22:12pamaurybecause the code is still hard to follow for a human
15:25:16wodzATJ code is hand written (I have .S in some materials downloaded from atj ftp when it was possible) and there are parts hard to follow :-)
15:26:17pamauryhaha :)
15:26:53***Saving seen data "./dancer.seen"
15:28:50 Join amayer [0] (
15:32:55wodzpamaury: This may be interesting for you
15:33:38pamaurywodz: interesting, thanks
15:34:32wodzingenic is probably the closest to 24k with the exception that AFAIK it still implements mips32r1
15:37:23pamauryby the way it's not entirely clear what release xburst is based on: is it mips32r1 or mips32r2 ?
15:37:31 Part edhelas
15:37:43 Join edhelas [0] (
15:39:39wodzpamaury: clearly 4740 was r1, I think 4760 is r1 as well but without tests I can't guarantee
15:40:11pamauryI'll try to dump some CP0 registers to gather information
15:41:46wodzthats uneasy without stack
15:42:16wodzor memory to be more precise
15:42:59pamauryyes I know but I'll find a way
15:43:05pamaurymaybe with TCSM
15:49:48wodzpamaury: How hard would be to extend hwstub to test bulk EPs?
15:50:37pamauryquite easy, I mean as long as the driver implement its. What kind of test would you like ?
15:50:56 Join ZincAlloy [0] (
15:50:58pamaurywe could implement a set addr/set len + bulk in/out interface like ingenic
15:53:46wodzpamaury: Basically I have working ep0 with irqs. Now I want to move on and implement other eps. But doing this all at once in rockbox means that I will need to debug low level based on MSC and wireshark. Thats troublesome.
15:54:31pamaurysure, well tonight I can have a try at adding a bulk interface to hwstub
16:07:25 Quit einhirn (Quit: Miranda IM! Smaller, Faster, Easier.
16:10:22Mihailwhat mean "Data abort at XXXXXXXX" ?
16:12:01wodzMihail: unaligned access or access to block which has clock gated most probably
16:13:08MihailI have it in format() for %lu, what can I do?
16:14:17wodzsorry I can't understand your statement
16:15:57Mihailaddress point to function "format" in point where it parse %lu - line "ulval = va_arg(ap, unsigned long);"
16:23:20wodzMihail: In data abort there is also FSR, domain and fault which should give some more clue
16:24:27MihailFSR=0x8, domain=0, fault=8
16:25:57Mihailaddress = 0xDEADBEAF
16:28:29wodzdeadbeef is used to prime stack. So this looks like dereference of stack overfowed buffer
16:33:17Mihaildump format (compiled with -g3 -O3), stop at 0x30063f54
16:33:33Mihail*-O0 :)
16:36:34wodzas I said that pretty much looks like stack corruption
16:38:42 Quit wodz (Quit: Leaving)
16:43:03 Join sparetire [0] (~sparetire@unaffiliated/sparetire)
16:55:02 Quit ZincAlloy (Quit: Leaving.)
17:04:55 Quit pamaury (Remote host closed the connection)
17:25:26 Quit PurlingNayuki (Quit: PurlingNayuki)
17:25:46 Quit Mihail (Quit: Page closed)
17:26:55***Saving seen data "./dancer.seen"
17:38:25 Join ZincAlloy [0] (
17:39:53 Quit petur (Quit: *plop*)
18:06:40 Quit edhelas (Ping timeout: 276 seconds)
18:12:11 Quit sparetire (Ping timeout: 244 seconds)
18:12:32 Quit sparetire_ (Ping timeout: 240 seconds)
18:13:04 Join sparetire [0] (~sparetire@unaffiliated/sparetire)
18:13:23 Join sparetire_ [0] (~sparetire@unaffiliated/sparetire)
18:30:33 Quit sparetire_ (Ping timeout: 255 seconds)
18:30:37 Quit sparetire (Ping timeout: 250 seconds)
18:34:01 Join sparetire [0] (~sparetire@unaffiliated/sparetire)
18:34:04 Join sparetire_ [0] (~sparetire@unaffiliated/sparetire)
18:36:54 Join pamaury [0] (~quassel@rockbox/developer/pamaury)
18:49:41 Join bluebrother [0] (~dom@rockbox/developer/bluebrother)
18:49:53 Join fs-bluebot [0] (
18:52:43 Quit bluebrother^ (Ping timeout: 250 seconds)
18:52:49 Quit fs-bluebot_ (Ping timeout: 276 seconds)
19:07:35 Join PurlingNayuki [0] (~Thunderbi@
19:08:41 Join lebellium [0] (
19:20:41 Join petur [0] (~petur@rockbox/developer/petur)
19:22:35 Join bertrik [0] (~quassel@rockbox/developer/bertrik)
19:26:59***Saving seen data "./dancer.seen"
20:32:09 Quit Smx (Excess Flood)
20:38:29 Join Smx [0] (Elite8556@gateway/shell/elitebnc/x-ottqqswqitxviuod)
20:40:57 Join JdGordon [0] (~jonno@rockbox/developer/JdGordon)
20:43:32 Quit JdGordon_ (Ping timeout: 240 seconds)
20:45:02 Quit JdGordon (Ping timeout: 240 seconds)
20:45:59 Join JdGordon [0] (
20:45:59 Quit JdGordon (Changing host)
20:45:59 Join JdGordon [0] (~jonno@rockbox/developer/JdGordon)
20:51:02 Join JdGordon_ [0] (~jonno@rockbox/developer/JdGordon)
20:51:32 Quit JdGordon (Ping timeout: 240 seconds)
21:06:54 Join girafe [0] (
21:08:31 Join FSanches [0] (~felipe@2804:14c:37:268b:e8c0:5867:ac4e:3f0e)
21:20:29 Quit thum (*.net *.split)
21:20:29 Quit suYin`OFF (*.net *.split)
21:20:29 Quit K1773R (*.net *.split)
21:20:32 Quit zu (*.net *.split)
21:20:32 Quit tchan (*.net *.split)
21:20:32 Quit CustosL1men (*.net *.split)
21:20:32 Quit puckipedia (*.net *.split)
21:20:32 Quit knittl (*.net *.split)
21:20:33 Quit Marex (*.net *.split)
21:20:34 Quit Xyem (*.net *.split)
21:20:34 Quit shamus (*.net *.split)
21:20:35 Quit Naked (*.net *.split)
21:20:36 Quit evilnick (*.net *.split)
21:20:42 Quit alexbobp (*.net *.split)
21:20:49 Join evilnick [0] (~evilnick@rockbox/staff/evilnick)
21:20:53 Join knittl [0] (
21:20:54 Join alexbobp [0] (
21:20:54 Quit knittl (Changing host)
21:20:54 Join knittl [0] (~knittl@unaffiliated/knittl)
21:20:59 Join Naked [0] (
21:21:01 Join zu [0] (
21:21:03 Join Xyem [0] (
21:21:05 Join shamus [0] (
21:21:05 Join Marex [0] (~Marex@
21:21:15 Join tchan [0] (~tchan@lunar-linux/developer/tchan)
21:21:45 Join K1773R [0] (~K1773R@unaffiliated/k1773r)
21:22:40 Join suYin`OFF [0] (
21:22:54 Join puckipedia [0] (
21:22:58 Join thum [0] (
21:23:14 Join CustosL1men [0] (~CustosLim@unaffiliated/cust0slim3n)
21:27:02***Saving seen data "./dancer.seen"
22:16:07 Join JdGordon [0] (
22:16:07 Quit JdGordon (Changing host)
22:16:07 Join JdGordon [0] (~jonno@rockbox/developer/JdGordon)
22:19:02 Quit JdGordon_ (Ping timeout: 240 seconds)
22:26:55 Join floodoo [0] (d5ee773a@gateway/web/freenode/ip.
22:27:31 Quit floodoo (Client Quit)
22:36:45[Saint]Fuck you, Qt 5. Fuck you.
22:37:04[Saint]Man I hate dealing with Qt /sooooooo/ much. :-S
22:38:28pamaury[Saint]: why ?
22:50:25[Saint]pamaury: mostly a combination of many small piss-offs that accumulate into one giant piss-off. It has become the accepted standard for cross platform development, regardless as to whether or not it is particularly well suited for a given task or not.
22:50:53[Saint]It annoys me when tiny little projects add a metric fucktonne of overhead and complexity that comes with Qt.
22:51:55[Saint]Not really specific to any Rockbox project in particular, it was actually an error my posting that statement in this channel.
22:53:37[Saint]Projects that force the use of qmake with Qt (seems to be a fairly common that this is a hard requirement) particularly annoy me.
22:57:47 Quit lebellium (Quit: ChatZilla 0.9.92 [Firefox 45.0/20160215141016])
22:57:58 Join JdGordon_ [0] (~jonno@rockbox/developer/JdGordon)
22:58:51 Quit rela (Ping timeout: 250 seconds)
22:59:10 Quit JdGordon (Ping timeout: 276 seconds)
23:15:39 Quit bertrik (Remote host closed the connection)
23:27:04***Saving seen data "./dancer.seen"
23:32:11 Join ineedhelp [0] (ad43982f@gateway/web/freenode/ip.
23:37:28 Join JdGordon [0] (
23:37:28 Quit JdGordon (Changing host)
23:37:28 Join JdGordon [0] (~jonno@rockbox/developer/JdGordon)
23:40:17 Quit JdGordon_ (Ping timeout: 252 seconds)

Previous day | Next day