Subject: port-hp300/863: hp300 st driver doesn't grok Viper 60
To: None <gnats-admin@NetBSD.ORG>
From: Jason R. Thorpe <thorpej@SJ.Xenotropic.COM>
List: netbsd-bugs
Date: 03/12/1995 00:35:04
>Number:         863
>Category:       port-hp300
>Synopsis:       hp300 st driver doesn't grok Viper 60
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    gnats-admin (GNATS administrator)
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Mar 12 00:35:02 1995
>Originator:     Jason Thorpe
>Organization:
Xenotropic Imaging Systems
>Release:        -current of Mar 6-ish
>Environment:
	
System: NetBSD basalt 1.0A NetBSD 1.0A (BASALT) #2: Sat Mar 11 23:47:56 PST 1995 thorpej@basalt:/usr/work-current/netbsd/src/sys/arch/hp300/compile/BASALT hp300


>Description:
	The hp300 st driver doesn't know about the Archive Viper 60...
	(curious, since HP oem'd those drives in some 400-series boxes.. :-)
>How-To-Repeat:
	Plug an Archive Viper 60 into the scsi bus, and try to use it...
	Just about everything fails with EIO.
>Fix:
	For all intents and purposes, you can treat a Viper 60 like
	a Viper 150.  The following patch enabled me to write a tape
	on my hp380 and read it on my IBM RT...

diff -c -r1.1.1.1 st.c
*** st.c	1995/02/05 08:50:14	1.1.1.1
--- st.c	1995/03/12 07:46:19
***************
*** 337,343 ****
  		sc->sc_datalen[CMD_INQUIRY] = 52;
  		sc->sc_datalen[CMD_MODE_SELECT] = 17;
  		sc->sc_datalen[CMD_MODE_SENSE] = 17;
! 	} else if (bcmp("VIPER 150", &idstr[8], 9) == 0) {
  		sc->sc_tapeid = MT_ISVIPER1;
  		sc->sc_datalen[CMD_REQUEST_SENSE] = 14;
  		sc->sc_datalen[CMD_INQUIRY] = 36;
--- 337,344 ----
  		sc->sc_datalen[CMD_INQUIRY] = 52;
  		sc->sc_datalen[CMD_MODE_SELECT] = 17;
  		sc->sc_datalen[CMD_MODE_SENSE] = 17;
! 	} else if (bcmp("VIPER 150", &idstr[8], 9) == 0 ||
! 		   bcmp("VIPER 60", &idstr[8], 8) == 0) {
  		sc->sc_tapeid = MT_ISVIPER1;
  		sc->sc_datalen[CMD_REQUEST_SENSE] = 14;
  		sc->sc_datalen[CMD_INQUIRY] = 36;
>Audit-Trail:
>Unformatted: