fat16 library + microSD card: error "card did not go ready"

I'm having a bizarre problem with the fat16 library. On a call to SdCard.begin() it throws an error: 2, which the documentation says means the "card did not go ready". This is annoying, but what really perplexes me is that the SdFat library and built-in SD library both work just fine.

I'm using an Arduino Uno with the Adafruit CC3000 Wifi shield. The card is a 4-Gig SanDisk micro SDHC card, formatted with a fat16 filesystem on a 2-Gig partition.

Why are you using fat16? SdFat works good.

It's not the size of the partition, it's the type card. most FAT16 libraries only support old standard 2GB or less cards, not larger SDHC cards.