From owner-freebsd-bugs Sun Jan 12 11:19:33 2003 Delivered-To: freebsd-bugs@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 06F9237B401 for ; Sun, 12 Jan 2003 11:19:32 -0800 (PST) Received: from web10703.mail.yahoo.com (web10703.mail.yahoo.com [216.136.130.211]) by mx1.FreeBSD.org (Postfix) with SMTP id A380443F13 for ; Sun, 12 Jan 2003 11:19:31 -0800 (PST) (envelope-from jjramsey_6x9eq42@yahoo.com) Message-ID: <20030112191931.26473.qmail@web10703.mail.yahoo.com> Received: from [66.219.135.59] by web10703.mail.yahoo.com via HTTP; Sun, 12 Jan 2003 11:19:31 PST Date: Sun, 12 Jan 2003 11:19:31 -0800 (PST) From: "James J. Ramsey" Reply-To: jjramsey@pobox.com Subject: Re: Semirandom bug in FreeBSD's ATA querying To: freebsd-bugs@FreeBSD.ORG In-Reply-To: <20030112183638.I5726-100000@gamplex.bde.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org --- Bruce Evans wrote: > > Actually, it is indicative of a timing bug, which > may be > in either the hardware or the driver but is most > likely > in the hardware. Linux and the old FreeBSD driver > (wd) > have more compatibility cruft including delays to > support broken drives. You are probably right about it being a timing bug, although I'm not sure how that explains why FreeBSD gets correct, or at least consistent, results for the sector and head counts. (Only the cylinder count, disk capacity, and name are garbage under FreeBSD.) As far as the bug being in the hardware, I call bullsh*t. The drive I have has worked fine under several version of Linux, Win98, and WinXP. It is a very ordinary drive from a non-obscure, major manufacturer. This is not the picture of a "broken drive." The only ATA driver that chokes on the drive is FreeBSD's. That suggests that what is broken is the driver, not the drive. Saying that the Linux driver works because it has "more compatibility cruft" is no excuse. The ATA standard is crufty by nature. If an ATA driver can't properly drive an ATA device because it doesn't have the requisite cruft, that suggests that the driver is incomplete. > Try adding some delays near > the broken command. > > From ata-all.c: I can't do that. Classic Catch-22: I can only make and compile in those changes if I had a working FreeBSD system, but with this ATA driver problem, I can't have a working FreeBSD system. __________________________________________________ Do you Yahoo!? Yahoo! Mail Plus - Powerful. Affordable. Sign up now. http://mailplus.yahoo.com To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message