ST(9)

NAME
st - device driver for SCSI subsystem

DESCRIPTION
The st driver is for Type 1 (T_SEQUENTIAL) scsi devices. These devices are normally tape drives. Some tape drives require special handling by the device driver. See the QUIRKS section for information on handling broken devices.

QUIRKS
Each SCSI device can have problems that the driver needs to work around. See scsiconf(9) for more info on adding quirks.

ST_Q_NEEDS_PAGE_0
    This tells the driver that the device in question always requires a page 0 on each MODE SELECT operation.

ST_Q_FORCE_FIXED_MODE
    Forces the drive into fixed block mode.

ST_Q_FORCE_VAR_MODE
    Forces the drive into variable block mode.

ST_Q_SNS_HLP
    Drive requires a read of the tape before the mode sense will return useful information.

ST_Q_IGNORE_LOADS
    Causes the driver to return without action when telling the drive to load a tape.

ST_Q_NO_1024
    Never use 1024-byte fixed blocks with this drive.

ST_Q_NO_SYNC
    Disable synchronous negotiation with the drive.

ST_Q_NO_FAST
    Disable fast negotiation with the drive.

ST_Q_NO_WIDE
    Disable wide negotiation with the drive.
The st(4) driver uses the void* devmodes entry of struct scsidevs ( see scsiconf(9) for more info) to point to a struct st_mode st_modes[4] array. This provides the four different modes for the subdevices accessible by the st driver.

    struct st_mode {
          u_int32_t       blksiz;
          u_int16_t       quirks;
          u_int8_t        density;
          u_int8_t        spare[1];
    };

blksize
    This is the fixed block size to use.
quirks
    Specifies the quirk flags to use, overriding general quirk flags for that drive.
density
    Specifies the density used for this mode. See the file /sys/scsi/scsiconf.h for a list of the possible defines to use here.
spare[1]
    Unused.

FILES
/sys/scsi/scsiconf.h
    contains the ST_Q_xxx macro defines and the density defines
/sys/scsi/st.c
    files contains actual driver code

SEE ALSO
st(4), scsiconf(9)

HISTORY
The st manual page first appeared in FreeBSD 2.2.

AUTHOR
This manual page was written by John-Mark Gurney <gurney_j@efn.org>.