.TH SG_SCAN "8" "May 2013" "sg3_utils\-1.36" SG3_UTILS
.SH NAME
sg_scan \- scans sg devices (or SCSI/ATAPI/ATA devices) and prints
results
.SH SYNOPSIS
.B sg_scan
[\fI\-a\fR]
[\fI\-i\fR]
[\fI\-n\fR]
[\fI\-w\fR]
[\fI\-x\fR]
[\fIDEVICE\fR]*
.SH DESCRIPTION
.\" Add any additional description here
If no \fIDEVICE\fR names are given, sg_scan does a scan of the sg
devices and outputs a line of information for each sg device that is
currently bound to a SCSI device. If one or more \fIDEVICE\fRs are given
only those devices are scanned.
Each device is opened with the O_NONBLOCK flag so that the scan will
not "hang" on any device that another process holds an O_EXCL lock on.
.PP
Any given \fIDEVICE\fR name is expected to comply
with (to some extent) the Storage Architecture Model (SAM see www.t10.org).
Any device names associated with the Linux SCSI subsystem (e.g. /dev/sda
and /dev/st0m) are suitable. Devices names associated with ATAPI
devices (e.g. most CD/DVD drives and ATAPI tape drives) are also suitable.
If the device does not fall into the above categories then an ATA
IDENTIFY command is tried.
.PP
In Linux 2.6 and 3 series kernels, the lsscsi utility may be helpful. Apart
from providing more information (by data\-mining in the sysfs pseudo file
system), it does not need root permissions to execute, as this utility
would typically need.
.SH OPTIONS
.TP
\fB\-a\fR
do alphabetical scan (i.e. sga, sgb, sgc). Note that sg device nodes with
an alphabetical index have been deprecated since the Linux kernel 2.2
series.
.TP
\fB\-i\fR
do a SCSI INQUIRY, output results in a second (indented) line. If the device
is an ATA disk then output information from an ATA IDENTIFY command
.TP
\fB\-n\fR
do numeric scan (i.e. sg0, sg1...) [default]
.TP
\fB\-w\fR
use a read/write flag when opening sg device (default is read\-only)
.TP
\fB\-x\fR
extra information output about queueing
.SH NOTES
This utility was written at a time when hotplugging of SCSI devices
was not supported in Linux. It used a simple algorithm to scan sg
device nodes in ascending numeric or alphabetical order, stopping
after there were 4 consecutive errors.
.PP
In the Linux kernel 2.6 series, this utility uses sysfs to find which
sg device nodes are active and only checks those. Hence there can be
large "holes" in the numbering of sg device nodes (e.g. after an
adapter has been removed) and still all active sg device nodes will
be listed. This utility assumes that sg device nodes are named using
the normal conventions and searches from /dev/sg0 to /dev/sg4095
inclusive.
.SH EXIT STATUS
The exit status of sg_scan is 0 when it is successful. Otherwise see
the sg3_utils(8) man page.
.SH AUTHORS
Written by D. Gilbert and F. Jansen
.SH COPYRIGHT
Copyright \(co 1999\-2013 Douglas Gilbert
.br
This software is distributed under the GPL version 2. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
.SH "SEE ALSO"
.B lsscsi(8)
