blob: 8c10e7e0812bc0d47509873975be10b9eaf6673c [file] [log] [blame]
.TH SG_RESET "8" "December 2006" "sg3_utils\-1.23" SG3_UTILS
.SH NAME
sg_reset \- sends SCSI device, bus or host reset; or checks reset state
.SH SYNOPSIS
.B sg_reset
[\fI\-b\fR] [\fI\-d\fR] [\fI\-h\fR] [\fI\-V\fR]
\fIDEVICE\fR
.SH DESCRIPTION
.\" Add any additional description here
.PP
The sg_reset utility with no options (other than \fIDEVICE\fR) reports on
the reset state (e.g. if a reset is underway) of \fIDEVICE\fR. When given
a \fI\-d\fR, \fI\-b\fR, or \fI\-h\fR option it requests a device, bus or
host reset respectively.
.PP
In the linux kernel 2.6 series this utility can be called on sd,
sr (cd/dvd), st or sg device nodes; if the user has appropriate
permissions.
.PP
In the linux kernel 2.4 series support for this utility first
appeared in lk 2.4.19 and could only be called on sg device
nodes. Various vendors made this capability available in their
kernels prior to lk 2.4.19.
.SH OPTIONS
.TP
\fB\-b\fR
attempt a SCSI bus reset. This would normally be tried if the
device reset (i.e. option \fI\-d\fR) was not successful.
.TP
\fB\-d\fR
attempt a SCSI device reset. If the device seems stuck, this is
the first reset that should be tried. This assumes the linux
scsi mid level error handler is not already in the process
of resetting \fIDEVICE\fR.
.TP
\fB\-h\fR
attempt a host adapter reset. This would normally be tried if both
device reset (i.e. option \fI\-d\fR) and bus reset (i.e. option \fI\-b\fR)
were not successful.
.TP
\fB\-V\fR
prints the version string then exits.
.SH NOTES
The error recovery code within the linux kernel when faced
with SCSI commands timing out and no response from the
device (LU), first tries a device reset and if that is
not successful tries a bus reset. If that is not successful
it tries a host reset. Users of this utility should check
whether such a recovery is already underway before trying
to reset with this utility. The "device,bus,host"
order is also recommended (i.e. first start with the smallest
hammer).
.PP
SAM\-4 defines a hard reset (which includes a device power on
and a transport reset), a logical unit reset and a I_T nexus
reset. A LU reset and an I_T nexus reset can be requested via
task management function (and support for LU reset is mandatory).
In Linux the SCSI subsystem leaves it up to the low level drivers
as to whether a "device reset" is only for the addressed LU or
all the LUs in the device that contains the addressed LU.
The "bus reset" is a transport reset. A "host reset" attempts
to re\-initialize the HBA that the request passes through on
route to the \fIDEVICE\fR. Obviously a "host reset" and
a "bus reset" can cause collateral damage.
.PP
This utility does not allow individual SCSI commands (or tasks
as they are called in SAM\-4) to be aborted. SAM\-4 defines
ABORT TASK and ABORT TASK SET task management functions for that.
.SH AUTHORS
Written by Douglas Gilbert.
.SH COPYRIGHT
Copyright \(co 1999\-2006 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.