dev builds
themes manual
device status forums
mailing lists
IRC bugs
dev guide

Rockbox mail archive

Subject: Re: Red Led Dead test II

Re: Red Led Dead test II

From: Björn Stenberg <>
Date: Wed, 17 Dec 2003 23:56:04 +0100

Daniel Gudlat wrote:
> From my experience and what I read here it seems to me like your test
> build may cure spontaneous RLOD, but does nothing for movement induced
> RLOD. So, if we can confirm this to be true, I'd vote for getting the
> change into the daily builds to help those with spontaneous RLOD, and
> then see about what if anything can be done about movement induced
> RLOD...

The only kind I have seen in my archos is the "spontaneous" kind, and that seems to be fixed by my latest ata change.

I agree that the movement induced RLOD appears to be a different beast. I have updated the test firmware to include a new debug menu entry: ATA History.

What I'd like you to do is that when you get a RLOD, go to Debug->ATA History and look at the numbers. The screen will look something like this:

0:0xC4 1:0x30
2:0xC4 3:0x30
4:0xC4 5:0x30
6:0xC4 7:0x30
8:0xC4 9:0x30
10:0xC4 11:0x30
12:0xC4 13:0xE6
Status: 0x50

The values are the ata command/event history. 13 is the most recent event, 0 is the oldest. The hex value is the event or command:

#define CMD_DEVICE_RESET 0x08
#define CMD_READ_SECTORS 0x20
#define CMD_WRITE_SECTORS 0x30
#define CMD_STANDBY 0xE2
#define CMD_SLEEP 0xE6

/* fake commands, for the history */
#define CMD_POWERDOWN 0xf00
#define CMD_POWERUP 0xf01
#define CMD_HARD_RESET 0xf02
#define CMD_SOFT_RESET 0xf03
#define CMD_RDY_TIMEOUT 0xf04
#define CMD_BSY_TIMEOUT 0xf05

The "Status:" line shows the current content of the ATA status register.
Obviously, what I need to know is what this screen says when a "movement RLOD" occurs. If you can write down all the numbers, great. If you are pressed for time, start with event 13 and work your way backwards. Naturally the latest events are the most interesting ones.

Misc info: The history screen is redrawn every second. Multiple commands are only stored once (i.e. 21 consecutive READs are only shown as a single one). SOFT_RESET (0xF03) is used to wake up the disk from SLEEP. HARD_RESET (0xF02) is used to wake up from POWERDOWN.

Happy hunting! :-)

Received on 2003-12-17

Page template was last modified "Tue Sep 7 00:00:02 2021" The Rockbox Crew -- Privacy Policy