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 2013-03-16

00:01:00 Join AlexP [0] (~alex@rockbox/staff/AlexP)
00:01:04 Quit AlexP (Remote host closed the connection)
00:01:54 Join AlexP [0] (~alex@rockbox/staff/AlexP)
00:03:13 Quit AlexP (Remote host closed the connection)
00:08:20 Join AlexP [0] (~alex@rockbox/staff/AlexP)
00:08:42 Quit AlexP (Remote host closed the connection)
00:11:24 Quit zoktar (Ping timeout: 240 seconds)
00:11:40 Join AlexP [0] (~alex@rockbox/staff/AlexP)
00:15:04 Quit lebellium (Quit: ChatZilla 0.9.90 [Firefox 20.0/20130313170052])
00:19:33 Join zoktar [0] (~zoktar@unaffiliated/zoktar)
00:23:54 Join kadoban [0] (
00:28:14 Join krabador [0] (
00:30:45 Quit liar (Remote host closed the connection)
00:44:49***Saving seen data "./dancer.seen"
00:45:25 Quit Raptors (Ping timeout: 245 seconds)
00:46:07 Join Raptors [0] (
00:46:31 Quit ender` (Quit: Democracy: the theory that the common people know what they want and deserve to get it good and hard. -- H. L. Mencken)
00:46:35 Quit Raptors (Read error: Connection reset by peer)
00:47:07 Join Raptors [0] (
01:31:14 Quit jhMikeS (Quit: Confucius say: The short dandelion survive the lawnmower)
01:36:29 Quit bertrik (Ping timeout: 264 seconds)
02:13:24 Quit pamaury (Ping timeout: 256 seconds)
02:35:42 Join kaputnik__ [0] (
02:44:51***Saving seen data "./dancer.seen"
02:54:01 Quit kiwicam (Remote host closed the connection)
02:55:04 Join kiwicam [0] (~quassel@
02:56:44 Join onyxice [0] (
03:13:28 Join dhrasmus [0] (
03:16:46 Join kugel_ [0] (~kugel@
03:16:46 Quit kugel_ (Changing host)
03:16:46 Join kugel_ [0] (~kugel@rockbox/developer/kugel)
03:18:22 Quit kugel (Read error: Connection reset by peer)
03:23:17 Quit [Saint] (Remote host closed the connection)
03:25:34 Join [Saint] [0] (~saint@rockbox/user/saint)
03:38:26 Quit prof_wolfff (Ping timeout: 245 seconds)
03:48:54 Quit dhrasmus (Quit: Leaving)
04:20:18 Quit pixelma (Disconnected by services)
04:20:19 Quit amiconn (Disconnected by services)
04:20:19 Join pixelma_ [0] (pixelma@rockbox/staff/pixelma)
04:20:20 Join amiconn_ [0] (amiconn@rockbox/developer/amiconn)
04:20:21 Nick pixelma_ is now known as pixelma (pixelma@rockbox/staff/pixelma)
04:20:24 Nick amiconn_ is now known as amiconn (amiconn@rockbox/developer/amiconn)
04:21:12 Quit krabador (Ping timeout: 264 seconds)
04:33:41 Join Scr0mple [0] (~Simon@
04:36:13 Quit Scromple_ (Ping timeout: 258 seconds)
04:44:53***Saving seen data "./dancer.seen"
05:00:35 Join kevku [0] (~kevku@2001:470:27:773:0:feed:c0f:fee)
05:13:20 Quit Rower (Quit: Hmmm...)
05:14:53 Join TheSphinX^ [0] (
05:15:46 Quit TheSphinX_ (Read error: Operation timed out)
05:28:05 Join jhMikeS [0] (~jethead71@
05:28:06 Quit jhMikeS (Changing host)
05:28:06 Join jhMikeS [0] (~jethead71@rockbox/developer/jhMikeS)
05:34:54 Quit TheSeven (Disconnected by services)
05:35:03 Join [7] [0] (~quassel@rockbox/developer/TheSeven)
05:55:11 Quit fs-bluebot (Ping timeout: 258 seconds)
05:56:17 Quit bluebrother (Ping timeout: 245 seconds)
05:56:32 Join fs-bluebot [0] (
05:58:30 Join bluebrother [0] (~dom@rockbox/developer/bluebrother)
06:01:57 Join dfkt [0] (dfkt@unaffiliated/dfkt)
06:02:55 Quit dfkt_ (Ping timeout: 264 seconds)
06:36:07 Join akaWolf [0] (~akaWolf@unaffiliated/akawolf)
06:37:19 Quit SuperBrainAK (Quit: pbly going to sleep /_\)
06:44:57***Saving seen data "./dancer.seen"
06:45:47 Quit B4gder (Ping timeout: 258 seconds)
06:47:11 Join B4gder [241] (~daniel@rockbox/developer/bagder)
07:49:53 Join froggyman [0] (~me@unaffiliated/froggyman)
08:04:17 Join melmothX [0] (~melmoth@unaffiliated/melmothx)
08:06:10 Quit froggyman (Ping timeout: 256 seconds)
08:19:57 Join stoffel [0] (
08:22:13 Quit melmothX (Quit: bau)
08:30:48 Join pretty_function [0] (~sigBART@
08:42:59 Quit pretty_function (Remote host closed the connection)
08:45:01***Saving seen data "./dancer.seen"
09:16:22 Join ender` [0] (
09:21:22 Quit shamus (Read error: Connection reset by peer)
09:21:44 Join shamus [0] (
09:27:19 Quit jhMikeS (Ping timeout: 246 seconds)
09:44:09 Quit stoffel (Ping timeout: 245 seconds)
09:54:22 Join kaputnik_ [0] (
09:58:21 Quit kaputnik__ (Ping timeout: 276 seconds)
10:12:07 Join stoffel [0] (
10:12:29 Join bertrik [0] (~quassel@rockbox/developer/bertrik)
10:13:54 Quit DexterLB (Read error: Connection reset by peer)
10:18:48 Join DexterLB [0] (
10:19:59 Join lebellium [0] (
10:45:05***Saving seen data "./dancer.seen"
10:53:01 Join pamaury [0] (~quassel@rockbox/developer/pamaury)
10:57:34 Join liar [0] (
11:02:02 Join melmothX [0] (~melmoth@unaffiliated/melmothx)
11:10:33 Quit onyxice (Ping timeout: 245 seconds)
11:16:15 Quit pamaury (Remote host closed the connection)
11:17:24 Quit DexterLB (Read error: Connection reset by peer)
11:22:24 Join DexterLB [0] (
11:22:30 Join pamaury [0] (~quassel@rockbox/developer/pamaury)
11:47:27 Join prof_wolfff [0] (
11:47:55 Quit lebellium (Remote host closed the connection)
11:48:31 Join lebellium [0] (
11:53:59 Quit GodEater (Ping timeout: 260 seconds)
12:06:49 Join lorenzo92 [0] (
12:16:16 Quit stoffel (Ping timeout: 245 seconds)
12:20:43 Join GodEater [0] (
12:23:57 Join petur [0] (~petur@rockbox/developer/petur)
12:38:23 Quit liar (Remote host closed the connection)
12:45:08***Saving seen data "./dancer.seen"
12:54:56 Quit lorenzo92 (Remote host closed the connection)
12:55:40 Quit dokan__ (Ping timeout: 252 seconds)
13:05:30 Join Ward [0] (
13:05:54 Nick Ward is now known as Guest85221 (
13:10:26 Quit lebellium (Quit: ChatZilla 0.9.90 [Firefox 20.0/20130313170052])
13:18:27 Join lebellium [0] (
13:23:13 Join dokan [0] (
13:50:58 Quit kaputnik_ (Ping timeout: 245 seconds)
13:56:12 Join mortalis [0] (~mortalis@
14:20:44 Nick kugel_ is now known as kugel (~kugel@rockbox/developer/kugel)
14:21:19 Nick [Saint] is now known as this (~saint@rockbox/user/saint)
14:21:28 Nick this is now known as [Saint] (~saint@rockbox/user/saint)
14:23:50 Join kaputnik_ [0] (
14:42:41pamauryhey, reverse engineering a usb driver when you have no idea how the usb core works is funny
14:45:12***Saving seen data "./dancer.seen"
14:46:56bertrikcan you just sniff what the official app sends?
14:47:56bertrikif that makes any sense
14:57:34 Quit shamus (Read error: Connection reset by peer)
14:57:52 Join shamus [0] (
14:59:16pamaurybertrik: I mean the usb driver of the OF
14:59:31pamauryI don't know the registers
15:00:01pamauryI don't have any registers anyway, of any peripheral
15:15:20 Quit Xerion (Read error: No route to host)
15:19:35pamauryTorne: have you seen cortex-m devices where the ranges 0x61000000-0x61ffffff and 0x62000000-0x62ffffff are used by peripherals
15:19:49Torneno idea.
15:19:57pamauryon rknano it seems to be used by usb and these cannot be only data structures in ram
15:20:30pamauryarmv7 manuals says this range is supposed to be cached but it doesn't match what I see here, very confusing
15:22:37Torneif it's an M0 that's not v7, though
15:22:47TorneM0 is ARMv6-M, which is a weird inbetween thing
15:22:58Torne(doesn't implement most of the Thumb2 instruciton set, but does have some of it)
15:23:26pamaurydo you have examples instructions on v7-M but not on v6-M ?
15:23:48Torneno idea, i don't have the v[67]-M ARMs handy anywhere
15:29:29pamauryok, I think I'll first try to formally identify the core used, I have a master evil plan to do that
16:25:38*Torne starts seriously poking at this ipod with an ssd :)
16:31:28 Join Xerion [0] (
16:45:13***Saving seen data "./dancer.seen"
17:07:11 Join krabador [0] (
17:14:57Tornehm, okay, so this is fairly consistently failing in check_registers in ata.c
17:15:12Torneit writes a test pattern to the NSECTOR/SECTOR/LCYL/HCYL registers and reads it back
17:15:16Torneand it gets the wrong values every single time
17:15:32Torneeither they are switched, or duplicated, or corrupt by one bit, or zero
17:15:46Tornethe device status reported it was ready just fine
17:15:55Tornebut its registers appear to be useless
17:16:09Torneany guesses? :)
17:17:56pamauryyou need a ATA expert it seems
17:18:06kugelpamaury: *he* is the ATA expert :)
17:18:50Tornei dunno about that
17:19:07Tornebut probabyl more than most of us :/
17:19:11Torneand i still have no fucking idea.
17:19:22Torneit does this both before and after hardresetting the device
17:19:33Tornethis is some SATA -> IDE converter interface i'm talking to
17:19:37Tornenot the SSD itself, which is mSATA
17:19:43Torneso its' quite possible that interface is real shitty
17:19:48Tornebut it works perfectly in the OF
17:20:02Torneand it seems to work in the rockbox bootloader as well, it's only in the actual binary that it chokes
17:20:19Torneand no, there's no BOOTLOADER dependent code in the ata driver itself :/
17:20:43*pamaury has forgotten everything about ATA
17:21:08Tornei have all the specs in front of me :)
17:22:59Torneerm, so it looks like if you just comment out check_registers it works ;)
17:23:21Tornemounts over USB just fine
17:23:28Tornethough i haven't got a .rockbox directory so it's a bit upset
17:23:46kugelsome timing issue perhaps?
17:24:17Torneactually iw ould guess that the sata/ide converter's chip doesn't implement read back of these registers correctly
17:24:23Torneyou don't normally need to read them
17:24:28Tornesince they are just the addresses
17:25:18Tornethose four registers are N/A on output for almost all commands
17:25:31Tornethe spec says they are read/write, but hey
17:25:56TorneOh, hmmmm
17:26:02Torneactually, okay, they are used for tagged command queueing
17:26:25Torneso the SATA interface may be fucking them up because of that ;)
17:26:45Tornecommand queueing is not valid in non-PACKET devices in PATA (i.e. it's only for cdrom drives)
17:26:51Tornebut it's used in SATA on disks
17:27:18*Torne builds a full build with that patch and tests stuff.
17:37:42 Quit kadoban (Read error: Operation timed out)
17:40:21 Join kadoban [0] (
17:44:15 Join Rower [0] (
17:49:04Tornehm, this is werid
17:49:07Torneit boots, plays music
17:49:20Torneand it can write "small" things, like the config file and playlist control
17:49:28Tornebut if i try to write to it over usb i get errors
17:49:41Torneand if i do anything on the device that tries to do large writes it hangs (e.g. initialising database)
17:57:39kugelCheck Your Filesystem(TM) :)
17:57:52Tornethe fs is fine
17:58:05Tornerpetty sure the driver is still broken
17:58:13kugelkidding :p
17:58:18Torneso now i'm wondering why we even have check_registers() in the first place
17:58:25Tornegiven that we *never* rely on reading those registers at all
17:58:36Torneand it has been there since the first checked in version of ata.c in 2002
17:58:45kugelperhaps git blame can tell
17:58:54Torneit was there in the original copy of the archos ata driver
17:59:02Tornein svn r163 :)
18:00:29Tornethe only change anyone ever made to it is to make it retry 64 times with a 1 tick sleep
18:00:35Torneoriginally it only tried once before failing
18:00:44Torneand that was in a commit with a bunch of other changes and doesn't explain why
18:00:49pamaurythe magic of ATA drivers
18:00:57Tornei am tempted to just remove it
18:01:18pamauryit seems that from the day ATA was invented, it was flawn with buggy implementations
18:01:32Torneright, but the original code here doesn't even wait/retry
18:01:46Torneit literally just writes some values, reads them back, and if they aren't the same, it dies
18:01:51Tornei.e. you can't boot
18:02:05Tornethe later version retries 64 times
18:02:13Tornebut if after 64 tries it doesn't work then the same
18:02:23Torneso it's not clear how this can be a workaround for a bug
18:02:49Torneit seems more like it was just someone's sanity check that sounded like a good idea, and then later it was found not to work on some device but it happened that if you tried over and over it would succeed eventually :)
18:03:00Tornebut it never succeeds on this thing
18:03:04Torneeven after 1000 tries ;)
18:03:07Torne(10 seconds)
18:03:23Torneand the disk is clearly functional because if you skip it then it can read anything you like
18:04:26Torneanyway enough for now
18:04:37Tornei'll borrow someone's machine to restore it in itunes just to make sure the fs is okay
18:04:48Torneand retest what reads/writes work
18:05:01Tornebut the people with iphones are all out at the moment :)
18:05:47Torneat least i now feel less bad about having this guy's expensive ssd ipod
18:05:55Tornehaving made *some* progress ;)o
18:25:39 Join y4n [0] (~y4n@unaffiliated/y4ndexx)
18:36:11 Quit kadoban (Read error: Connection reset by peer)
18:38:34 Join jhMikeS [0] (~jethead71@
18:38:34 Quit jhMikeS (Changing host)
18:38:34 Join jhMikeS [0] (~jethead71@rockbox/developer/jhMikeS)
18:43:56 Join SuperBrainAK [0] (
18:45:16***Saving seen data "./dancer.seen"
18:47:54 Quit kaputnik_ (Ping timeout: 264 seconds)
18:57:54 Quit jhMikeS (Ping timeout: 252 seconds)
19:09:13 Part ryan_ramage
19:22:58 Quit shamus (Read error: Connection reset by peer)
19:23:46 Join shamus [0] (
19:25:34 Quit lebellium (Read error: Connection reset by peer)
19:26:04 Join lebellium [0] (
19:37:44 Join kadoban [0] (
20:00:04 Join lebellium_ [0] (
20:01:25 Quit XavierGr (Read error: Operation timed out)
20:02:06 Join kaputnik_ [0] (
20:02:31 Quit lebellium (Ping timeout: 245 seconds)
20:02:45 Nick lebellium_ is now known as lebellium (
20:06:05 Join jhMikeS [0] (~jethead71@rockbox/developer/jhMikeS)
20:07:33 Join XavierGr [0] (~XavierGr@2001:41d0:52:100::2e5)
20:07:44 Quit kaputnik_ (Read error: Operation timed out)
20:15:00 Quit kiwicam (Remote host closed the connection)
20:16:45 Quit jhMikeS (Read error: Connection reset by peer)
20:16:57 Join jhMikeS [0] (~jethead71@
20:16:57 Quit jhMikeS (Changing host)
20:16:57 Join jhMikeS [0] (~jethead71@rockbox/developer/jhMikeS)
20:18:23 Join kiwicam [0] (~quassel@
20:23:18 Join onyxice [0] (
20:31:47 Quit prof_wolfff (Ping timeout: 245 seconds)
20:34:40 Quit DexterLB (Ping timeout: 252 seconds)
20:35:51 Join DexterLB [0] (~dex@
20:37:15pamauryTorne: which register can I read to identify the ARM core ?
20:37:35pamauryCPUID ?
20:39:22ukleinekpamaury: should work, yes.
20:39:45ukleinekbut it depends on the core where you find this register :-)
20:40:28pamauryis it standard on all cortex-M ?
20:41:17ukleinekah, yes, for armv7m it's always 0xesomething
20:41:51ukleinekfor the A (and I think also R) profile(s) it's a coprocessor that you need to ask.
20:41:53pamauryok, I don't know what the core but let's try ^^ I will take some existing code and patch it, very ugly but let's hope :)
20:42:43ukleinekpamaury: which processor do you have? (In case you know ...)
20:43:34 Quit lebellium (Read error: No route to host)
20:43:41pamaurythe SoC is the RKNano-B, it's an ARM processor, using Thumb/Thumb-2 for sure, but I don't know more than this. Reverse engineering shows some registers at 0xe...
20:43:54pamaurymy guess is that it's a Cortex-M3
20:44:04 Join lebellium [0] (
20:44:13pamaurybut I don't have any datasheet, I don't know any register of that thing ^^
20:45:19***Saving seen data "./dancer.seen"
20:45:48ukleinekIn case you have questions regarding the architecture. I ported Linux to an M3 and have a good contact into ARM.
20:47:11pamaurygood :) first I need to identify the core, but then well, it will be 100% reverse engineering
20:47:24ukleinekread 0xE000ED00
20:48:35pamauryit's good to read it, it's better to be able to get the value on something you can read with your eye :) that's why it's tricky
20:51:25ukleinekwhich ways you currently have to interact with the cpu?
20:53:40pamauryI managed to descramble a stub send in DFU mode which uses USB. I found a way to modify it and think I will be able to trick it into sending the cpuid value instead of, say, the USB PID or VID
20:55:37ukleinekthe expectation is that *0xE000ED00 & 0xf0000 == 0xf0000
21:10:44pamaurywhat is simplest way to load 0xE000ED00 into r0 in Thumb ? (I want to avoid Thumb-2 as much as possible since I don't know the core)
21:10:54pamaury(in a position independent way)
21:12:52kugelanyone with an android device around?
21:16:05ukleinekmov r0, #0xe000000
21:16:13ukleinekorr r0, #0xed00
21:16:21ukleinekldr r0, [r0]
21:16:41ukleinekoh, you could even save another instruction by merging the latter two
21:17:13ukleinekmov r0, #0xe000000; ldr r0, [r0, #0xed00];
21:26:54user890104kugel: i have one
21:31:56 Quit melmothX (Quit: $@)
21:49:17 Join froggyman [0] (
21:49:17 Quit froggyman (Changing host)
21:49:17 Join froggyman [0] (~me@unaffiliated/froggyman)
21:49:59 Quit mortalis (Quit: KVIrc 4.3.1 Aria
21:52:36 Quit SuperBrainAK (Ping timeout: 248 seconds)
21:54:07 Quit akaWolf (Ping timeout: 256 seconds)
21:55:42 Quit froggyman (Ping timeout: 264 seconds)
22:03:32kugeluser890104: can you test a patch?
22:05:14user890104kugel: sure, can you make a build? i don't have a development machine set up
22:15:54kugeluser890104: what resolution?
22:18:01kugeluser890104: which phone is this?
22:18:19user890104sony xperia go, android 4.0.3
22:18:49user890104what does the patch do?
22:20:00kugelrewrite audio playback a bit
22:22:44user890104ok, installed
22:23:57kugeljust see if it still plays audio as before :)
22:24:18user890104yes, it does
22:24:32user890104is there anything specific that could break?
22:26:07user890104ok, so it's fine :)
22:26:10kugelgreat :9
22:27:55user890104don't know if this has been discussed, but is it possible to have a single build, regardless of the resolutions, and have the OS choose the correct images on startup?
22:28:31kugelno, rockbox can't support this currently
22:30:17user890104i see
22:45:20***Saving seen data "./dancer.seen"
22:48:29 Join stripwax [0] (~Miranda@rockbox/developer/stripwax)
22:48:52 Quit petur (Quit: Leaving)
22:56:00 Join lebellium_ [0] (
22:56:14 Quit y4n (Quit: PÆNTS ØLF!)
22:57:31 Quit lebellium (Ping timeout: 245 seconds)
22:57:39 Nick lebellium_ is now known as lebellium (
23:01:40 Quit kevku (Ping timeout: 245 seconds)
23:03:32 Quit kadoban (Ping timeout: 276 seconds)
23:04:50 Quit ender` (Quit: It's amazing how the the human mind does not process the the fact I used the the word "the" twice each time.)
23:07:22 Join kadoban [0] (
23:18:59 Quit stripwax (Quit: Miranda IM! Smaller, Faster, Easier.
23:39:46 Quit Guest85221 (Read error: Connection reset by peer)

Previous day | Next day