Skip site navigation (1)Skip section navigation (2)
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>