Testing SD cards on a mac.

Tomorrow I will be shooting at the in-laws golden wedding anniversary party. That means leaving film based toys at home and breaking out the d3100, probably with the kit 18 – 55 vr lens, the 1.8 35mm for low light work and a speed light for flash.

It’s pretty unusual for me to need more than one SD card but tomorrow is a big day for Mike and Enid, (Mike’s just had a really unpleasant health scare so I want to push the boat out and give them some images that are special). That means machine gun mode will be on and my usual 8GB card will be filled in minutes.

I have a stack of older Veho SD cards in the house, when I first got the D3100 I had issues with raw files coming out corrupted when pulled into Lightroom 4. I never worked out what the problem was. To get around this I just bought a new SD card reader and a new “pro” SD card. The cheap veho’s have sat in other things like the home raspberrypi until now.

Before you start this you need to erase anything on the SDcard via Disk utility. select the correct device got to the erase tab, go to security and drag the slider over until it is one step away from fastest, (the text should change to say something about single 0 passes), now run an erase. this will flatten the card for you

The Software

We will be using F3 by Michel Machado.  You’ll need to compile it yourself. I am presuming you have xcode installed, if not get it via the appstore, just as you would anything else, it is free.

  • Grab the source from Github
  • Open a terminal
  • Type cd ~/Downloads/AltraMayor and hit tab, the line should autocomplete to the full path.
  • Hit return to move to the directory you just stipulated
  • now we need to compile the program with make mac. 
  • You are done!
You should see something like this:

gcc -Wall -DAPPLE_MAC -c utils.c
gcc -Wall -DAPPLE_MAC -c f3write.c
gcc -Wall -DAPPLE_MAC -c f3read.c
gcc -o f3write utils.o f3write.o -lm
gcc -o f3read utils.o f3read.o

Next step is to make sure we get the right thing before we start throwing data at the card.

ls /volumes 

Gives us

Local Drive MobileBackups card

I guess we want the one called card then, lets throw some data at it and see what speeds we get.


The app will write loads of data now and you can get a feeling for how fast the card is. The Veho I was testing worked at 6MB/s to start and then peaked at 14.95MB/s, the slowest speed is the one we worry about. 6MB/s indicates a class 6 card. Which is just up to Nikons Specs for the camera.

Of course my issue was corrupt files. So is the data being written actually being stored properly?


Every bit of data came back fine on my card.

Fromm the above I was able to deduce that card was fine and the reader was causing the issues. Thinking about it now, this makes sense as the images were fine when pulled from this card, in camera, via USB cable.

A last observation

SDcards work just like hard drives in that they flag and avoid bad sectors / bits of storage medium. But they ONLY DO THIS ONCE THEY FIND THE BAD SECTORS BY FINDING CORRUPT DATA. From now on I will be using F3 to soak test all cards every so often, especially on new cards.




Tags: , , ,

Leave a Reply