Subject: Re: TZ30 on NetBSD 1.3.2
To: emanuel stiebler <port-pmax@NetBSD.ORG>
From: Michael L. Hitch <mhitch@lightning.oscs.montana.edu>
List: port-pmax
Date: 07/17/1998 13:56:46
On Jul 17,  2:04pm, "emanuel stiebler" wrote:
> again problems with my tz30 tape. Upgraded all to 1.3.2 & trying to do an
> backup with:
> 
> tar cvf /dev/rmt1 *
> 
> i get :
> 
> buffer overrrun, rebooting !!
> 
> any ideas ?

  Is this on a 3100 or 5000?

  I think the 3100 SII SCSI driver can't deal with data requests where the
size doesn't exactly match the real data transferred, and the TZ30 mode
sense length is different from what the tz driver tries to use for a
generic tape.

  Here's a patch to let tz.c recognize the TZ30 and adjusts the mode sense
length accordingly:

--- /altroot/b/NetBSD-1.3.2/src/sys/arch/pmax/dev/tz.c	Fri May  8 16:47:11 1998
+++ ../../dev/tz.c	Sun Jul 12 14:01:34 1998
@@ -187,9 +187,12 @@
 	printf("tz%d at %s%d drive %d slave %d", sd->sd_unit,
 		sd->sd_cdriver->d_name, sd->sd_ctlr, sd->sd_drive,
 		sd->sd_slave);
-	if (i == 5 && inqbuf.version == 1 && inqbuf.qualifier == 0x50) {
+	if (i == 5 && inqbuf.version == 1 && (inqbuf.qualifier == 0x50 ||
+	    inqbuf.qualifier == 0x30)) {
 		printf(" TK50\n");
 		sc->sc_tapeid = MT_ISTK50;
+		if (inqbuf.qualifier == 0x30)
+			sc->sc_modelen = 14;
 	} else if (i >= 5 && inqbuf.version == 1 && inqbuf.qualifier == 0 &&
 	    inqbuf.length == 0) {
 		/* assume Emultex MT02 controller */

-- 
Michael L. Hitch			mhitch@montana.edu
Computer Consultant
Information Technology Center
Montana State University	Bozeman, MT	USA