Subject: Re: major lossage with ahc driver (pci)
To: None <jmc@pobox.com>
From: Justin T. Gibbs <gibbs@freefall.freebsd.org>
List: port-i386
Date: 05/22/1996 06:58:08
>>
>>My guess is that Ultra mode was enabled in SCSI-Select and that you were
>>hitting a sync rate setting that doesn't work in Ultra mode.  I received a
>>few other reports similar to yours, and the patch I committed to FreeBSD
>>this morning seems to solve the problem.  Both Noriyuki Soda and Charles
>>Hannum have received this patch for review and inclusion in NetBSD-current.
>
>Ok, I did some testing on my setup here which has a normally perfectly
>working ahc driver.

This being the older driver?

>I had disabled wide negotiation for all my drives and ultra clocking is
>off.

>Enabling wide negotiation (the default for all devices) causes the ahc
>driver to hang on each drive, reset the card a couple of times, timeout
>and then finally die with messages about the card being dead.

Hmmmm.

>Turning off wide negotiation for those drives but turning on ultra clocking
>(which I till need when I buy a ultra wide barracuda soon), the driver
>loses yet again with similiar messages but actaully managed to boot. Problem
>is, that it lost one my drives and didn't even find it on the probe. Yet again
>,
>then major lossage.

Right.  It tried to use the 5.7MHz sync entry which doesn't work when in
Ultra mode.

>Turning off ultra mode in SCSI-select simply isn't an option for me soon 
>since I'll have a drive that could possibly use it. And since it's not
>a per target option (except I can set max sync rate on each target) that
>bites hard.

Well, I guess I should have posted my commit message.  My change makes the
Ultra setting a per-target setting (Ultra mode is toggled during run time)
since the only valid sync rates when you turn on Ultra are 20Mhz, 16.0MHz,
13.4MHz, and 5.0MHz (undocumented).  So, you should, in theory, be able to
just turn on Ultra (after this change) and the driver will use non-Ultra
mode to talk to all of your periferals that can't do 13.4MHz or better.
Of course, I don't own a wide drive, or any Ultra periferals, (few people
have Ultra drives yet) so there may be some additional work I need to
do to make Ultra work 100% once someone can give me some feedback.

>Anyways, the point being I shouldn't have to go messing with scsi-select
>options simply to use this card/driver. The driver should be able to handle
>whatever settings the card currently has, and it's a real pain each
>time I move drives around or add them to have to go in and disable wide
>negotiation.

You're preaching to the choir.  That has always been my goal.  I only
recommend for people to play with them so I get more information about the
failure modes.

>Since this setup boots fine under Dos/window NT/etc I know it's possible
>to probe the drives and such with wide negotiation turned on for everything
>and ultra clocking on. 

Sure its possible.  Although its much easier if you work for Adaptec and
can ask an engineer why X doesn't work the way its documented.  The
documentation looses big time in certain areas.

>I went ahead and reset the card back to wide turned off for my targets and
>no ultra clocking so I can use the machine. If there's anything I can
>do to help test out changes, lemme know.
>
>James

As soon as I have the NetBSD driver changes ported back into my code,
patches I make to FreeBSD should directly apply to NetBSD.  I plan to
do that sometime this week.  You can also contact Noriyuki Soda to
see if he's already ported the latest patch I sent him.

--
Justin T. Gibbs
===========================================
  FreeBSD: Turning PCs into workstations
===========================================