Date: Thu, 29 Mar 2007 20:53:38 -0600 (MDT) From: "M. Warner Losh" <imp@bsdimp.com> To: ticso@cicely.de, ticso@cicely12.cicely.de Cc: cvs-src@freebsd.org, src-committers@freebsd.org, cvs-all@freebsd.org Subject: Re: cvs commit: src/sys/boot/arm/at91/libat91 sd-card.c Message-ID: <20070329.205338.1716877910.imp@bsdimp.com> In-Reply-To: <20070328224651.GE80382@cicely12.cicely.de> References: <200703282231.l2SMVWTi069642@repoman.freebsd.org> <20070328224651.GE80382@cicely12.cicely.de>
next in thread | previous in thread | raw e-mail | index | archive | help
In message: <20070328224651.GE80382@cicely12.cicely.de> Bernd Walter <ticso@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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070329.205338.1716877910.imp>