.SH OPTIONS
.TP
.BI 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 \fBudev\fP.
+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 \fBudev\fP.
+.TP
+.BI \-a
+Always print information (model, vendor strings) about the device even
+if it does not support VPD pages.
.TP
.BI \-b
The default behaviour \- treat the device as black listed, and do nothing
of determining and creating a device node based on a sysfs dev
entry as done for the \fB\-s\fP, send SG_IO commands to
\fBdevice\fP, such as \fB/dev/sdc\fP.
+This argument should also be used when invoked via udev to avoid problems
+with creation of temporary files on not-yet writable directories.
.TP
.BI \-f "\| config\-file"
Read configuration and black/white list entries from
Prefix the identification string with the driver model (sysfs) bus id of
the SCSI device.
.TP
-.BI \-p "\| 0x80 | 0x83"
-Use SCSI INQUIRY VPD page code 0x80 or 0x83. The default behaviour is to
-query the available VPD pages, and use page 0x83 if found, else page 0x80
-if found, else nothing.
+.BI \-p "\| 0x80 | 0x83 | pre-spc3-83"
+Use SCSI INQUIRY VPD page code 0x80, 0x83, or pre-spc3-83.
+.sp
+The default
+behaviour is to query the availabe VPD pages, and use page 0x83 if found,
+else page 0x80 if found, else nothing.
+.sp
+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.
.TP
.BI \-s "\| sysfs\-device"
Generate an id for the
not /sys/block/sd.
.TP
.BI \-u
-Reformat the output : replace all whitespaces by underscores
+Reformat the output : replace all whitespaces by underscores.
+.TP
+.BI \-x
+Export all data in KEY=<value> format used to import in other programs.
.TP
.BI \-v
Generate verbose debugging output.
.RE
.SH USAGE WITH UDEV
+
If \fBscsi_id\fP 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 \fBudev\fP 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.
+in the DEVPATH environment variable. This mode is deprecated, but
+available for backwards compatibility.
-When in this mode, all errors and warnings are sent via syslog.
+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:
.fi
.P
-An example \fBudev\fP rule using \fBscsi_id\fP, that will name a block
+\fBscsi_id\fP 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.
+.sp
+An example custom \fBudev\fP rule using \fBscsi_id\fP, that will name a block
device and any partitions for the device matching the \fBscsi_id\fP output
of 312345:
.sp
.nf
-BUS="scsi", PROGRAM="/sbin/scsi_id", RESULT="312345", NAME="disk%n"
+BUS=="scsi", PROGRAM=="/sbin/scsi_id -d %N -s %p", RESULT=="312345", NAME="disk%n"
.fi
.P
.fi
.LP
.SH "SEE ALSO"
-.BR udev (8), hotplug (8)
+.BR udev (7)
.SH 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