Bug 19703

Summary: HTP366 ATA66 lockup with Fast ATA66 Drives
Product: Base System Reporter: tgeorge <tgeorge>
Component: miscAssignee: Søren Schmidt <sos>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: Unspecified   
Hardware: Any   
OS: Any   

Description tgeorge 2000-07-05 01:00:02 UTC
IBM 7200RPM drive with datarate over 35Mb/s will cause interupt problems on highpoint HPT 366 and VIA 82C686 Chipsets in ATA66 mode.
Slower drives less of problem, or if IBM switched to UDMA2 no problem.

They are all fine with Promise ATA66 in udma4, (high utilisation, idle <40% vs >95% on other ata66 cards)

New drivers let VIA 596B recognised as ATA66 but giving ATA33 performance 29Mb/s (as if drive has been switched to UDMA2, will run 35Mb/s on true VIA 32C686 chipset)

Fix: 

change IBM Drive down to ATA33 with udma setting utility
How-To-Repeat: cp /dev/ad0s1 /dev/null
will hardlock machine after 20-30 sec on HPT 366. sometimes will generate READ COMMAND TIMEOUT, especially if another drive is busy. after auto-reseting device, will resume transfer.

on VIA 82C686 ATA66, will cause "ad0:UDMA ICRC WRITE ERROR blk# xxxxxx retrying" during writing, but ok.

Tried multiple drives and machines. Used both Intel 650 coppermine and K7-650.

Using "iostat -c1000" on virtual terminal to monitor transfer rate and activity.

All problems same on either original kernal from 4.0 RELEASE, or rebuild kernal with revised ata drivers.
Comment 1 sos 2000-07-05 09:59:52 UTC
It seems tgeorge@soundsampler.com wrote:
> IBM 7200RPM drive with datarate over 35Mb/s will cause interupt problems on highpoint HPT 366 and VIA 82C686 Chipsets in ATA66 mode.
> Slower drives less of problem, or if IBM switched to UDMA2 no problem.
> 
> They are all fine with Promise ATA66 in udma4, (high utilisation, idle <40% vs >95% on other ata66 cards)
> 
> New drivers let VIA 596B recognised as ATA66 but giving ATA33 performance 29Mb/s (as if drive has been switched to UDMA2, will run 35Mb/s on true VIA 32C686 chipset)
> 
> >How-To-Repeat:
> cp /dev/ad0s1 /dev/null
> will hardlock machine after 20-30 sec on HPT 366. sometimes will generate READ COMMAND TIMEOUT, especially if another drive is busy. after auto-reseting device, will resume transfer.
> 
> on VIA 82C686 ATA66, will cause "ad0:UDMA ICRC WRITE ERROR blk# xxxxxx retrying" during writing, but ok.
> 
> Tried multiple drives and machines. Used both Intel 650 coppermine and K7-650.
> 
> Using "iostat -c1000" on virtual terminal to monitor transfer rate and activity.
> 
> All problems same on either original kernal from 4.0 RELEASE, or rebuild kernal with revised ata drivers.
> >Fix:
> change IBM Drive down to ATA33 with udma setting utility

Hmm, although I've tried hard I cannot reproduce this, are you sure your
ATA66 cables are up to specs, and that your powersupplies has enough
power to drive all your drives ??

On the 82C596B front, you might be right, I dont have the HW in my lab and
this change was based on reports that it worked...

-Søren
Comment 2 Sheldon Hearn freebsd_committer freebsd_triage 2000-07-05 11:33:56 UTC
Responsible Changed
From-To: freebsd-bugs->sos

This is Soren's, to do with as he sees fit.
Comment 3 support 2000-07-07 09:42:29 UTC
We are having similar problems described here.

We built a machine with an Abit BE62 mobo, using the HPT366 controller and
intel bx chipset.  The mobo had 4 ide ports, 2xATA33 and 2xATA66.
We also have an Adaptec 2940U2W scsi which is used to drive an AIT-2 drive and
a scsi boot drive.

The ATA33 has the CDROM drive and the ATA66 has 4 x Maxtor DiamondMax 40Gb
hard disks, Freebsd confirms that each is running at ATA66 speed (and we've
good ata66 ide cables).

The machine was cvsuped to 4.0-stable about 3 weeks ago (no further updates
since then) and I used various hd configs each with little success.

I originally had vinum raid5 configured on the 4 drives which didn't work very
well and when freebsd complained of "ad4 timeout, resetting" I presumed it was
because of simultaneous ide bus usage sucking the cpu and that maybe freebsd
didn't like that. So I switched to vinum raid0 concat (thinking no
simultaneous access from multiple drives - the drives are only being used as
Amanda temp/spooling storage before being dumped to tape).  No joy, same
"ad[4567] read timeout" errors.  Splitting the drives into normal mounted /d1
.. /d4 would still cause freebsd to lock up.

We then found this bug report and used the BIOS to set the ATA66 sockets to
ATA33 speed - this didn't work.

Essentially each drive works fine up to a point (of which I'm unsure) but I
know
that the drives are being written to constantly at about <10Mb/sec (as that is
what amanda is configured for) and it always locks up during the nightly
amdump.

We're now removing the cdrom and going to plug the drives into the ata33
ports.

Essentially the ATA66 "functions", but is very unstable.

Hope this helps to make ata66 better.

Paul Gregg.
Comment 4 Søren Schmidt freebsd_committer freebsd_triage 2000-11-14 08:46:13 UTC
State Changed
From-To: open->closed


The problems with fast driver and the HPT366 are known, but unfortunately 
there is no known solution to it (yet).