Subject: SCSI driver and Sony tape drives
To: None <port-pc532@NetBSD.ORG>
From: Sverre Froyen <sverre@cyberneering.com>
List: port-pc532
Date: 06/28/1996 21:33:48
Hi,

I just got a Sony STD-7000 SCSI DAT drive that I connected to
my pc532 running 1.2 alpha from May 26.  Using the current
ncr driver I observe two types of errors.

(1)  With writes I get an abort after a few blocks.  The abort
always happens at the same point (perhaps when the drives
buffer is filled).  I have also observed a similar error on reads
for certain block sizes (sorry I can't be more specific).
	
	(sik.cyberneering.com): tar cf /dev/rst0 .
	ncr0: can not transfer more data
	ncr0: aborting, but phase=DATA_OUT (reset)
	ncr0: reset SCSI bus for TID=6 LUN=0
	tar: can't write to /dev/rst0Message Catalog System: corrupt file.
	 : Input/output error                                     

(2)  Attempting to read a file that was written on an IBM RS600
(using a blocksize of 1024), I can read about a minute into the tape
before the computer hangs.  I get no response from any of the terminals.
It looks, however, like input is being processed because when I turn off
power to the tape drive, the bus resets and my typing is processed.
The hang happens reproducibly at the same point on the tape.


I also tried the oldncr driver.  This driver works somewhat better.
I have been able to do complete backups of my computer and I tested
restores.  Attempts to read the IBM written file still fails,
however, albeit at a much later point.  I am now able to read several
hundred megabytes (about 2.5 hours) before that machine hangs
(again reproducibly at the same point in the tar archive on the tape).
This time, turning off the tape drive power does not help, and I have
to mash the reset button _twice_ before I get a boot prompt.

With both drivers, the busy light on the tape drive flashes
almost continuously while the computer is hung.  And, at least
with the oldncr driver, ot appears there is no tape activity.
I also noticed that the busy light turned off for a second or so
before the crash (oldncr).

Obviously, something gets stuck in the ncr driver, possibly with
interrupts turned off.  I'm having a hard time debugging, since
adding debug options makes everything slow to a crawl.  I did add
DEBUGLEVEL(S) SDEV_DB1|SDEV_DB2|SDEV_DB3 while using the new ncr
driver and got the same hang at the same place but observed nothing
wrong in the output: just normal reads until it hangs.

Can anyone with more SCSI experience point me in the right direction?

Thanks
Sverre