Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 4 Oct 1996 13:05:13 -0700
From:      Curt Mayer <curt@emergent.com>
To:        freebsd-hardware@FreeBSD.org
Subject:   T4000S
Message-ID:  <199610042005.NAA10597@bluewhale.emergent.com>

next in thread | raw e-mail | index | archive | help

I've been running the T4000S against 2.1.5 since I got the drive, and it
streams pretty good. It requires a patch, since it does not support a
density select. I've filed a bug, and just in case the bug-dudes don't
integrate the fix, here's the patch.

	curt

*** st.c	Tue Aug 20 12:59:57 1996
--- /home/curt/st.c	Fri Oct  4 12:39:44 1996
***************
*** 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_NOMODESEL		0x00040		/* no mode select - use defaults */
  
  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 rev 1.05", "HP      ", "T4000s", "1.05",
+ 	ST_Q_NOMODESEL,
+ 	{
+ 	    {0, 0, 0},					/* minor  0,1,2,3 */
+ 	    {0, 0, 0},					/* minor  4,5,6,7 */
+ 	    {0, 0, 0},					/* minor  8,9,10,11 */
+ 	    {0, 0, 0}					/* minor  12,13,14,15 */
+ 	}
+     },
      {(char *) 0}
  };
  #endif /* NEW_SCSICONF */
***************
*** 718,730 ****
  			return errno;
  		}
  	}
! #ifdef notdef
! 	if ( (errno = st_mode_select(unit, 0, NULL, 0)) ) {
! 		printf("st%ld: Cannot set selected mode", unit);
! 		return errno;
  	}
! #endif
! 	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;
--- 728,741 ----
  			return errno;
  		}
  	}
! 	if (!(st->quirks & ST_Q_NOMODESEL)) {
! 		if ( (errno = st_mode_select(unit, 0, NULL, 0)) ) {
! 			printf("st%ld: Cannot set selected mode\n", unit);
! 			return errno;
! 		}
  	}
! 	scsi_prevent(sc_link, PR_PREVENT, SCSI_SILENT);
! 		/* who cares if it fails? */
  	st->flags &= ~ST_NEW_MOUNT;
  	st->flags |= ST_MOUNTED;
  	sc_link->flags |= SDEV_MEDIA_LOADED;
***************
*** 1278,1284 ****
  	 * drive. If not, put it back the way it was.
  	 */
  	if ( (errcode = st_mode_select(unit, 0, NULL, 0)) ) {	/* put back as it was */
! 		printf("st%d: Cannot set selected mode", unit);
  		st->density = hold_density;
  		st->blksiz = hold_blksiz;
  		if (st->blksiz) {
--- 1289,1295 ----
  	 * drive. If not, put it back the way it was.
  	 */
  	if ( (errcode = st_mode_select(unit, 0, NULL, 0)) ) {	/* put back as it was */
! 		printf("st%d: Cannot set selected mode\n", unit);
  		st->density = hold_density;
  		st->blksiz = hold_blksiz;
  		if (st->blksiz) {



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