Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 2 Feb 2009 12:56:19 -0500
From:      William Bulley <web@umich.edu>
To:        Mel <fbsd.questions@rachie.is-a-geek.net>
Cc:        freebsd-questions@freebsd.org
Subject:   Re: short-changed on SD card?
Message-ID:  <20090202175619.GD1012@dell1>

next in thread | raw e-mail | index | archive | help
According to Mel <fbsd.questions@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@umich.edu




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090202175619.GD1012>