Provided by: mt-st_1.3-1_amd64 bug

NAME

       stinit - initialize SCSI magnetic tape drives

SYNOPSIS

       stinit [-f conf-file] [-h] [-p] [-r] [-v] [devices...]

DESCRIPTION

       This  manual  page documents the tape control program stinit can used to initialize SCSI tape drive modes
       at system startup, after loading the tape driver as module, or after introduction of new  device  to  the
       SCSI  subsystem  at run-time. The initialization is performed by sending ioctl commands to the drive. The
       commands are defined in  a  text  file  that  is  indexed  using  the  inquiry  data  the  drive  returns
       (manufacturer, device, revision). Values for all of the general and mode-specific SCSI tape parameters up
       to Linux version 2.6.0 can be initialized.

OPTIONS

       -f conf-file
              Specifies the name of the text file containing the definitions for different tape drive types.  By
              default stinit tries to find the definition file /etc/stinit.def.

       -h     Print the usage information.

       -p     The  definition  file  is parsed but no tape drive initialization is attempted. This option can be
              used for testing the integrity of a definition file after changes have been made.

       -r     Rewind every device being initialized.

       -v     The more -v options (currently up to two), the more verbose output.

       --version
              Print the program version.

THE DEVICES BEING INITIALIZED

       If the program is started without arguments, it tries to find all accessible SCSI tape  devices  and  the
       device  files  for the different modes of the devices. The tape drives are searched in the scanning order
       of the kernel and searching is stopped at the first non-existing tape.  All  of  the  found  devices  are
       initialized  if a matching description is found from the parameter file. Note that a mode for a device is
       not initialized if the corresponding device file is not found even if a matching description for the mode
       exists.  The  non-rewind  device is preferred over the auto-rewind device for each mode. If the directory
       /dev/tapes is found, the devfs filesystem is assumed to be mounted on /dev.  Otherwise,  the  directories
       /dev/scsi and /dev are scanned for device files.

       SCSI tape drives can be initialized selectively using program arguments. A numeric argument specifies the
       number of the tape drive in the scanning order of the kernel. A  file  name  specifies  that  the  device
       corresponding  to  this  name  is  to  be  initialized.  If  the file name is given without the directory
       specification, the program searches for the name in the device directories /dev/scsi and /dev.  Only full
       path names are supported with devfs.

THE CONFIGURATION FILE

       The  configuration  file  is  a  simple  text  file  that  contains  descriptions  of tape drives and the
       corresponding  initialization  parameters.  The  parameter  definition  blocks  are  delimited   by   {}.
       Specification of the drive description is restarted after each parameter definition block.

       The  drive descriptions and the parameter definitions consist of pairs name = value.  The value is either
       a numeric parameter, a string not containing blanks, or a quoted string. In case of a numeric  parameter,
       the  postfix  k  or M can be used to give the value in units of 1024 or 1024 * 1024, respectively. If the
       =value -part is omitted, the value "1" is used. If the character # is found from an input line, the  rest
       of  the  line  is  discarded.  This  allows use of comments in the definition file. The following example
       contains definitions for one type of tape drives:

              # The XY dat
              manufacturer=XY-COMPANY model = "UVW DRIVE" {
              scsi2logical=1 # Common definitions for all modes
              can-bsr can-partitions auto-lock
              # Definition of modes
              mode1 blocksize=0 compression=1
              mode2 blocksize=1024 compression=1
              mode3 blocksize=0 compression=0
              mode4 blocksize = 1k compression=0 }

       The devices are identified using zero or more  of  the  following  keywords  corresponding  to  the  data
       returned  by  the tape device as response to the SCSI INQUIRY command. The matches are case-sensitive and
       performed up to the length defined in the configuration file (permitting use of partial matches).

       manufacturer=
              This keyword specifies the string that must  match  the  vendor  identification  returned  by  the
              device.

       model= This keyword defines the string that must match the product identification returned by the device.

       revision=
              This keyword matched the string that must match the product revision level returned by the device.

       All  of  the matching initializations are collected in the order they are defined in the file. This means
       that common parameters can be defined for all devices using zero keywords for a definition block. Another
       consequence  is  that,  for instance, some parameters can be easily given different values for a specific
       firmware revision without repeating the parameters common to all revisions.

       The tape parameters are defined using the following keywords. More thorough description of the parameters
       can  be  found  from  the  st(4)  man  page  (not  up  to  date  when  this  is written) or from the file
       drivers/scsi/README.st in the Linux kernel source tree. The keywords are matched  using  only  the  first
       characters.  The  part  of the keywords not used in matching is enclosed by []. The numeric values may be
       specified either in decimal notation or hexadecimal notation (using the prefix 0x).

       drive-[buffering]=value
              The drive's buffering parameter is set to value.  This parameter if common for all modes.

       cleaning
              The cleaning request notifying parameter is set to value

       no-w[ait]
              The immediate mode is used with commands like rewind if value is non-zero (i.e., the  driver  does
              not wait for the command to finish).

       mode=value
              This  keyword  starts definition of tape mode value.  The number of the mode must be between 1 and
              4.

       disab[led]=value
              This mode is disabled for this device if value is non-zero. Can be used if some mode defined in  a
              more  general  definition  should  be  disabled by a more specific definition for some device (for
              example, for a device with buggy firmware level).

       block[size]=value
              The default tape block size is set to value.  bytes. The block  size  zero  means  variable  block
              mode.

       dens[ity]=value
              The tape density code is set to value.

       buff[ering]=value
              The buffered writes by the driver in fixed block mode are enabled if value is non-zero.

       async[-writes]=value
              Asynchronous writes by the driver are enabled if value is non-zero.

       read[-ahead]=value
              Read-ahead by the driver in fixed block mode is allowed if value is non-zero.

       two[-fms]=value
              Two filemarks are written when a file being written to is closed if value is non-zero. By default,
              one filemark is written.

       comp[ression]=value
              Compression of the data by the drive is enabled if value is non-zero. Note that  the  tape  driver
              can't  enable compression for all drives that can compress data. Note also that some drives define
              compression using density codes.

       auto[-lock]=value
              The tape drive door is locked automatically when the device file is opened if value is non-zero.

       fast[-eom]=value
              The MTEOM command is performed using the SCSI command that spaces directly to the end of medium if
              value is non-zero. The drawback is that the file number in the status becomes invalid. By default,
              spacing to end of medium is performed by spacing over filemarks until end of  medium  is  detected
              and the file number remains valid.

       can-b[sr]=value
              Backspacing  over  records  is  used  by the driver when repositioning the tape when read-ahead is
              enabled if value is non-zero.

       noblk[limits]=value
              The tape driver does not use the READ BLOCK LIMITS SCSI command when the device is being opened if
              value is non-zero. This is for the drives that do not support this SCSI command.

       can-p[artitions]=value
              The support for tape partitions is enabled if value is non-zero.

       scsi2[logical]=value
              Logical  block  addresses  are  used in the MTSEEK and MTIOCPOS commands if value is non-zero. The
              default is to use the device-specific addresses.

       sili=value
              If value is non-zero, the SILI bit is set when reading in variable block mode. This may  speed  up
              reading blocks shorter than the read byte count. Set this only if you know that the drive supports
              SILI and the HBA reliably returns transfer  residual  byte  counts.  Requires  kernel  version  >=
              2.6.26.

       defs-for-w[rites]=value
              The  parameters  defining  the  tape  format  (density, block size, etc.)  are forced when writing
              starts at the beginning of a tape if value is non-zero. The default is to change there  parameters
              each time the device is opened at the beginning of a tape (or the mode is changed in the middle of
              a tape).

       sysv=value
              The System V tape semantics are used if value is non-zero. Otherwise the BSD semantics are used.

       timeout=value
              The normal timeout for the device is set to value seconds.

       long-time[out]=value
              The long timeout for the device is set to value seconds.

RETURN VALUE

       The program exits with value one if the command line is incorrect, the definition file is not  found,  or
       option  -p  is  given  and parsing the definition file fails. In all other cases the return value is zero
       (i.e., failing of initialization is not currently signaled by the return value).

RESTRICTIONS

       With the exception of the -p option, the program can be used only by the superuser. This is  because  the
       program uses ioctls allowed only for the superuser.

AUTHOR

       The  program is written by Kai Makisara <Kai.Makisara@kolumbus.fi>, and is currently maintained by Iustin
       Pop <iustin@k1024.org>.

COPYRIGHT

       The program and the manual page are copyrighted by Kai Makisara,  1998-2008.   They  can  be  distributed
       according to the GNU Copyleft.

BUGS

       Please report bugs to <https://github.com/iustin/mt-st>.

SEE ALSO

       st(4) mt(1)

                                                   April 2008                                          STINIT(8)