Date: Tue, 19 Nov 2002 20:18:27 +1100 (EST) From: Bruce Evans <bde@zeta.org.au> To: Hari Bhaskaran <subscr@spider.netmails.net> Cc: freebsd-hardware@FreeBSD.ORG Subject: Re: problems detecting drive dimensions for maxtor 120GB ide/ata Message-ID: <20021119193959.F30027-100000@gamplex.bde.org> In-Reply-To: <20021118232338.A43068@spider.netmails.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 18 Nov 2002, Hari Bhaskaran wrote: > I have a maxtor 120GB IDE disk on a Supermicro P4SBE mother board. > The bios reports the size of the hard disk as > (Total size: 122 GB -- close enough!) > > Cylinder: 58853 > Head: 16 > Precomp: 0 > Landing zone: 58852 > Sector: 255 > > FreeBSD 4.7 install reports the error message. > > "WARNING: A geometry of 238216/16/63 for ad0 is incorrect. Using a > more likely geometry." > > It appears to be correct (although the bios reported different > values) when I refer to > http://www.maxtor.com/en/documentation/quick_specs/diamondmax_plus_9_quick_specs.pdf > > So what am I missing? Is the BIOS wrong? I am already sysinstall is broken here (it is no different in -current). It doesn't like the number of cylinders being >= 65536, but this is no more of a problem than the number of cylinders being >= 1024 (an old limit due to older mistakes) provided the BIOS can handle it. sysinstall also doesn't like the number of heads being > 256 or the number of sectors being >= 64. BIOSes are very unlikely to handle these and manufacturers data is even less likely to say to use them. Even 256 heads is problematic (it should work, but there are many broken BIOSes that can't handle it). Sanitize_Bios_Geom() uses the correct limit of 255. When sysinstall doesn't like one of these parameters, it calls Sanitize_Bios_Geom() to modify the geometry to one that it likes, at least in -current. Unfortunately, it does this unconditionally. I think your geometry would just work otherwise. The modified geometry might work too, or it might be inconsistent with the BIOS (the geometry can be almost anything, but most firmware and software has to agree on what it is). There are 2 other limits which may cause related problems soon: the 28-bit LBA limit for old ATA disks (128GB or 137 disk manufacturers GB) and the limit of 65535*255*63 given by multiplying the BIOS limits (about 4 * 128GB). The sysinstall limit of 65535 or 65536 cylinders is related to the hardware limit of 6553[5-6] heads for old ATA. This limit is bogus even for old ATA in LBA mode and in some BIOS's virtual CHS modes, and just broken for current ATA. When disk sizes exceed 512MB (less epsilon), all disks will fail sysinstall's current sanity tests even after they have been sanitized. Bruce To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hardware" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20021119193959.F30027-100000>