SCSI_ID(8)               Linux Administrator's Manual               SCSI_ID(8)

       scsi_id - retrieve and generate a unique SCSI identifier

       scsi_id [options]

       scsi_id queries a SCSI device via the SCSI INQUIRY vital product data
       (VPD) page 0x80 or 0x83 and uses the resulting data to generate a value
       that is unique across all SCSI devices that properly support page 0x80
       or page 0x83.

       If a result is generated it is sent to standard output, and the program
       exits with a zero value. If no identifier is output, the program exits
       with a non-zero value.

       scsi_id is primarily for use by other utilities such as udev that
       require a unique SCSI identifier.

       By default all devices are assume black listed, the -g option must be
       specified on the command line or in the config file for any useful

       SCSI commands are sent directly to the device via the SG_IO ioctl

       In order to generate unique values for either page 0x80 or page 0x83,
       the serial numbers or world wide names are prefixed as follows.

       Identifiers based on page 0x80 are prefixed by the character 'S', the
       SCSI vendor, the SCSI product (model) and then the the serial number
       returned by page 0x80. For example:

       # scsi_id -p 0x80 -s /block/sdg
       SIBM     3542           1T05078453

       Identifiers based on page 0x83 are prefixed by the identifier type
       followed by the page 0x83 identifier. For example, a device with a NAA
       (Name Address Authority) type of 3 (also in this case the page 0x83
       identifier starts with the NAA value of 6):

       # /sbin/scsi_id -p 0x83 -s /block/sdg

              When called with only a single argument without a leading -,
              runs in a hotplug mode, and expects the environment variable
              DEVPATH to specify the corresponding sysfs device. See section
              below on usage with udev.

       -b     The default behaviour - treat the device as black listed, and do
              nothing unless a white listed device is found in the scsi_id

       -d device
              Instead of determining and creating a device node based on a
              sysfs dev entry as done for the -s, send SG_IO commands to
              device, such as /dev/sdc.

       -f config-file
              Read configuration and black/white list entries from config-file
              rather than the default /etc/scsi_id.config file.

       -g     Treat the device as white listed. The -g option must be
              specified on the command line or in the scsi_id configuration
              file for scsi_id to generate any output.

       -i     Prefix the identification string with the  driver model (sysfs)
              bus id of the SCSI device.

       -p 0x80 | 0x83 | pre-spc3-83
              Use SCSI INQUIRY VPD page code 0x80, 0x83, or pre-spc3-83.

              The default behaviour is to query the availabe VPD pages, and
              use page 0x83 if found, else page 0x80 if found, else nothing.

              Page pre-spc3-83 should only be utilized for those scsi devices
              which are not compliant with the SPC-2 or SPC-3 format for page
              83.  While this option is used for older model 4, 5, and 6 EMC
              Symmetrix devices, its use with SPC-2 or SPC-3 compliant devices
              will fallback to the page 83 format supported by these devices.

       -s sysfs-device
              Generate an id for the sysfs-device.  The sysfs mount point must
              not be included. For example, use /block/sd, not /sys/block/sd.

       -u     Reformat the output : replace all whitespaces by underscores

       -v     Generate verbose debugging output.

       -V     Display version number and exit.

       If scsi_id is invoked with one argument without a leading -, it assumes
       it is called for a hotplug event, and looks for the sysfs device in the
       DEVPATH environment variable.

       This mode is used when run via the udev PROGRAM key. Passing any
       arguments or options as part of the PROGRAM rule breaks this
       assumption, and the results will likely not be as expected.

       When in this mode, all errors and warnings are sent via syslog.

       To determine the specific value needed in a RESULT key, use the -s
       option, for example:

       /sbin/scsi_id -s /block/sda

       An example udev rule using scsi_id, that will name a block device and
       any partitions for the device matching the scsi_id output of 312345:

       BUS="scsi", PROGRAM="/sbin/scsi_id", RESULT="312345", NAME="disk%n"

       /etc/scsi_id.config                  configuration and black/white list entries


       Developed by Patrick Mansfield <> based on SCSI ID
       source included in earlier linux 2.5 kernels, sg_utils source, and SCSI

                                 December 2003                      SCSI_ID(8)