Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 23 Jan 2003 17:01:05 -0800 (PST)
From:      "James J. Ramsey" <jjramsey_6x9eq42@yahoo.com>
To:        freebsd-bugs@freebsd.org
Subject:   Revisiting the semirandom bug/issue in FreeBSD's ATA querying
Message-ID:  <20030124010105.75261.qmail@web10703.mail.yahoo.com>

next in thread | raw e-mail | index | archive | help
I've been doing my best to sort out the issues with
the bug, issue, or whatever that FreeBSD has with
identifying my hard drive. The following is mostly a
summarizing of previous posts, plus some tidbits of
new stuff.

Background (this is mostly old material):

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.

My hardware:

IDE drives are the following:

* QUANTUM FIREBALLP LM20.5, ATA DISK drive
* Pioneer CD-ROM ATAPI Model DR-A04S 0105, ATAPI
CD/DVD-ROM drive

The hard drive is primary master, and the CD-ROM the
primary slave. Whether the CD-ROM acts as a master or
slave depends on a jumper setting.

My motherboard is an iWill KA266plus. When I first
starting dealing with the problem, the BIOS was the
original one installed by the manufacturer, but it has
recently been upgraded. The southbridge is a ALi
M1535D+ chipset.

Symptoms (some of this is old, some new):

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.
This has been true for FreeBSD versions 4.5, 4.7, and
5.0-RC2.

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, "QUANTUM FIREBALLP". Compare
this with the kernel message from Linux:

hda: QUANTUM FIREBALLP LM20.5, ATA DISK drive

The name of the disk drive is reported correctly.

This hard drive querying problem has never occured
under Linux, Windows XP, or an OpenBSD 3.1 snapshot,
although the last one had other problems, namely lack
of stability. (I do not have Windows XP anymore.) The
problem seems consistent for both the original and
upgraded BIOS. Setting the BIOS to explicitly use LBA
disk geometry rather that relying on the automatic
BIOS setting seems to make no difference either.
However, the problem appears to go away when I make
the CD-ROM into a secondary master rather than a
primary slave. 

I've experimented with a couple variants of the
master/slave setup. 

In the first and original setup, the hard drive was
the master, and the CD-ROM the slave. I used an IDE
cable from I-do-not-remember-where, and at the time I
neither knew nor cared whether it could handle ATA66.
This was the setup under which the problem first
showed up.

In the second setup, I scrounged up an ATA cable that
I knew could handle ATA66. I used this newer cable to
attach the hard drive to the motherboard, and I used
the old cable to attach the CD-ROM to the motherboard
as a secondary master. (The jumper for the CD-ROM was
moved accordingly.) In this setup, the ATA querying
problem went away, or at the very least, I could not
reproduce it (and I tried to, several times). Instead
I got the following healthy-looking kernel message:

ad0: 19595MB <QUANTUM FIREBALLP LM20.5>
[39813/16/63] at ata0-master UDMA66

The third setup was just like the first, only I
switched IDE cables. The old cable was used to connect
the hard drive to the motherboard, while the newer one
was used to connect the CD-ROM to the motherboard. I
could not reproduce the problem under this setup
either, it was just as it was with the second setup.

The fourth setup was like the first. The CD-ROM
returned to being a primary slave (and the jumper was
set accordingly). However, I used the newer IDE cable
rather than the old one. The problems from the first
setup returned.

David Schultz has the same make and model of hard
drive as I, yet has not been able to reproduce my
problem even after duplicating my master/slave setup.
To quote him:

> I have used the drive with the integrated IDE
> controllers on an
> ASUS P2B-F motherboard (440BX-based, ATA33) and an
> ASUS P3V4X
> (VIA 82C596 ATA66 controller), as well as with a
> Promise Ultra66
> card.  A subset of those controllers have been used
> with the drive
> in both master and slave configurations.

Also, Linux does *not* use UDMA66 on my hard drive by
default, but rather MDMA2. I got this from running the
command "hdparm -i /dev/hda". I have not tried
optimizing my hard drive speed, and I don't know if
explains the difference between the behavior of Linux
and FreeBSD. I also do not know how OpenBSD 3.x or
Windows XP set up their DMA defaults.

I have not tried a full installation of FreeBSD yet,
so obviously I haven't tried running a kernel with any
of the suggested modifications to the ATA driver code.

If you have any further diagnoses or ideas for further
narrowing down the problem, I'd love to read them.


__________________________________________________
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?20030124010105.75261.qmail>