Subject: Re: mount_ados checksum errors
To: Karl Ivar Dahl <karld@ifi.uio.no>
From: Eduardo E. Horvath eeh@btr.com <eeh@btr.btr.com>
List: amiga
Date: 10/20/1994 09:32:22
On Thu, 20 Oct 1994, Karl Ivar Dahl wrote:

> Maybe this is a bit on the side, but....
> I got a program called SCSI prefs for the A3000 yesterday, and it
> could set a bit for synchronous transfer for the A3000 SCSI driver in
> novolatile RAM. When I enabeled this, the ADOS side was working OK
> (no speed increase though), but the NetBSD boot choked on the first
> HD it found. It just hung right after printing sd1d.
> (My tape streamer was checked OK) So I wonder exactly
> what the sync enable bit on the A3000 controller has to say??
> I would believe the NetBSD kernel would fix the synchronous transfer
> itself??

I believe that the following is still accurate:

NetBSD does not use the values stored in the NVRAM to configure the
SCSI driver.  All that does is change the way AmigaDOS behaves.
However, since AmigaDOS boots first and configures the drives before
NetBSD comes up, it does have an indirect effect.

When NetBSD boots, it goes through the drive list and attempts to
query each drive.  Since it does not know what the AmigaDOS driver
negotiated with the drives before, it must re-negotiate or the bus
will lock up.

Some drives, notably Quantums, unexpectedly hang up when the driver
attempts sync negotiation, violating the SCSI spec.  The current
driver doesn't how to handle this, and the inhibit_sync flag was added
an ugly kluge to work around this behavior.

Other drives, like my Fujitsu, automatically request synchronous
transfers from AmigaDOS, and need inhibit_sync cleared.

After a while, I got sick of the problem and developed a fix for the
sync negotiation routine that seems to solve this problem.  I can now
run both my Q40S and my Fujitsu at the same time.  However, the patch
has never been integrated into the current SBIC drivers. (You should
be able to find it in the mailing list archives.)

As far as speed is concerned, most of the time you're waiting on the
drive to read the data off the disk platters, so sync or no sync make
little difference.

> If I turn it off, does that mean that I can not get ANY sunchronous
> transfers on any drives?

I don't know how the A3000 AmigaDOS drivers work, but the A2091
drivers will run sync if the drive initates the request.

> Also, I am about to buy a used 500MB Quantum drive. Would you 
> recommend me to buy somethig else instead? I read that quantums
> were poorly supported when it comes to sunchronous transfers.

If you do that, get my sync negotiation patch.

Eduardo