short-changed on SD card?

William Bulley web at umich.edu
Mon Feb 2 09:57:54 PST 2009


According to Mel <fbsd.questions at rachie.is-a-geek.net> on Mon, 02/02/09 at 12:46:
>
> On Monday 02 February 2009 07:52:44 William Bulley wrote:
> > Recently purchased a brand new 2.0 GB secure digital (SD) card.
> >
> > When I plugged this into a USB dongle and plugged the USB dongle
> > into an available USB socket on my FreeBSD 7.0-STABLE system the
> > output from dmesg(8) reported this:
> >
> >    da1: 960MB (1967616 512 byte sectors: 64H 32S/T 960C)
> >
> > This is much closer to 1.0 GB than 2.0 GB so I at once wondered
> > if I had been scammed in my purchase of this brand new SD card.
> >
> > Once I'd mounted /dev/da1s1 on /mnt, the df(1) command also reported
> > 960 MB.  I then copied a 300+ megabyte file onto /mnt and then ran
> > the df(1) command again.  This time it reported 1.9 GB total and
> > 1.6 GB available.  WHAT IS GOING ON HERE?  Am I going crazy?
> 
> On a hunch, it's really 1G FAT, 1G HFS ("mac"). You could reformat it using 
> fdisk/newfs.

That might be a good hunch, but the SD card itself just says "2.0 GB" on the
outside - no mention there or when I purchased it to have any Mac-ness.

I don't recall seeing anything Mac-ish when I ran the fdisk(8) command as

   % fdisk da1

The output then seemed to correctly reflect that partition (slice) one (1)
was 960 MB in size.  I tried later (once the system had recovered and the
fsck(8) had finished) to use fdisk(8) to put 1920 MB into slice one.  But
that didn't seem to work.  I marked all the other three slices as "UNUSED".
Is there any trick to using fdisk(8) that is hidden in the man page which
I evidently missed?  I used the "-i" flag and it led me by the had through
each slice - I thought I did the "right" thing, but I was never able to
mount(8) the SD card after that, even though dmesg(8) reported "da1" as
being there.  I kept getting "invalid parameter" or the like when I tried
mounting as I am used to:

   # mount_msdosfs -l /dev/da1s1 /mnt

I also tried:

   # mount_msdosfs -l /dev/da1 /mnt

But both versions failed.  Finally, in desperation, I formatted the SD card
on a Windows XP laptop.  Windows put it back into FAT shape (using the low
level - not the "quick" - format there) and gave it 960 MB, sigh...   :-(

Regards,

web...

--
William Bulley                     Email: web at umich.edu



More information about the freebsd-questions mailing list