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 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 --whitelisted 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 --page=0x80 --devpath=/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 --page=0x83 --devpath=/block/sdg
3600a0b80000b174b000000d63efc5c8c

OPTIONS

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

--ignore-sysfs
    Ignore sysfs entries. Used for devices which are not represented as SCSI devices, but understand SG_IO commands.

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

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

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

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

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

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

    The default behaviour is to query the available 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.

--devpath=sysfs-devpath
    Generate an id for the sysfs-devpath. The sysfs mount point must not be included.

--replace-whitespace
    Reformat the output : replace all whitespaces by underscores.

--export
    Export all data in KEY=<value> format used to import in other programs.

--verbose
    Generate verbose debugging output.

--version
    Display version number and exit.

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

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

SEE ALSO
udev(7)

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.