sginfo



SGINFO(8)                          SG3_UTILS                         SGINFO(8)




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. 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.

       Four sets of values are maintained by a SCSI device for each mode page:
       current (active), default (manufacturer’s supplied values), saved (val-
       ues that are retained if the SCSI device is powered down), and  change-
       able  (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), 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-3  (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 given device and recognised by
       this program. If supported by the device, decoded pages  may  be  modi-
       fied.  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.

       -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.

       -f     Access information in the Format Device mode page.

       -Farg  Format of the defect lists:
                              -Flogical  - logical blocks
                              -Fphysical - physical blocks
                              -Findex    - defect bytes from index
              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.

       -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 sup-
              ported by the device in ascending order except for page 0 which,
              if present, is last. Page 0 is vendor specific and not necessar-
              ily 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 num-
              ber 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 sup-
              ported by the device in ascending order except for page 0 which,
              if present, is last. Page 0 is vendor specific and not necessar-
              ily 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     Show version number and exit.

       -V     Access information in the Verify Error Recovery mode page.

       -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.

       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 posi-
       tions as the previous command. Now execute "sginfo -CXR  /dev/sda  ..."
       with  the "..." replaced by the single row of values output by the pre-
       vious command, with the relevant parameter changed. Here is  a  simpli-
       fied 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 cuurent mode page but not the coresponding 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 num-
       ber) one page per line. To facilitate running the output as (part of) a
       script file to assert chosen modpe 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 rele-
       vant documents are SPC-3 (primary mode  pages),  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



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 diplay of defect lists especially. sginfo  was  written  by
       Douglas  Gilbert  with  patches  from Kurt Garloff. This manpage corre-
       sponds with version 2.01 of sginfo.  It  may  be  backported  (or  just
       copied) soon to become scsiinfo 2.01 .

       This  software is distributed under the GPL version 2. There is NO war-
       ranty; not even for MERCHANTABILITY or FITNESS FOR  A  PARTICULAR  PUR-
       POSE.



sg3_utils-1.06                   December 2003                       SGINFO(8)

Man(1) output converted with man2html