Main Site Documentation

SD Reader is FAT32 only, not FAT


#1

The catalog page says that the SD card supports the FAT file system. I had a 16mb SD card which could only be formatted FAT or NTFS (Windows 7 wouldn’t let me format it FAT32 presumably due to the small size). Windows recognized the card, but the Spider refused to mount it, displaying a warning questioning if it is FAT32 or not.

Swapped in a 512MB card (yes, these are both ancient cards) formatted FAT32 and it mounted just fine.

I assume the difference is FAT vs FAT32, although I could format the 512 as FAT to test if this isn’t a known issue.

Pete


#2

There is fat12 and fat16 and I think only fat16 would work.

Maybe format the card on netmf and it should work.


#3

Pete: Did you try format card direct in spider?
Something like this:
In Main put


RemovableMedia.Insert += new InsertEventHandler(RemovableMedia_Insert);

then in class:


        static void RemovableMedia_Insert(object sender, MediaEventArgs e)
        {
            Debug.Print("SD card inserted");
            e.Volume.Format("FAT", 16, true);
            Debug.Print("Format completed please remove SD card");
        }

Run program and insert SD card… Im never try format it in FAT16 but I think that second parameter in Format methode is which FAT file system you woulr like use…


#4

TheSpider can’t read NTFS or exFAT, so the warning is expected for those file systems.

http://support.microsoft.com/kb/140365 is a great reference for the associations between FS types, cluster sizes and drive sizes.

I’ve been playing with that second param for a while now.
So far, as long as the second parameter isn’t odd (get a CLR invalid option error), it doesn’t seem to make any difference with the Spider. I always get FAT32 with a 4K custer size on a 4GB stick.

I have smaller USB sticks, so I’ll be trying on those today.

[url]http://wiki.tinyclr.com/index.php?title=File_System#USB_Mass_Storage[/] is pretty clear; we can only use FAT16 and FAT32.


#5

It’s possible that 16MB card was exFAT, but given its size and age, I doubt it. It was one of those sample cards that came with a digital camera some time back.

I suspect it was FAT12, as Gus mentioned. That’s how the card came formatted. Windows wouldn’t let me format it as FAT32 - I didn’t try on the Gadgeteer. Truthfully, I didn’t want that logic and UI overhead on the device, as the card was read-only info for the Gadgeteer anyway.

@ Jimmy: FAT12 isn’t listed in that KB article. Here’s a more complete article:
http://en.wikipedia.org/wiki/File_Allocation_Table . My comment about FAT was based on the SD card description in the store. It should say FAT16/FAT32 to be more accurate :slight_smile:

Pete


#6

Pete with formating in Gadgeteer Im think that you create new project and test if Gadgeteer can format it or throw exception. Afcourse you will not use my code in real project because it will format card everytime you will insert it :slight_smile: