Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 29 Sep 1996 17:06:55 +0100
From:      Richard Tobin <richard@cogsci.ed.ac.uk>
To:        freebsd-scsi@freebsd.org
Cc:        richard@cogsci.ed.ac.uk
Subject:   Re: HP T4000s tape drive
Message-ID:  <1239.199609291606@pitcairn.cogsci.ed.ac.uk>
In-Reply-To: J Wunsch's message of Sat, 28 Sep 1996 01:05:20 %2B0200 (MET DST)

next in thread | raw e-mail | index | archive | help
Here's my diffs for 2.1.0.  Perhaps someone could adjust them for the
new SCSI code; I don't want to install a new version at present.

-- Richard

*** scsi_tape.h.orig	Tue May 30 09:13:43 1995
--- scsi_tape.h	Fri Sep 13 21:56:19 1996
***************
*** 307,312 ****
--- 307,314 ----
  #define QIC_1320	0x12
  #define DDS		0x13
  #define DAT_1		0x13
+ #define QIC_3095	0x45
+ 
  #endif /* NEW_SCSICONF */
  
  #endif /*SCSI_SCSI_TAPE_H*/
*** st.c.orig	Sat Jul 22 05:25:10 1995
--- st.c	Sun Sep 29 16:52:06 1996
***************
*** 62,69 ****
  
  #define IS_CTLMODE(DEV) (MODE(DEV) == CTLMODE)
  
! #define SCSI_2_MAX_DENSITY_CODE	0x17	/* maximum density code specified
! 					 * in SCSI II spec. */
  #ifndef NEW_SCSICONF
  /*
   * Define various devices that we know mis-behave in some way,
--- 62,69 ----
  
  #define IS_CTLMODE(DEV) (MODE(DEV) == CTLMODE)
  
! #define SCSI_2_MAX_DENSITY_CODE	0xff	/* SCSI 2 spec is out of date! */
! 
  #ifndef NEW_SCSICONF
  /*
   * Define various devices that we know mis-behave in some way,
***************
*** 92,97 ****
--- 92,98 ----
  #define	ST_Q_SNS_HLP		0x00008		/* must do READ for good MODE SENSE */
  #define	ST_Q_IGNORE_LOADS	0x00010
  #define	ST_Q_BLKSIZ		0x00020		/* variable-block media_blksiz > 0 */
+ #define ST_Q_SCSI2_PF		0x00040		/* set PF in mode select */
  
  static struct rogues gallery[] =	/* ends with an all-null entry */
  {
***************
*** 149,154 ****
--- 150,164 ----
  	    {0, ST_Q_FORCE_VAR_MODE, 0x13}		/* minor  12,13,14,15 */
  	}
      },
+     {"HP T4000s", "HP      ", "T4000s", "????",
+ 	 ST_Q_SCSI2_PF,
+          {
+ 	     {0, 0, 0},
+ 	     {0, 0, 0},
+ 	     {0, 0, 0},
+ 	     {0, 0, 0}
+ 	 }
+     },
      {(char *) 0}
  };
  #endif /* NEW_SCSICONF */
***************
*** 722,728 ****
  		printf("st%ld: Cannot set selected mode", unit);
  		return errno;
  	}
! 	scsi_prevent(sc_link, PR_PREVENT, 0);	/* who cares if it fails? */
  	st->flags &= ~ST_NEW_MOUNT;
  	st->flags |= ST_MOUNTED;
  	sc_link->flags |= SDEV_MEDIA_LOADED;
--- 732,738 ----
  		printf("st%ld: Cannot set selected mode", unit);
  		return errno;
  	}
! 	scsi_prevent(sc_link, PR_PREVENT, SCSI_SILENT);
  	st->flags &= ~ST_NEW_MOUNT;
  	st->flags |= ST_MOUNTED;
  	sc_link->flags |= SDEV_MEDIA_LOADED;
***************
*** 1531,1536 ****
--- 1541,1548 ----
  	dat.header.blk_desc_len = sizeof(struct blk_desc);
  	dat.header.dev_spec |= SMH_DSP_BUFF_MODE_ON;
  	dat.blk_desc.density = st->density;
+ 	if(st->quirks & ST_Q_SCSI2_PF)
+ 	    scsi_cmd.byte2 |= SMS_PF;
  	if (st->flags & ST_FIXEDBLOCKS) {
  		scsi_uto3b(st->blksiz, dat.blk_desc.blklen);
  	}



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1239.199609291606>