Provided by: mt-st_1.7-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)