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

   This  utility  is  in  legacy  mode,  only  obvious bugs will be fixed.
   Options like -l (to list devices) are  broken  in  recent  versions  of
   Linux  (e.g.  2.6  series and later); the lsscsi(8) utility can be used
   instead. Also mode pages are not being  updated  as  http://www.t10.org
   adds and modifies mode page fields. Those interested in SCSI mode pages
   may find the sdparm utility more up to date and easier use,  especially
   for changing parameters.

   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     Deprecated. Only use in old versions  of  Linux  (e.g.  2.4  and
          earlier).  Please  use  lsscsi(8)  in  the  Linux 2.6 series and
          later. 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  to  obtain more verbose output (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 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

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





Opportunity


Personal Opportunity - Free software gives you access to billions of dollars of software at no cost. Use this software for your business, personal use or to develop a profitable skill. Access to source code provides access to a level of capabilities/information that companies protect though copyrights. Open source is a core component of the Internet and it is available to you. Leverage the billions of dollars in resources and capabilities to build a career, establish a business or change the world. The potential is endless for those who understand the opportunity.

Business Opportunity - Goldman Sachs, IBM and countless large corporations are leveraging open source to reduce costs, develop products and increase their bottom lines. Learn what these companies know about open source and how open source can give you the advantage.





Free Software


Free Software provides computer programs and capabilities at no cost but more importantly, it provides the freedom to run, edit, contribute to, and share the software. The importance of free software is a matter of access, not price. Software at no cost is a benefit but ownership rights to the software and source code is far more significant.


Free Office Software - The Libre Office suite provides top desktop productivity tools for free. This includes, a word processor, spreadsheet, presentation engine, drawing and flowcharting, database and math applications. Libre Office is available for Linux or Windows.





Free Books


The Free Books Library is a collection of thousands of the most popular public domain books in an online readable format. The collection includes great classical literature and more recent works where the U.S. copyright has expired. These books are yours to read and use without restrictions.


Source Code - Want to change a program or know how it works? Open Source provides the source code for its programs so that anyone can use, modify or learn how to write those programs themselves. Visit the GNU source code repositories to download the source.





Education


Study at Harvard, Stanford or MIT - Open edX provides free online courses from Harvard, MIT, Columbia, UC Berkeley and other top Universities. Hundreds of courses for almost all major subjects and course levels. Open edx also offers some paid courses and selected certifications.


Linux Manual Pages - A man or manual page is a form of software documentation found on Linux/Unix operating systems. Topics covered include computer programs (including library and system calls), formal standards and conventions, and even abstract concepts.