Hi all,
I hope this is right in hardware; I did not find a driver section, so I thought hardware might fit. Anyways, on topic:
I recently replaced the toshiba HDD (which had a hardware defect, i.e. it only went tick-tick-tick crrrsssh on certain songs and I/O-errord when trying to access those via USB) in the iriver with a 60GB 1.8" 50-pin IDE SSD (MXSSD1MNANO50-60G). After reinstalling rockbox software (bootloader was still there ofc), everything worked fine, but after a few minutes of playback, some errors may (I say may, because the symptoms differ, see below) occur:
* Playback reliably stops
* “Error accessing playlist control file†- may occur
* Freeze - may occur after the above error; however, freeze might also be me too unpatient when trying to turn the player off
* Freeze if one tries to do anything with the drive (e.g. accessing files, loading a theme…)
The first three conditions can be exited “gracefully†by just turning the player off by holding Stop for a few seconds—just as usual. However, shutdown takes longer (I suspect a hard turn-off by rockbox at that place because of timeouts, I read about that in the forums[1] while doing research about that issue).
I first tried to set the spindown time to 255 in the config file. Didn't help (a lot).
I then went on to try recompiling rockbox with changed settings for my h320, namely, I changed HAVE_DISK_STORAGE to HAVE_FLASH_STORAGE and removed HAVE_ATA_POWER_OFF, because I suspecded the SSD having issues with “spinning up†(read about that in the same thread as above).
This did not fix the issue (i know I am using my custom build, as the version number is now referring to my commit instead of the release number). I based my commit on the 3.11 git-tag.
So today I had time to follow the buffering thread in the debug menu when a playback stall occurs. Basically the usefl-value decreases (am I right when I assume that this is the “useful†part of the undecoded buffer data?) to zero, after which the pcm buffer depletes which then makes playback stop. I waited a few seconds, but it did not refill.
So to summarize:
* SSD works flawlessly over USB
* Boot and initial buffer filling works fine
* Stall (or freeze, if the software waits for the access in the “main thread†(I call the part main thread which allows me to turn the device off gracefully
)) as soon as a disk access occurs some time later (not sure after which time this happens exactly; guess: after 255 seconds (current value of the spindown-timeout-setting))
so far: many thanks to the rockbox project; it gave me a really awesome DAP which still outruns many recent players in everything except size (esp. since I replaced the HDD). I'd really like to see that fixed and I'm happy to help with debugging. I may also write a patch upon being pointed into the right direction where to look (i.e.: which commands/files/… might be relevant to play around with or something).
best regards
jonas
[1]:
http://forums.rockbox.org/index.php?topic=23436.0;wap2