Date: Thu, 16 Jan 2003 17:19:23 -0800 (PST) From: "James J. Ramsey" <jjramsey_6x9eq42@yahoo.com> To: freebsd-bugs@freebsd.org Subject: Possible bugs in setting UDMA speed (Re: Semirandom bug in FreeBSD's ATA querying) Message-ID: <20030117011923.98991.qmail@web10708.mail.yahoo.com>
next in thread | raw e-mail | index | archive | help
--- "James J. Ramsey" <jjramsey_6x9eq42@yahoo.com> wrote: > Background: > > I had been trying to switch from Linux to FreeBSD; > however, the last time I tried, FreeBSD couldn't get > the disk geometry correct; the cylinder count from > FreeBSD was wildly inflated and inconsistent from > install attempt to install attempt. This was for > version 4.5 of FreeBSD. When I posted to > comp.unix.bsd.freebsd.misc asking if FreeBSD 4.7 had > the same problem, someone suggested that I attempt > an > install from boot floppies, and if there is still a > problem, abort before committing to the install. > Ever > since then, I've been experimenting with the boot > floppies, trying to see if I could find ways of > either > making the problem disappear or diagnosing it. > > Current problem: > > Almost every time I attempt to install FreeBSD, it > complains that the disk geometry is bad, reporting a > wildly inflated cylinder count that changes from > install attempt to install attempt. A few times, > FreeBSD reads the cylinder count correctly, but upon > the next install attempt, the inflated count is > back. -- snip -- > The following kernel message is from a FreeBSD > install. I captured it by pressing Scroll Lock and > pressing the Page Up key to get to the text: > > ad0: 8866663634010175MB > <?U}O|U}!~IEzA~M~!|M~1.5?!?!~!~!?!?!~!?!> > [16955114026566160/17/63] at ata0-master PIO4 > > The garbage between the angle brackets should be the > name of the hard drive [namely "QUANTUM FIREBALLP LM20.5"] I've managed to figure out how to get FreeBSD to recognize my drive correctly, and in the process, I think I've found more-or-less what FreeBSD has been doing wrong: From the ata(4) man page: "However the ata driver sometimes issues the message ``DMA limited to UDMA33, non-ATA66 cable or device'', if the cable is ATA66 (or above) compliant, it is because the other device on this channel states it can only accept up to UDMA2/ATA33 signals." Now my hard drive was my IDE primary master, and my primary slave was my CD-ROM drive, which does not do DMA. I should have seen that message about DMA being limited to UDMA33, yet I didn't. So, I did the following: 1) Kept the hard drive as primary master, but changed the CD-ROM from primary slave to secondary master. 2) Used an IDE cable fit for UDMA66 for the primary master (hard disk) and used my old IDE cable, which probably was not for ATA66 use, for the secondary master (CD-ROM). Lo and behold, FreeBSD no longer was getting garbage cylinder counts nor a garbage hard disk name; it reported the name as "QUANTUM FIREBALLP LM20.5" just as it should be. I did the "begin the install but abort before committing routine" three times, and three times, FreeBSD handled the hard drive correctly. (This is with the 5.0-RC3 install floppies.) It looks to me like the behavior of the ata driver did not match what the man page for the driver said it was supposed to be. The DMA speed was supposed to downgrade gracefully to something the cables and devices could handle. __________________________________________________ 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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030117011923.98991.qmail>