scsi_id

TriggerTek Logo
abcdefghijklmnopqrstuvwxyz_
SCSI_ID(8)		 Linux Administrator’s Manual		   SCSI_ID(8)



NAME
       scsi_id - retrieve and generate a unique SCSI identifier

SYNOPSIS
       scsi_id [options]

DESCRIPTION
       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	 pro-
       gram  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
       behaviour.

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

       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
       3600a0b80000b174b000000d63efc5c8c



OPTIONS
       subsystem
	      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
	      config-file.

       -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 con-
	      fig-file rather than the default /etc/scsi_id.config file.

       -g     Treat the device as white listed. The -g option must be  speci-
	      fied  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.


USAGE WITH UDEV
       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 argu-
       ments  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"



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


SEE ALSO
       udev(8),hotplug(8)

AUTHORS
       Developed by Patrick Mansfield <patmans@us.ibm.com> based on  SCSI  ID
       source  included	 in  earlier  linux 2.5 kernels, sg_utils source, and
       SCSI specifications.



				December 2003			   SCSI_ID(8)