I have a couple of ATA133 (UDMA6) disk drives connected to an Intel
ICH5 IDE (parallel ATA) controller.  My FreeBSD 4.9-release ATA driver
limits them to ATA33 (UDMA2) without comment.  (I.E. There are no
warning messages.)  The reason is that when the ata_dmainit() routine
reads the PCI config space "IDE I/O Configuration Register" for the
IDE controller (offset 0x54, known in the driver as "word54"), it gets
nothing but zero bits.  In the Intel ICH5 datasheet, bits 4-7 (one
for each possible IDE device) are described as:

        xxx xxx Channel Cable Reporting - R/W.  BIOS should program
        this bit to tell the IDE driver which cable is plugged into
        the channel.

        0 = 40 conductor cable is present
        1 = 80 conductor cable is present

I tried three different 80 conductor UDMA cables.  I examined them
carefully.  I even checked for correct wiring of the PDIAG/CBLID
signal lines with an ohmmeter.

My question is this: is the problem likely to be the BIOS failing to
correctly set the bits or could something in FreeBSD somehow be
incorrectly clearing the bits before the ata_dmainit() routine runs?
(I grepped the driver sources for occurrences of 0x54 and found no
culprit.)

My motherboard is a Gigabyte 8KNXP and the BIOS is an AWARD BIOS,
version F8.

Dan Strick
[EMAIL PROTECTED]
_______________________________________________
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to