Subject: HPT366 lockups
To: None <port-i386@netbsd.org, tech-kern@netbsd.org>
From: Sean Davis <dive-nb@endersgame.net>
List: port-i386
Date: 04/09/2002 07:32:13
Hi, for as long as I can remember, I've been having this problem. The
problem is when I do a bunch of disk I/O on my second ATA66 drive, my
machine totally locks up. It's repeatable, but not always the exact same
circumstances will cause it. Sometimes it happens when I had been doing
things with the second ATA66 drive (from here on just referred to as wd1)
and do something that causes a lot of activity on the first ATA66 drive
(from here on referred to as wd0), sometimes when moving files around on wd1
without touching wd0, but basically the best way I can think of to describe
what leads to it happening is "a bunch of disk I/O."

My configuration is:
Abit BE6-II motherboard with latest bios update (HPT366 BIOS v1.25)
Intel Pentium-III Celeron at 533mhz

First IDE controller:
Master: ASUS CD-ROM
Slave: Pioneer DVD-ROM
Second IDE controller:
Master: MATSHITA CD-RW
First ATA66 controller:
Master: IBM Deskstar ATA66 (19674MB)
Second ATA66 controller:
Master: IBM Deskstar ATA100 (19470MB) (running at ATA66)

I have been looking through the mailing list archives, and I'm not the only
one who has had this problem, but I don't see any solutions or workarounds
(other than switch the disks to using PIO, which isn't an option, if I
wanted PIO I wouldn't have bought ATA66 disks)
I think the most important thing to note here is that this never once
happened in Windows 98, and the last time I tried Win98 I had the same drive
on the first ata66 controller, and a maxtor ATA66 on the second. I am 100%
positive it isn't happening because wd1 is bad, because I have had this
happen with something like four or five different ATA66 drives up to this
point.
So ISTM there is some quirk/bug/whatever in the HPT366 on the Abit BE6/BP6
motherboards relating to using both ATA66 channels that windows handles
correctly, and NetBSD doesn't? Maybe correctly isn't the word, but handles
without the system locking up in any case.
Does anyone know if this is fixable in NetBSD at all?
I am probably going to be buying a Promise PCI ATA100 TX2 card as soon as I
can afford it, but I would really like the existing hardware configuration
to work.

FWIW, this happened in FreeBSD as well. I didn't have two ata66 drives in
here during the short time this box ran Linux, so I never found out if Linux
would have the same problem, though if what I've found sifting through the
web for information, it seems that Linux does.

Any help is greatly appreciated.

-Sean

kernel is 1.5ZC, sources updated earlier today (20020409).
dmesg output for pciide[12] and wd:
pciide1 at pci0 dev 19 function 0: Triones/Highpoint HPT366 IDE Controller
pciide1: bus-master DMA support present
pciide1: primary channel wired to native-PCI mode
pciide1: using irq 11 for native-PCI interrupt
wd0 at pciide1 channel 0 drive 0: <IBM-DPTA-372050>
wd0: drive supports 16-sector PIO transfers, LBA addressing
wd0: 19574 MB, 16383 cyl, 16 head, 63 sec, 512 bytes/sect x 40088160 sectors
wd0: 32-bit data port
wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 4 (Ultra/66)
wd0(pciide1:0:0): using PIO mode 4, Ultra-DMA mode 4 (Ultra/66) (using DMA data transfers)
pciide2 at pci0 dev 19 function 1: Triones/Highpoint HPT366 IDE Controller
pciide2: bus-master DMA support present
pciide2: primary channel wired to native-PCI mode
pciide2: using irq 11 for native-PCI interrupt
wd1 at pciide2 channel 0 drive 0: <IC35L020AVER07-0>
wd1: drive supports 16-sector PIO transfers, LBA addressing
wd1: 19470 MB, 16383 cyl, 16 head, 63 sec, 512 bytes/sect x 39876480 sectors
wd1: 32-bit data port
wd1: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100)
wd1(pciide2:0:0): using PIO mode 4, Ultra-DMA mode 4 (Ultra/66) (using DMA data transfers)


-- 
/~\ The ASCII                         Sean Davis
\ / Ribbon Campaign                    aka dive
 X  Against HTML
/ \ Email!               http://eros.endersgame.net:8000/~dive