Provided by: udev_079-0ubuntu34_i386 bug


       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


              Deprecated method: 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.

       -a     Always  print  information  (model,  vendor  strings)  about the
              device even if it does not support VPD pages.

       -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.  This argument  should  also  be  used
              when  invoked  via  udev  to  avoid  problems  with  creation of
              temporary files on not-yet writable directories.

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

       -x     Export all data in KEY=<value> format used to  import  in  other

       -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 deprecated, but available
       for backwards compatibility.

       If the DEVPATH environment variable is set, scsi_id assumes it has been
       invoked  via  udev  (or  some other hotplug program), and all errors or
       warnings are sent using syslog.

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

       /sbin/scsi_id -s /block/sda

       scsi_id is one of the tools used in the "Linux Persistent Device Names"
       scheme that creates persistent device links in /dev/disk. It is  called
       with  the  -x option which will print all values in a defined format to
       let udev import it into its own environment for later event processing.

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

       BUS=="scsi", PROGRAM=="/sbin/scsi_id -d %N -s %p", 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)