Friday, July 31, 2009

(Bad)Newsflash for Dingux: Dingux causes file corruption on writing to mini-SD

No silver lining ever goes without a cloud.  Admist the Dingoo La Bamba of recent days, Booboo unfortunately reports that:

SHOWSTOPPER

I have minor good news: both the network over USB and FTP server work fine.
And here are the bad news: there is a data corruption problem when writing to the miniSD in linux. Some users had reported filesystem corruption but seemed to be a minority and I suspected could be a compatibilidy problem in a certain type/brand of card.
This is a fscking showstopper and has become right now #1 in the priority list. The only workaround as of now is to NOT WRITE AT ALL to the miniSD. I know this means states cannot be saved (brightness, volume, game states, etc) since there is right now no safe place to store them.
I will dedicate all efforts to identify the problem and fix it as soon as possible, but this is likely to take some time since the error is not deterministic nor predictable.
If you want to check it out yourself, run in your A320 the following commands:
cd /boot
dd if=/dev/urandom bs=1M count=100 | tee test1.bin | md5sum
md5sum test1.bin
cp test1.bin test2.bin
md5sum test2.bin
The three calculated MD5 sums should be equal (the first one is calculated from the pseudorandom data as it comes out of /dev/urandom, the second one is calculated from the same data stored in file test1.bin, and the third is caculated from file test2.bin which is a copy of test1.bin.
The corruption seems to happen on writing. Reading is ok, which you can test yourself by calculating the MD5 sum of a large file many times. All will yield the same value, whereas whenever you copy the data to a new file the MD5 sum will change.

While this is quite distressing, you can still use Dingux perfectly well if you don’t do any saving or writing to the card within Dingux. Writing to the mini-SD using a PC is fine of course. And the good news IMHO is that …. well, Booboo is on it!

In the meantime, fans of Monkey Island will just have to play the game in a single session:(

10 comments :

  1. Strange as I'm able to save states on everything, including Monkey Island. Seems like SD cards are the problem not the system.

    ReplyDelete
  2. Possibly linked to the fact that some people need several formats/writes to get the system to boot in the first place (I did myself)

    ReplyDelete
  3. Can I save the state in Monkey Island? Ups...

    ReplyDelete
  4. Sorry for my english. To be clear: the problem also happens when I'm playing with the original Dingoo system (with Dingux Firmware installed)? Or it happens only when you reboot in Dingux mode?

    ReplyDelete
  5. I've already played many games in scummvm and saved a lot every 10mins, then later the loading of the save state is ok. If it always changes the file it looks lite only not used bits are changed I don't know...

    ReplyDelete
  6. @Anonymous

    The problem is in dingux only. AFIK the original firmware does not have this problem.

    @Ljancho

    It a matter or probability. The error is not deterministic, so the larger the amount of data you write the larger the chance of getting something corrupted. Savegames are SMALL compared to the 100MB file with which I detected the error.

    ReplyDelete
  7. this is unfortunate, but thses things happen. we are just lucky to have someone as talented as booboo working on a fix. hopefully i can get back to playing monkey island soon.

    ReplyDelete
  8. Haven't come around this problem yet, but good to hear someone is working on it.

    ReplyDelete
  9. You know, I'm hearing about the corruption happening to new Dingoos... maybe there's a connection? Maybe, just like the LCD problem, users with problems should have their secret info screen dumped and sent to Booboo along with the date of arrival.

    ReplyDelete
  10. Thanks booboo! That answered my questions.
    Again thanks for the great work you've done! :)

    ReplyDelete