Go to main content

man pages section 8: System Administration Commands

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

sg_ident (8)

Name

sg_ident - send SCSI REPORT/SET IDENTIFYING INFORMATION command

Synopsis

sg_ident  [--ascii]  [--clear]  [--help]  [--itype=IT]  [--raw] [--set]
[--verbose] [--version] DEVICE

Description

SG_IDENT(8)                        SG3_UTILS                       SG_IDENT(8)



NAME
       sg_ident - send SCSI REPORT/SET IDENTIFYING INFORMATION command

SYNOPSIS
       sg_ident  [--ascii]  [--clear]  [--help]  [--itype=IT]  [--raw] [--set]
       [--verbose] [--version] DEVICE

DESCRIPTION
       Send a SCSI REPORT IDENTIFYING INFORMATION or SET IDENTIFYING  INFORMA-
       TION command to DEVICE. Prior to SPC-4 (revision 7) these commands were
       called REPORT DEVICE IDENTIFIER and SET DEVICE IDENTIFIER respectively.
       SCSI devices that support these two commands allow users to write (set)
       identifying information and report it back  at  some  later  time.  The
       information  is  persistent  (i.e.  stored  on some non-volatile medium
       within the SCSI device that will survive a power outage).

       Typically the space allocated for the  information  is  limited:  SPC-4
       (revision  7) states that for information type 0, the minimum length is
       64 bytes and the maximum is 512 bytes. For other information  types  (1
       to  126  inclusive)  the  maximum length is 256 bytes. Also information
       types 1 to 126 (inclusive)  should  contain  a  null  terminated  UTF-8
       string. The author has seen older disks that only support 16 bytes.

       The  default  action  when no options are given is to invoke the Report
       Identifying Information command with the information type defaulting to
       zero.  Error  reports are sent to stderr. By default the information is
       shown in ASCII-HEX (up to 16 bytes per line) with an ASCII  representa-
       tion to the right with dots replacing non printable characters.

OPTIONS
       Arguments to long options are mandatory for short options as well.

       -A, --ascii
              invokes  the  Report Identifying Information command and if any-
              thing is found interprets it as ASCII (or UTF-8 which is  locale
              dependent) and prints the information to stdout.

       -C, --clear
              invokes the Set Identifying Information command with an informa-
              tion length of zero. This has the effect of clearing the  exist-
              ing information.

       -h, --help
              output the usage message then exit.

       -i, --itype=IT
              where  IT is the information type. Defaults to zero. The maximum
              value is 127 which is special and cannot be used with  --set  or
              --clear.  The  information type of 127 (if supported) causes the
              REPORT IDENTIFYING INFORMATION command to respond with a list of
              available  information types and their maximum lengths in bytes.
              The odd numbered information types between 3 and 125 (inclusive)
              are not to be used (as they clash with the SCC-2 standard).

       -r, --raw
              invokes  the  Report Identifying information command and if any-
              thing is found sends the information (which may  be  binary)  to
              stdout. Nothing else is sent to stdout however error reports, if
              any, are sent to stderr.

       -S, --set
              first reads stdin until an EOF is detected then invokes the  Set
              Identifying  Information  command  to  set what has been fetched
              from stdin as the information. The amount of data read  must  be
              between 1 and 512 bytes length (inclusive).

       -v, --verbose
              increase the level of verbosity, (i.e. debug output).

       -V, --version
              print the version string and then exit.

       This  utility  permits users to write their own identifying information
       to their SCSI devices. There are several other types of descriptors (or
       designators)  that  the  user  cannot  change.  These  include the SCSI
       INQUIRY command with its standard  vendor  and  product  identification
       strings and the product revision level; plus the large amount of infor-
       mation provided by the "Device Identification" VPD page  (see  sg_vpd).
       There  is  also the READ MEDIA SERIAL NUMBER command (see sg_rmsn). The
       MMC-4 command set for CD and DVDs has a "media serial  number"  feature
       (0x109)  [and  a  "logical  unit  serial number" feature]. These can be
       viewed with the sg_get_config utility.

EXAMPLES
       First, to see if there is  an  existing  information  whose  format  is
       unknown (for information type 0), use no options:

         # sg_ident /dev/sdb
          00     31 32 33 34 35 36 37 38  39 30          1234567890

       If it is ASCII then it can printed as such:

         # sg_ident --ascii /dev/sdb
         1234567890

       The  information  can be copied to a file, cleared and then re-asserted
       with this sequence:

         # sg_ident --raw /dev/sdb > t
         # sg_ident --clear /dev/sdb
         # cat t | sg_ident --set /dev/sdb

EXIT STATUS
       The exit status of sg_ident is 0 when it is successful.  Otherwise  see
       the sg3_utils(8) man page.

AUTHORS
       Written by Douglas Gilbert.

REPORTING BUGS
       Report bugs to <dgilbert at interlog dot com>.

COPYRIGHT
       Copyright (C) 2005-2018 Douglas Gilbert
       This  software is distributed under a FreeBSD license. There is NO war-
       ranty; not even for MERCHANTABILITY or FITNESS FOR  A  PARTICULAR  PUR-
       POSE.


ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       +---------------+--------------------------+
       |ATTRIBUTE TYPE |     ATTRIBUTE VALUE      |
       +---------------+--------------------------+
       |Availability   | system/storage/sg3_utils |
       +---------------+--------------------------+
       |Stability      | Pass-through uncommitted |
       +---------------+--------------------------+

SEE ALSO
       sg_vpd(sg3_utils), sg_rmsn(sg3_utils), sg_get_config(sg3_utils)



NOTES
       Source  code  for open source software components in Oracle Solaris can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-
       code-downloads.html.

       This     software     was    built    from    source    available    at
       https://github.com/oracle/solaris-userland.   The  original   community
       source was downloaded from  http://sg.danny.cz/sg/p/sg3_utils-1.46.tgz.

       Further information about this software can be found on the open source
       community website at http://sg.danny.cz/sg/sg3_utils.html.



sg3_utils-1.43                    August 2018                      SG_IDENT(8)