Man Linux: Main Page and Category List

NAME

       sginfo - access mode page information for a SCSI (or ATAPI) device

SYNOPSIS

       sginfo [OPTIONS] [DEVICE] [REPLACEMENT_PARAMETERS]

DESCRIPTION

       sginfo  is  a  port of the Linux scsiinfo program by Eric Youngdale. It
       uses SCSI generic (sg) devices; however in some cases  the  high  level
       device  name  (i.e.  sd,  sr,  st,  osst,  or hd) can also be used. The
       primary role of this program is to access  mode  page  information.  If
       permitted,   mode   page   information  can  be  altered.  In  addition
       information from  the  INQUIRY  and  READ  DEFECTS  commands  are  also
       available.

       Those  interested in SCSI mode pages may find the sdparm utility easier
       use, especially for changing parameters. Also the author considers this
       utility   legacy   so   the   mode  pages  are  not  being  updated  as
       http://www.t10.org adds and modifies mode page fields.

       Four sets of values are maintained by a SCSI device for each mode page:
       current  (active),  default  (manufacturer’s  supplied  values),  saved
       (values that are retained if the SCSI  device  is  powered  down),  and
       changeable  (mask  indicating  those  values  that can be changed).  By
       default when a mode page is displayed the  current  values  are  shown.
       This  can  be  overridden  by  "-M"  (defaults),  "-S"  (saved) or "-m"
       (modifiable (i.e. changeable)).

       Many mode pages are decoded: for disks (see SBC-2),  for  CD/DVDs  (see
       MMC-2/3/4/5),  for  tapes  (see  SSC-2) and for enclosures (see SES-2).
       Some mode pages common to all SCSI peripheral device types are  defined
       in SPC-4 (primary commands). A decoded mode page has its field names in
       the first column and the corresponding value in the second  column.   A
       "hex" mode page (and subpage) has its byte position in the first column
       (in hex and starting at 0x2) and the corresponding  hex  value  in  the
       second column. Decoded pages can be viewed with the ’-t’ option or with
       a specific option (e.g. ’c’ for  the  caching  mode  page).   Naturally
       decoded  pages  must  be  supplied by the DEVICE and recognised by this
       program. If supported by the device, decoded pages may be modified. All
       mode pages (and subpages) that the device supports can be viewed in hex
       (and potentially modified) via the "-u" option

       If no options are given that will cause mode page(s) or INQUIRY data to
       be  printed out, then a brief INQUIRY response is output. This includes
       the vendor, product and revision level of the device.

OPTIONS

       -6     Perform 6 byte MODE SENSE and MODE SELECT commands;  by  default
              the 10 byte variants are used.

       -a     Display some INQUIRY data and the unit serial number followed by
              all mode pages reported by the device. It is similar to the  ’-t
              0x3f’  option.  If  the  mode page is known then it is output in
              decoded form otherwise it is output in hexadecimal.

       -A     Display some INQUIRY data and the unit serial number followed by
              all mode pages and all mode subpages reported by the device.  It
              is similar to the ’-t 0x3f,0xff’ option. If a mode (sub)page  is
              known  then  it is output in decoded form otherwise it is output
              in hexadecimal.

       -c     Access information in the Caching mode page.

       -C     Access information in the Control mode Page.

       -d     Display defect lists (default format: index).

       -D     Access information in the Disconnect-Reconnect mode page.

       -e     Access information in the Error Recovery mode page.

       -E     Access information in the Control Extension mode page.

       -f     Access information in the Format Device mode page.

       -Farg  Format of the defect lists:
                              -Flogical  - logical block addresses (32 bit)
                              -Flba64    - logical block addresses (64 bit)
                              -Fphysical - physical blocks
                              -Findex    - defect bytes from index
                              -Fhead     - sort by head
              Used in conjunction with "-d" or "-G". If a format is not  given
              "index" is assumed.

       -g     Access information in the Rigid Disk Drive Geometry mode page.

       -G     Display grown defect list (default format: index).

       -i     Display the response to a standard INQUIRY command.

       -I     Access the Informational Exceptions mode page.

       -l     List known SCSI devices on the system.

       -n     Access information in the Notch and Partition mode page.

       -N     Negate (i.e. stop) mode page changes being placed in the "saved"
              page (by default changes go to the current and the saved  page).
              Only active when used together with ’-R’.

       -P     Access information in the Power Condition mode page.

       -r     Display  all  raw  (or primary) SCSI device names visible in the
              /dev directory. Examples are /dev/sda, /dev/st1  and  /dev/scd2.
              Does  not  list  sg  device  names  so  devices  such  as a SCSI
              enclosure which only have an sg device name are not listed.

       -s     Display information in the unit serial number page  which  is  a
              INQUIRY command variant.

       -t PN[,SPN]
              Display information from mode page number PN (and optionally sub
              page number SPN) in decoded format (if known, otherwise  in  hex
              form).   PN  is a mode page number in a decimal number from 0 to
              63 inclusive.  SPN is the mode subpage number and is assumed  to
              be  0  if  not  given.   SPN  is  a decimal number from 1 to 255
              inclusive. A page number of 63 returns all  pages  supported  by
              the  device  in  ascending  order  except  for  page 0 which, if
              present, is last. Page 0 is vendor specific and not  necessarily
              in  mode  page format. Alternatively hex values can be given for
              both PN and SPN (both prefixed by ’0x’).

       -t     Trace commands (for debugging). When used once SCSI commands are
              shown (in hex) and any errors from these SCSI commands are spelt
              out (i.e.  with a decoded  and  raw  sense  buffer).  When  used
              twice,  the  additional  data  sent  with  mode  select  and the
              response from mode sense are shown (in hex).

       -u PN[,SPN]
              Display information from mode page  number  PN  (and  optionally
              SPN)  in  hex form. PN is a mode page number in a decimal number
              from 0 to 63 inclusive. SPN is the mode subpage  number  and  is
              assumed  to be 0 if not given. SPN is a decimal number from 1 to
              255 inclusive. A page number of 63 returns all  pages  supported
              by  the  device  in  ascending order except for page 0 which, if
              present, is last. Page 0 is vendor specific and not  necessarily
              in  mode  page format. Alternatively hex values can be given for
              both PN and SPN (both prefixed by ’0x’). For example 63 and 0x3f
              are equivalent.

       -v     Display  version  string  then exit. [N.B. This option increases
              verbosity for most other utilities in this package  as  outlined
              in   ’man   8  sg3_utils’.   This  odd  usage  is  for  backward
              compatibility with the scsiinfo utility.]

       -V     Access information in the Verify Error Recovery mode page. [N.B.
              This  option  prints the version string then exits in most other
              utilities in this package as outlined in ’man 8 sg3_utils’. This
              odd  usage  is  for  backward  compatibility  with  the scsiinfo
              utility.]

       -z     do a single fetch for mode pages (over-estimating  the  expected
              length  of the returned response). The default action is to do a
              double fetch, the first fetch is to  find  the  response  length
              that  could  be  returned.  Devices  that closely adhere to SCSI
              standards should  not  require  this  option,  some  real  world
              devices do require it.

ADVANCED OPTIONS

       Only  one  of  the  following  three options can be specified.  None of
       these three implies the current values are returned.

       -m     Display modifiable fields instead of current values

       -M     Display manufacturer’s defaults instead of current values

       -S     Display saved defaults instead of current values

       The following are advanced  options,  not  generally  suited  for  most
       users:

       -X     Display  output values in a list. Make them suitable for editing
              and being given back to the ’-R’ (replace command).

       \-R    Replace parameters - best used with -X (expert use only)

CHANGING MODE PAGE PARAMETERS

       Firstly you should know what you are  doing  before  changing  existing
       parameters.  Taking  the  control page as an example, first list it out
       normally (e.g. "sginfo -C /dev/sda") and decide which parameter  is  to
       be changed (note its position relative to the other lines output). Then
       execute the same sginfo command with the "-X" option added;  this  will
       output  the  parameter  values  in  a  single  row in the same relative
       positions as the previous command. Now execute  "sginfo  -CXR  /dev/sda
       ..."  with the "..." replaced by the single row of values output by the
       previous command, with  the  relevant  parameter  changed.  Here  is  a
       simplified example:

          $ sginfo -C /dev/sda
          Control mode page (0xa)
          -----------------------
          TST                        0
          D_SENSE                    0
          GLTSD                      1
          RLEC                       0

       [Actually  the Control page has more parameters that shown above.] Next
       output those parameters in single line form:

          $ sginfo -CX /dev/sda
          0 0 1 0

       Let us assume that the GLTSD bit is to be  cleared.  The  command  that
       will clear it is:

          $ sginfo -CXR /dev/sda 0 0 0 0

       The  same  number of parameters output by the "-CX" command needs to be
       placed at the end of the "-CXR" command line (after the  device  name).
       Now check that the change took effect:

          $ sginfo -C /dev/sda
          Control mode page (0xa)
          -----------------------
          TST                        0
          D_SENSE                    0
          GLTSD                      0
          RLEC                       0

       When a mode page is "replaced" the default action is to change both the
       current page and the saved page. [For some reason  versions  of  sginfo
       and  scsiinfo  prior to 2.0 did not change the "saved" page.] To change
       only the current mode page but not the corresponding saved page use the
       "-N" option.

GENERATING SCRIPT FILES AND HEX PAGES

       The  "-aX" or "-AX" option generates output suitable for a script file.
       Mode pages are output in list format  (after  the  INQUIRY  and  serial
       number)  one  page  per line. To facilitate running the output as (part
       of) a script file to assert chosen  mode  page  values,  each  line  is
       prefixed  by "sginfo -t PN[,SPN] -XR ". When such a script file is run,
       it will have the effect of re-asserting the mode page  values  to  what
       they were when the "-aX" generated the output.

       All  mode  pages (and subpages) supported by the device can be accessed
       via the -t and -u options. To see  all  mode  pages  supported  by  the
       device  use  "-u  63".  [To see all mode pages and all subpages use "-u
       63,255".] To list the control mode page in hex (mode page index in  the
       first column and the corresponding byte value in the second column) use
       "-u 0xa". Mode pages (subpage code == 0)  start  at  index  position  2
       while  subpages  start at index position 4.  If the "-Xu ..." option is
       used then a list a hex values each value prefixed  by  "@"  is  output.
       Mode  (sub)page  values  can  then be modified with with the "-RXu ..."
       option.

RESTRICTIONS

       The SCSI MODE SENSE command yields block descriptors as well as a  mode
       page(s).  This  utility  ignores block descriptors and does not display
       them. The "disable block descriptor" switch (DBD)  in  the  MODE  SENSE
       command is not set since some devices yield errors when it is set. When
       mode page values are being changed (the "-R" option),  the  same  block
       descriptor  obtained  by  reading  the mode page (i.e. via a MODE SENSE
       command) is sent back when the mode page is written (i.e.  via  a  MODE
       SELECT command).

REFERENCES

       SCSI  (draft)  standards  can  be  found  at  http://www.t10.org  . The
       relevant documents are SPC-4 (mode pages common to all  device  types),
       SBC-2  (direct  access  devices [e.g. disks]), MMC-4 (CDs and DVDs) and
       SSC-2 (tapes).

AUTHORS

       Written by  Eric  Youngdale,  Michael  Weller,  Douglas  Gilbert,  Kurt
       Garloff, Thomas Steudten

HISTORY

       scsiinfo  version  1.0  was  released by Eric Youngdale on 1st November
       1993.  The most recent version of scsiinfo is version 1.7 with the last
       patches by Michael Weller. sginfo is derived from scsiinfo and uses the
       sg interface to get around the 4  KB  buffer  limit  in  scsiinfo  that
       cramped  the  display of defect lists especially. sginfo was written by
       Douglas  Gilbert  with  patches  from  Kurt   Garloff.   This   manpage
       corresponds with version 2.25 of sginfo.

       This  software  is  distributed  under  the  GPL version 2. There is NO
       warranty; not even for MERCHANTABILITY  or  FITNESS  FOR  A  PARTICULAR
       PURPOSE.

SEE ALSO

       scsiinfo(internet);     sg_modes,     sg_inq,    sg_vpd    (sg3_utils),
       sdparm(sdparm)