cvs commit: src/sys/boot/arm/at91/libat91 sd-card.c
M. Warner Losh
imp at bsdimp.com
Fri Mar 30 02:54:01 UTC 2007
In message: <20070328224651.GE80382 at cicely12.cicely.de>
Bernd Walter <ticso at cicely12.cicely.de> writes:
: On Wed, Mar 28, 2007 at 10:31:32PM +0000, Warner Losh wrote:
: > imp 2007-03-28 22:31:32 UTC
: >
: > FreeBSD src repository
: >
: > Modified files:
: > sys/boot/arm/at91/libat91 sd-card.c
: > Log:
: > All SD cards have a block size of 512. The READ_BL_LEN field in the
: > CSD is usually 512 (well, 9), but for 2GB (and the rogue 4GB SD cards)
: > it is 1024 (or 2048 for 4GB). This value doesn't work for the block
: > read commands (which really want 512). Hardcode 512 for those. This
: > may break really old MMC cards that don't have a 512 block size (I've
: > never seen one: make my day and send me one :-), but since the MMC
: > side of the house is currently broken, it should only have the effect
: > that 2GB (and non-conforming 4GB) SD cards will work.
:
: Great!
: That explains why the partition table was read fine with my 2G card,
: but although it calculated the right block it failed to read the
: disklabel.
Yes. Your report is what 'twigged' me to there being something
wrong. I went out and bought a 2GB card at one of the local office
stores for something like $25.00 and when it didn't work, I had a
flash of inspiriation about why the 'non-standard 4GB SD card' and the
2GB cards didn't work...
Warner
More information about the cvs-src
mailing list