Rockbox.org home
release
dev builds
extras
themes manual
wiki
device status forums
mailing lists
IRC bugs
patches
dev guide



Rockbox mail archive

Subject: Updated: ATA field test (Was Re: File system corruption)
From: Jens Arnold (arnold-j_at_t-online.de)
Date: 2004-03-06


Hello all,

> I am one of the users that has been experiencing file
> corruption. However, the test results show ok here. Results

As you see, my first test didn't work that well. Therefore I've
prepared an improved version, which addresses a few more failure
possibilities.

The test build is _safe_ for normal rockbox use, since
it uses the slow, safe reading routine by default. The
"advanced" routines are _only_ accessed by a special test plugin
which never writes data back to disk and is thus also safe.

Here is what I would ask you to do (again! - sorry):

1. Get the special test build for your Archos model:

   Recorder: http://arnold-j.bei.t-online.de/test-recorder.zip
   Recorder FM: http://arnold-j.bei.t-online.de/test-fm.zip
   Recorder v2: http://arnold-j.bei.t-online.de/test-v2.zip

   (No version for the player. Sorry, I really don't know how I
   should squeeze the output in 2 lines.)

   If someone is interested in the source, it can be found at
   http://arnold-j.bei.t-online.de/test-ata-src.zip (only files
   modified against current cvs)

2. Unzip it to the root of your Archos. You will get 3 files.

   If you still have the old test version laying around, please
   pay attention that you overwrite both the ajbrec-test.ajz and
   the plugin. Not doing this will do no harm, but will not test
   all cases.

3. Start your box _and_ ROLO into "ajbrec-test.ajz". If you
   don't rolo, you will get a funny "IllInstr" exception error
   afterwards (wouldn't hurt your box permanently).

4. Be sure to use a small font, because otherwise not all
   information fits in the display space. If you don't have a
   small font handy, the included "rockfont-8.fnt" will fit
   perfectly.

5. Start the test plugin, "test-ata.rock". This will run for
   about *3* minutes. If the plugin has finished, note down the
   results (the lower *5* lines).
   Thanks Jörg for pointing me to the faster CRC routine!

      (Only or those who are curios what the plugin does:

      The test build contains several disk reading routines with
      different speed.

      The plugin first grabs the mp3 play buffer. For each speed
      setting and data alignment it reads the beginning of the
      harddisk into the buffer several times (currently 3).

      In order to detect a read error when the error is
      deterministic (that means, it occurs in the same position
      for all passes) for each pass it starts reading one sector
      later.

      Afterwards it calculates a checksum for the part of
      the buffer that should be identical for all passes.
 
      The checksum for each pass is compared to the checksum of
      the slow, trusty speed 0 routine. If even one checksum does
      not match, it outputs "Error", else it displays "ok" and
      the time needed to read the data.)

6. Go to the debug menu (F1->Info->Debug (Keep out!)) and
   extract some information from there. (See below)

7. You can now delete the 3 files from the root directory of
   your Archos (ajbrec-test.ajz, rockfont-8.fnt, test-ata.rock)

Example Report (my box):
------------------------

Model: Archos Jukebox Recorder 20

(following data is from Debug->View HW info)

ROM: 1.28
Mask: 0x0302
USB: positive
ATA: 0x200, master

(following data is from Debug->View disk info)

Model: IC25N020ATCS04-0
Firmware: CA20A71A
Power mgmt: enabled
Noise mgmt: unsupported
Read-ahead: enabled
PIO modes: 0 1 2 3 4
Cycles times: 240ns/120ns
IORDY support: yes
IORDY disable: yes

(test results from the plugin)

S0: ok 1.18s / ok 1.49s
S1: ok 0.94s / ok 1.17s
S2: ok 0.79s / ok 0.81s
S3: ok 0.69s / ok 0.83s
S4: ok 0.81s / ok 1.27s

If you are one of the users which experienced file system
corruption, it is likely that you will get an "Error" reading
instead of "ok" and a time. This is important!

The "S4" readings are supposed to be slower than "S3". "S4" is
Jörg's version which may have caused the problems in the first
place (if the problem is related to disk reading alone). If your
"S4" readings are almost equal to "S0", you did use the old
ajbrec-test.ajz -> try again from step 2.

Regards, Jens

_______________________________________________
http://cool.haxx.se/mailman/listinfo/rockbox



Page was last modified "Jan 10 2012" The Rockbox Crew
aaa