FAT16 SD problems

I'm trying to use an SD card, ready to use in a project. Thought i'd start with the FAT16info example from the library. I have 3 SD cards, all fairly old. I can't remember when I actually got them. one is a 16MB panasonic and 2 are 512MB integral cards which are toshiba rebranded cards, one and F and one an M, difference being speed. I have checked the format of the cards and the 16MB is actually FAT12, so have stopped trying with this one, the 2 512MB cards are FAT16.

which ever card i try all i get back is:

init time: 104

Manufacturer ID: FF
OEM ID: ÿÿ
Product: ÿÿÿÿÿ
Version: 15.15
Serial number: 4294967295
Manufacturing date: 15/2255

Card Size(blocks): 134217728

Card is not MBR trying super floppy
FAT16 volume not found

for the circuit I have built the Sd level circuit from the library.

I have also tried the FAT16ls example and received an error: 5 - a timeout on read error.

Could anyone tell me if this is a problem with the card not being recognised and if it is, is there any particular cards which are known to work or any specifics I need to look for when buying a new card?

Thanks :wink:

Yes, I have tried reformatting the cards with both windows and with panasonics formatter. I'm borrowing a few cards from work to try tonight. will post again later.

I've tried 2 more 128MB cards re-formatted them both, but still get the same message

I've run the arduino (boarduino clone) and the sd card at 3v3 with the pins wired straight together and it works, so no problems with the card setup. think i may just use the system at 3v3 rather than struggle with the level shift.

if anyone manages to get it working with the level shift, please let me know.

Cheers

TheCaptain.

I have Toshiba 512mb and get the same result as you but when using Sandisk 2gb microSD i get this

init time: 60

Manufacturer ID: 3
OEM ID: SD
Product: SU02G
Version: 8.0
Serial number: 3135252768
Manufacturing date: 9/2007

Card Size(blocks): 3970048

Partition Table:
part,boot,type,start,size
1,0,6,249,3967239
2,0,0,0,0
3,0,0,0,0
4,0,0,0,0

FAT Volume info for partition: 1
Volume is FAT16
clusterSize: 64
clusterCount: 61979
fatCount: 2
fatSize: 243
totalBlocks: 3967239

Root Directory:
name ext att size
ARDUINO BMP 20 153656
ARDUINO TXT 20 307312

I've started a thread on compatability http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1292759663 with the hope people can express their experiences with different types of SD

was this using a level shifter, if so which one?

I'll try and put all the card details down in your new thread as soon as i get time to get all the info on them.

TC.

I didn't use a level shifter as such, the SD VCC is 3.3v supplied by Arduino, all SPI lines are pulled up with a 10k SIL resistor pack, this is where it gets messy, due to wiring restrictions the 10k SIL is fed with 5v through a 1.8k resistor, the thought was 5v - 3.3v = 1.7v, 1.7v / 1ma = 1700 ohms, so closest i had was 1.8k, end result is it works anyhow, no smoke or flames so thats a good sign.

A recent discussion in the software corner about how to format small SD cards with FAT16. Seems a solution for thsi problem.

My results form 4 different size cards are below, i will add these to the list linked above, once i've formatted the two that couldn't find the FAT16. circuit as above, 3v3, direct links no pull ups.

All are full size SD cards. i only have a 4GB mini SD which won't work with this library.

Card: integral 512MB

init time: 869
Manufacturer ID: 2
OEM ID: TM
Product: SD512
Version: 1.6
Serial number: 320131720
Manufacturing date: 9/2005
Card Size(blocks): 1011200
Partition Table:
part,boot,type,start,size
1,0,6,63,995967
2,0,0,0,0
3,0,0,0,0
4,0,0,0,0
FAT Volume info for partition: 1
Volume is FAT16
clusterSize: 16
clusterCount: 62215
fatCount: 2
fatSize: 244
totalBlocks: 995966
Root Directory:
name ext att size

Card: 16MB Panasonic - I will try the reformat mentioned above on this one and post later.

init time: 112
Manufacturer ID: 1
OEM ID: PA
Product: S016B
Version: 4.1
Serial number: 1800454980
Manufacturing date: 4/2004
Card Size(blocks): 29120
Partition Table:
part,boot,type,start,size
1,0,1,57,29063
2,0,0,0,0
3,0,0,0,0
4,0,0,0,0
FAT Volume info for partition: 1
Volume is FAT12
clusterSize: 8
clusterCount: 3625
fatCount: 2
fatSize: 11
totalBlocks: 29063
FAT16 volume not found
type any character to start
init time: 4
Manufacturer ID: 18
OEM ID: IN
Product: 128MB
Version: 0.3
Serial number: 1061696064
Manufacturing date: 3/2005
Card Size(blocks): 245504
Partition Table:
part,boot,type,start,size
1,0,1,57,29063
2,0,0,0,0
3,0,0,0,0
4,0,0,0,0
Bad FAT boot sector signature for partition:
1
FAT16 volume not found

Card: 128MB integral

init time: 4
Manufacturer ID: 18
OEM ID: IN
Product: 128MB
Version: 0.3
Serial number: 1061696064
Manufacturing date: 3/2005
Card Size(blocks): 245504
Partition Table:
part,boot,type,start,size
1,0,1,57,29063
2,0,0,0,0
3,0,0,0,0
4,0,0,0,0
Bad FAT boot sector signature for partition:
1
FAT16 volume not found

Card: 2GB jessops

init time: 8
Manufacturer ID: 3
OEM ID: SD
Product: SD02G
Version: 8.0
Serial number: 308209666
Manufacturing date: 12/2009
Card Size(blocks): 3862528
Partition Table:
part,boot,type,start,size
1,0,6,135,3858489
2,0,0,0,0
3,0,0,0,0
4,0,0,0,0
FAT Volume info for partition: 1
Volume is FAT16
clusterSize: 64
clusterCount: 60281
fatCount: 2
fatSize: 236
totalBlocks: 3858489
Root Directory:
name ext att size

Captain it seems you have a good selection there, it would be interesting to know what's behind the brand, on the back of the cards either printed or embossed is the maufaturers mark, alot of mine seem to be Toshiba and they are the ones i have trouble with

ok, here's the details from the back. I also thought of cracking the cards open and having a look at the IC itself, I don't mind doing it to the 16MB (it's been apart and has been glued back..) but the others i'm a little unwilling to. There cannot be that many ICs out there that do this job. I brought another card back from work and have taken the one from the wii too.

  1. jessops 2GB :
    BE0934214685G
    made in china

  2. Integral 128MB:
    128MB
    FH0510012cH0510Pa

  3. Panasonic 16MB:
    0000 SU4DC041460
    RP-SDO16B made in Japan

maybe worth mentioning that i bought these two at the same time and I remember the top being slightly faster for some reason, but have forgotten why.

  1. integral 512MB:
    SD-F512
    0537 TK2032M
    made in Japan

  2. integral 512MB: (wii)
    CE N723
    Toshiba
    SD-M512
    0547 TM7227M
    made in Japan

  3. Sitecom 128MB:
    F80427017c80431La0

I have noticed that 2 and 6 have the same serial format (lower case letters)

I have taken the stickers off the cards and found that 4 and 5 both have the same design underneath except that one has Toshiba on it and one doesn't. I'll take a photo and post it.

Details form the two additional cards

  1. integral 512MB: (wii)

init time: 648
Manufacturer ID: 2
OEM ID: TM
Product: SD512
Version: 1.5
Serial number: 805527694
Manufacturing date: 11/2005
Card Size(blocks): 1000448
Partition Table:
part,boot,type,start,size
1,0,6,233,1000215
2,0,0,0,0
3,0,0,0,0
4,0,0,0,0
FAT Volume info for partition: 1
Volume is FAT16
clusterSize: 32
clusterCount: 31248
fatCount: 2
fatSize: 123
totalBlocks: 1000215
Root Directory:
name ext att size

  1. Sitecom 128MB:

init time: 1
Manufacturer ID: 18
OEM ID: IN
Product: 128MB
Version: 0.10
Serial number: 1588857616
Manufacturing date: 7/2004
Card Size(blocks): 244480
Partition Table:
part,boot,type,start,size
1,0,6,99,244381
2,0,0,0,0
3,0,0,0,0
4,0,0,0,0
FAT Volume info for partition: 1
Volume is FAT16
clusterSize: 4
clusterCount: 60967
fatCount: 2
fatSize: 239
totalBlocks: 244381
Root Directory:
name ext att size

First up, thanks to our friends at google

http://www.google.co.uk/images?q=toshiba+sd+card&um=1&ie=UTF-8&source=og&sa=N&hl=en&tab=wi&biw=1280&bih=905

I've also tried refomatting both SD cards that didn't work with the XP pro storage management tool in control panel>admin tools>computer management. The 128 was straight foward, the 16MB i set the allocation size to 1024 as mentioned in the thread above, Thanks Robtillaart you may have saved an otherwise dead card. the results are:

2)128MB

init time: 145

Manufacturer ID: 18
OEM ID: IN
Product: 128MB
Version: 0.3
Serial number: 1061696064
Manufacturing date: 3/2005

Card Size(blocks): 245504

Partition Table:
part,boot,type,start,size
1,80,6,32,245216
2,0,0,0,0
3,0,0,0,0
4,0,0,0,0

FAT Volume info for partition: 1
Volume is FAT16
clusterSize: 4
clusterCount: 61176
fatCount: 2
fatSize: 239
totalBlocks: 245216

Root Directory:
name ext att size

3)16MB

init time: 414

Manufacturer ID: 1
OEM ID: PA
Product: S016B
Version: 4.1
Serial number: 1800454980
Manufacturing date: 4/2004

Card Size(blocks): 29120

Partition Table:
part,boot,type,start,size
1,0,1,57,29063
2,0,0,0,0
3,0,0,0,0
4,0,0,0,0

FAT Volume info for partition: 1
Volume is FAT16
clusterSize: 2
clusterCount: 14455
fatCount: 2
fatSize: 57
totalBlocks: 29063

Root Directory:
name ext att size

All cards now seem to be working.

Found a link that you may find interesting on implementing FAT on sd/mmc and compact flash cards.

http://www.compuphase.com/mbr_fat.htm

Haven't read it, but had a scan through.

Thanks, most usefull, you seem to have had more luck than me