Subject: Re: SCSI tape
To: Douglas Meade <inforum@umd5.umd.edu>
From: Michael L. Hitch <mhitch@lightning.msu.montana.edu>
List: port-vax
Date: 04/07/2000 22:54:04
On Thu, 6 Apr 2000, Michael L. Hitch wrote:

>   On my DECstations, I've got some local patches that recognize the
> results of the INQUIRE command and fake up the rest of the INQUIRE data.
> It also adds a quirk entry for the TZ30 that makes the tape driver a
> little happier with the TZ30 drive.

  Here's the patches I've used on the DECstation.  I've just applied them
to my VAX 4000/VLC kernel, and am able to read my TZ30 tape fine.  It
will still report illegal commands, but they are just the prevent/allow
commands issued by the tape driver, and the error status is ignored.


--- scsiconf.c.orig	Sun Mar 19 05:19:22 2000
+++ scsiconf.c	Fri Apr  7 22:38:01 2000
@@ -597,6 +597,10 @@
 	{{T_SEQUENTIAL, T_REMOV,
 	 "CALIPER ", "CP150           ", ""},     SDEV_NOLUNS},
 	{{T_SEQUENTIAL, T_REMOV,
+	 "DEC     ", "TK50Z           ", ""},     SDEV_NOLUNS},
+	{{T_SEQUENTIAL, T_REMOV,
+	 "DEC     ", "TZ30            ", ""},     SDEV_NOLUNS},
+	{{T_SEQUENTIAL, T_REMOV,
 	 "EXABYTE ", "EXB-8200        ", ""},     SDEV_NOLUNS},
 	{{T_SEQUENTIAL, T_REMOV,
 	 "SONY    ", "GY-10C          ", ""},     SDEV_NOLUNS},
@@ -720,6 +724,16 @@
 			inqbuf.unused[len++] = '\0';
 		while (len < 3 + 28)
 			inqbuf.unused[len++] = ' ';
+#if 1								/* TZ30 hack */
+		if (inqbuf.additional_length == 0 &&		/* TZ30 hack */
+		    (inqbuf.dev_qual2 == 0xb0 ||		/* TZ30 hack */
+		     inqbuf.dev_qual2 == 0xd0)) {		/* TZ30 hack */
+		    	strncpy(inqbuf.unused+3, "DEC", 3);	/* TZ30 hack */
+		    	strncpy(inqbuf.unused+11,		/* TZ30 hack */
+			    inqbuf.dev_qual2 == 0xb0 ?		/* TZ30 hack */
+			     "TZ30" :"TK50Z", 4);		/* TZ30 hack */
+		}						/* TZ30 hack */
+#endif								/* TZ30 hack */
 	}
 
 	sa.sa_sc_link = sc_link;
--- st.c.orig	Mon Feb 21 05:31:46 2000
+++ st.c	Fri Apr  7 22:33:09 2000
@@ -286,6 +286,20 @@
 	}}},
 #endif
 	{{T_SEQUENTIAL, T_REMOV,
+	 "DEC     ", "TK50Z           ", ""},     {0, 12, {
+		{0, 0, 0},				/* minor 0-3 */
+		{ST_Q_FORCE_BLKSIZE, 512, 0},		/* minor 4-7 */
+		{ST_Q_FORCE_BLKSIZE, 1024, 0},		/* minor 8-11 */
+		{0, 0, 0}				/* minor 12-15 */
+	}}},
+	{{T_SEQUENTIAL, T_REMOV,
+	 "DEC     ", "TZ30            ", ""},     {0, 12, {
+		{0, 0, 0},				/* minor 0-3 */
+		{ST_Q_FORCE_BLKSIZE, 512, 0},		/* minor 4-7 */
+		{ST_Q_FORCE_BLKSIZE, 1024, 0},		/* minor 8-11 */
+		{0, 0, 0}				/* minor 12-15 */
+	}}},
+	{{T_SEQUENTIAL, T_REMOV,
 	 "TEAC    ", "MT-2ST/N50      ", ""},     {ST_Q_IGNORE_LOADS, 0, {
 		{0, 0, 0},				/* minor 0-3 */
 		{0, 0, 0},				/* minor 4-7 */

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