Subject: Re: TLB miss on NetBSD 1.3
To: emanuel stiebler <port-pmax@NetBSD.ORG>
From: Michael L. Hitch <mhitch@lightning.oscs.montana.edu>
List: port-pmax
Date: 03/30/1998 10:22:58
On Mar 30, 10:12am, "emanuel stiebler" wrote:
> > 
> >   I hooked a TZ30 up to a 5000/25 as ID 6 and get:
> > 
> >     tar: can't open /dev/rmt0 : Device not configured
> > 
> >   Using /dev/rmt1 results in:
> > 
> >     asc_intr: data overrun: buflen 12 dmalen 12 tc 0 fifo 0
> > 
> > followed by a reboot.
> 
> exactly the same on my dec 5000/133

  I tracked this down to a deficency in the ASC driver, which requires
and exact size for data transfers.  The TZ30 apparently needs 14 bytes
for the mode sense/mode select command.  The following change to the
tz driver should fix this problem:

--- tz.c.orig	Fri Jan 31 05:20:12 1997
+++ tz.c	Sun Mar 29 21:11:12 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

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