--- Log for 22.02.116 Server: cameron.freenode.net Channel: #rockbox --- Nick: logbot Version: Dancer V4.16 Started: 2 days and 4 hours ago 00.12.49 Quit dfkt (Quit: SIC GORGIAMVS ALLOS SVBJECTATOS NVNC.) 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 (mysuyin@server2.shellfire.net) 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] (~Adium@p57B94F87.dip0.t-ipconnect.de) 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] (~Adium@p57B94F87.dip0.t-ipconnect.de) 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.173.67.152.47) 05.50.42 # i need help installing rockbox onto a sansa clip+ 05.52.19 # it 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.10 # i need help installing rockbox onto a sansa clip+ 06.14.26 # it 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@14.154.17.47) 06.15.42 Quit PurlingNayuki (Ping timeout: 255 seconds) 06.15.43 Nick PurlingNayuki1 is now known as PurlingNayuki (~Thunderbi@14.154.17.47) 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.98.155.89.238) 07.49.46 # ineedhelp: I don't think much is know about those devices 07.50.07 # If you can get the stock firmware installed you can then flash rockbox 07.50.33 # But 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] (krneki@foo.eternallybored.org) 08.39.15 Join bertrik [0] (~quassel@rockbox/developer/bertrik) 08.50.31 Join einhirn [0] (~Miranda@bsod.rz.tu-clausthal.de) 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] (~edhelas@535580F9.cm-6-6c.dynamic.ziggo.nl) 10.34.07 Quit krnlyng (Quit: huiiiiii) 10.34.51 Join krnlyng [0] (~liar@83.175.90.24) 10.39.24 Quit krnlyng (Ping timeout: 255 seconds) 10.40.59 Join wodz [0] (~wodz@iwl138.internetdsl.tpnet.pl) 10.45.03 Join dfkt [0] (~dfkt@unaffiliated/dfkt) 10.52.48 Join krnlyng [0] (~liar@77.117.92.105.wireless.dyn.drei.com) 10.53.32 Quit krnlyng (Remote host closed the connection) 10.57.25 Join krnlyng [0] (~liar@83.175.90.24) 11.10.35 Quit krnlyng (Ping timeout: 244 seconds) 11.26.48 *** Saving seen data "./dancer.seen" 11.29.14 Join krnlyng [0] (~liar@77.117.92.105.wireless.dyn.drei.com) 12.39.36 Quit Elfish_ (Ping timeout: 240 seconds) 12.39.52 Join pamaury [0] (amauly@clpc71.cs.ox.ac.uk) 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] (~mwfc@hephaestus.mwfc.info) 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.42 # Mihail (logs): RE backtrace: you have two options: 1) give the address to a script in utils/analysis/findaddr.pl (iirc) but that's a pain 12.52.05 # or 2) use g#208 12.52.06 # 3Gerrit review #208 at http://gerrit.rockbox.org/r/208 : 3unwinder: use -mpoke-function-name to retrieve symbol names when unwinding by Amaury Pouly 12.52.23 # I haven't used it in some time but it should work 12.57.10 # usually 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.173.67.152.47) 12.58.32 Quit krnlyng (Ping timeout: 240 seconds) 13.00.20 # pamaury: 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.41 # for EP0 you mean ? 13.00.48 # yes 13.00.58 # pamaury: and for other EPs? 13.02.26 # for 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 Before 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.17 # *Beware 13.04.22 # let me check 13.04.29 # One day I should write a book on USB 13.06.03 # Yes I think I'm right because the spec says: 13.06.13 Quit ineedhelp (Ping timeout: 252 seconds) 13.06.16 # The Data stage of a control transfer from an endpoint to the host is complete when the endpoint does one of 13.06.16 # the following: 13.06.23 # 1) Has transferred exactly the amount of data specified during the Setup stage 13.06.30 # 2) Transfers a packet with a payload size less than wMaxPacketSize or transfers a zero-length packet 13.10.06 # pamaury: I am looking at usb drv for atj in hwstub and I don't get then ZLP handling 13.11.06 # let me see 13.11.23 Join krnlyng [0] (~liar@83.175.90.24) 13.11.30 # does it work ? did I write it ? 13.12.12 # It does work and yes ZLP part was added by you 13.12.16 # do you have a specific question or is it in general ? 13.13.29 Ctcp Ignored 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.36 # pamaury: 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.14 # this 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.02 # we have the same problem in our stack: for EP0 we probably send ZLP unconditionally like this 13.21.29 # does that clarity the situation ? 13.22.20 # pamaury: so in theory this condition should be if (length == 0) { OTG_EP0CS = 2; } if I understand correctly 13.22.54 # no 13.23.46 # for 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.38 # because 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.24.59 # ok 13.25.14 # But 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 (mysuyin@server2.shellfire.net) 13.26.16 # shouldn'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.12 # yes 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.09 # pamaury: What about hwstub? Does usb stack take care of ZLP if descriptor is shorter then requested by the host? 13.31.48 # no, it relies on the safe behaviour I described: send a ZLP when length is a multiple of MPS 13.32.22 # ok. Thats the bit which confused me! 13.32.44 # it's basically the same stack for rockbox and hwstub, just simplified a bit 13.35.03 # I mean thats why I didn't understand zlp - I assumed the first scenario is handled in upper layer 13.37.39 # no it's not, our stack is really too simple, one day we should rewrite it 13.38.57 # That deserves big fat warning in sources then. 13.39.15 # pamaury: Any progress with X1? 13.40.54 # I'm almost done reverse engineering the ROM (at least for USB), now I'm convinced I should port hwstub to ingenic 13.41.29 # :-) 13.41.55 # I 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.43 # Also I'm really thinking about renaming all the registers 13.43.15 # because only Ingenic can produce two registers named CPSR ans CPPSR which are completely unrelated 13.43.34 # lovely 13.43.52 # I will look at mDDR init, there is some public code for it but again it's nightmarish and use undocumented features 13.44.18 # I 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.20 # yes, 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.07 # wodz: 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.42 # pamaury: what you mean by soft-reset? 14.10.55 # pamaury: 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.37.212.149.225) 14.20.43 # pamaury, wodz: thanks! objdump -d rockbox.elf enough for me :) 14.43.14 Join thum [0] (~thum@www.vikings.net) 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.35 # wodz: it jumps back to the start function and does init from start 15.07.25 Nick suYin is now known as suYin`OFF (mysuyin@server2.shellfire.net) 15.07.26 Join thum [0] (~thum@www.vikings.net) 15.07.27 Quit thum (Client Quit) 15.07.43 Join thum [0] (~thum@www.vikings.net) 15.11.50 # pamaury: 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.07 # yeah it was clearly written by hand I would say 15.12.35 # unless 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.13 # pamaury: romcc is not pointed to MIPS AFAIK 15.21.17 # *ported 15.21.45 # yes I know, I just mean that it is possible that the code was produced by such a 'compiler' 15.22.12 # because the code is still hard to follow for a human 15.25.16 # ATJ 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.17 # haha :) 15.26.53 *** Saving seen data "./dancer.seen" 15.28.50 Join amayer [0] (~amayer@mail.weberadvertising.com) 15.32.55 # pamaury: This may be interesting for you https://imagination-technologies-cloudfront-assets.s3.amazonaws.com/documentation/MD00901-2B-CPS-APP-01.03.pdf 15.33.38 # wodz: interesting, thanks 15.34.32 # ingenic is probably the closest to 24k with the exception that AFAIK it still implements mips32r1 15.37.23 # by 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] (~edhelas@535580F9.cm-6-6c.dynamic.ziggo.nl) 15.39.39 # pamaury: clearly 4740 was r1, I think 4760 is r1 as well but without tests I can't guarantee 15.40.11 # I'll try to dump some CP0 registers to gather information 15.41.46 # thats uneasy without stack 15.42.16 # or memory to be more precise 15.42.59 # yes I know but I'll find a way 15.43.05 # maybe with TCSM 15.49.48 # pamaury: How hard would be to extend hwstub to test bulk EPs? 15.50.37 # quite easy, I mean as long as the driver implement its. What kind of test would you like ? 15.50.56 Join ZincAlloy [0] (~Adium@p57B94F87.dip0.t-ipconnect.de) 15.50.58 # we could implement a set addr/set len + bulk in/out interface like ingenic 15.53.46 # pamaury: 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.31 # sure, 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. http://miranda-im.org) 16.10.22 # what mean "Data abort at XXXXXXXX" ? 16.12.01 # Mihail: unaligned access or access to block which has clock gated most probably 16.13.08 # I have it in format() for %lu, what can I do? 16.14.17 # sorry I can't understand your statement 16.15.57 # address point to function "format" in point where it parse %lu - line "ulval = va_arg(ap, unsigned long);" 16.23.20 # Mihail: In data abort there is also FSR, domain and fault which should give some more clue 16.24.27 # FSR=0x8, domain=0, fault=8 16.25.57 # address = 0xDEADBEAF 16.28.29 # deadbeef is used to prime stack. So this looks like dereference of stack overfowed buffer 16.33.17 # dump format (compiled with -g3 -O3), stop at 0x30063f54 http://knk.square7.ch/format.asm 16.33.33 # *-O0 :) 16.36.34 # as 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] (~Adium@p57B94F87.dip0.t-ipconnect.de) 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] (~fs-bluebo@x4d098c69.dyn.telefonica.de) 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@14.154.17.47) 19.08.41 Join lebellium [0] (~chatzilla@89-93-179-187.hfc.dyn.abo.bbox.fr) 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] (~jonno@ppp118-209-127-139.lns20.mel4.internode.on.net) 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] (~girafe@AGrenoble-651-1-402-40.w90-52.abo.wanadoo.fr) 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] (~knittl@fucktheforce.de) 21.20.54 Join alexbobp [0] (~alex@capitalthree.pwnz.org) 21.20.54 Quit knittl (Changing host) 21.20.54 Join knittl [0] (~knittl@unaffiliated/knittl) 21.20.59 Join Naked [0] (~naked@naked.iki.fi) 21.21.01 Join zu [0] (~zu@ks387228.kimsufi.com) 21.21.03 Join Xyem [0] (xyem@li193-64.members.linode.com) 21.21.05 Join shamus [0] (~shmaus@ip-206-192-194-12.marylandheights.ip.cablemo.net) 21.21.05 Join Marex [0] (~Marex@195.140.253.167) 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] (mysuyin@server2.shellfire.net) 21.22.54 Join puckipedia [0] (~puck@irc.puckipedia.com) 21.22.58 Join thum [0] (~thum@www.vikings.net) 21.23.14 Join CustosL1men [0] (~CustosLim@unaffiliated/cust0slim3n) 21.27.02 *** Saving seen data "./dancer.seen" 22.16.07 Join JdGordon [0] (~jonno@ppp118-209-145-190.lns20.mel8.internode.on.net) 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.213.238.119.58) 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.28 # [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.173.67.152.47) 23.37.28 Join JdGordon [0] (~jonno@ppp118-209-230-163.lns20.mel8.internode.on.net) 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)