Subject: Re: mount_ados checksum errors
To: Karl Ivar Dahl <karld@ifi.uio.no>
From: Michael L. Hitch <osymh@gemini.oscs.montana.edu>
List: amiga
Date: 10/20/1994 10:40:33
On Oct 20, 10:10am, 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??

  This isn't too suprising - you have configured the AmigaDOS side to
negotiate synchronous transfers, so the disk drive will probably be
doing synchronous transfers.  The default in NetBSD is to NOT negotiate
for synchronous transfer, so the driver won't be set up to synchronous
transfers. At this point, the driver and disk driver are in
dis-agreement in what mode to do the transfers in, and probably can not
commuicate.

  If you are running AmigaDOS with synchronous transfer enabled, you will
have to explicitly enable them in NetBSD, by patching _sbic_inhibit_sync
to 0.

  I have wondered if the problem in NetBSD with synchronous transfer is in
the negotiation of the transfer, or in the actual transfer.  If it's the
actual transfer that is the problem, then the driver should be able to
request the drives to do asynchronous transfers if _sbic_inhibit_sync is
set.  That way, the driver should be able to work no matter what state
the drive is in when NetBSD starts.

Michael

-- 
Michael L. Hitch			INTERNET:  osymh@montana.edu
Computer Consultant
Office of Systems and Computing Services
Montana State University	Bozeman, MT	USA