
-----Oorspronkelijk bericht----- Van: Detlev Zundel [mailto:dzu@denx.de] Verzonden: vrijdag 17 januari 2014 15:59 Aan: Ruud Commandeur CC: U-Boot list Onderwerp: Re: [U-Boot] Fat write problem
Hi Ruud,
This week I decided to do some further research and testing
regarding
this problem. With the image I had from the previous time, I could immediately reproduce it and by adding more and more debug prints, I tried to find the
cause. Sofar,
I have not succeeded in this yet.
However: later on I started testing with a freshly
formatted drive (32
MB FAT partition) and kept repeating the fatwrite command:
fatwrite mmc 0:1 42000000 test-x 200
where x runs from 1, 2,3 and further. And this way I could
reproduce it
quite easily. Writing always fails for the 32nd file. This is with the partition formatted with a 512 byte sector size and a cluster size of 4. If the cluster size is
1 (formatted
by Windows), it already fails at the 8th file.
If I create a subdirectory (from Linux) with already 24
files in it, I
can still write 29 files and it fails at number 30. Also, if earlier files were
deleted from the
root-directory, they still count in the total number of files here.
If I take out the card where u-boot fails to write new files, I can still add new files from my PC with Linux or Windows.
I tested with both long and short filenames (same result), VFAT is enabled.
I hope this gives you all some more information about this
problem and
perhaps it is even a known problem (limited number of files in the root
directory?). I know
it is voor FAT16, but that was 512 entries if I am correct.
Thanks for the extensive research into this problem. For people to help, I think the barrier of reproducing the problem is "somewhat high", so it occurred to me if you can help setup a very easy test for people to work on. Would you be able to generate a small image that one can dd to a mmc card and then immediately provoke the error? If you don't have any hosting space, as a last resort I'd be fine for you to put it on our wiki [1].
Hi Detlev,
Thanks for your response. Finally I get some ;-)
I can look for creating some image, but I don't think it is that hard to reproduce (now I think to know what causes it). Either use 32 times the fatwrite command (using the cmd history and increment the x-nr each time) or just copy up to 31 files to the root of the FAT partition by using the host machine and place the SD-card back on the targe device running u-boot.
Hope this makes it easy enough, otherwise I will be glad to hear from you.
N.B. All this was with a FAT16 partition. If I use FAT32, I have no such problem! At least not for 45 files up till now...
Regards,
Ruud
Cheers Detlev
[1] http://www.denx.de/wiki/view/U-Boot/TooBigPatches
-- Golden rule #12: When the comments do not match the code, they probably are both wrong. -- Steven Rostedt
1300126962.9910.128.camel@gandalf.stny.rr.com
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-40 Fax: (+49)-8142-66989-80 Email: dzu@denx.de