1SG_RESET(8)                        SG3_UTILS                       SG_RESET(8)
2
3
4

NAME

6       sg_reset  -  sends  SCSI  device,  target, bus or host reset; or checks
7       reset state
8

SYNOPSIS

10       sg_reset [--bus] [--device]  [--help]  [--host]  [--no-esc]  [--target]
11       [--verbose] [--version] DEVICE
12

DESCRIPTION

14       The  sg_reset  utility  with  no options (just a DEVICE) reports on the
15       reset state (e.g. if a reset is underway) of the DEVICE. When  given  a
16       --device,  --target,  --bus or --host option it requests a device, tar‐
17       get, bus or host reset respectively.
18
19       A device reset is applied to the Logical  Unit  (LU)  corresponding  to
20       DEVICE.  It  is  most likely implemented by a Low level Driver (LLD) in
21       Linux as a LOGICAL UNIT RESET task management function.
22
23       The ability to reset a SCSI target was added in Linux kernel 2.6.27 . A
24       LLD  may send Low level Drivers (LLDs) the I_T NEXUS RESET task manage‐
25       ment function. Alternatively it may use a transport mechanism to do the
26       same thing (e.g. a hard reset on the link containing a SAS target).
27
28       In  the Linux kernel 2.6 and 3 series this utility can be called on sd,
29       sr (cd/dvd), st or sg device nodes; if the user has appropriate permis‐
30       sions.
31
32       Users  of  this  utility  can check whether a reset recovery is already
33       underway before trying to send a new reset with this  utility.  Calling
34       this utility with no options, just the DEVICE, will do such a check.
35

OPTIONS

37       -b, --bus
38              attempt  a SCSI bus reset. A bus reset is a SCSI Parallel Inter‐
39              face (SPI) concept not found in modern transports. A recent  LLD
40              may  implement it as a series of resets on targets that might be
41              considered as siblings to the target on the DEVICE path.
42
43       -d, --device
44              attempt a SCSI device reset. This would typically involve  send‐
45              ing a LOGICAL UNIT RESET task management function to DEVICE.
46
47       -z, --help
48              print the usage message then exit.
49
50       -H, --host
51              attempt a host reset. The "host" in this context is often called
52              a Host Bus Adapter (HBA) and contains one or more  SCSI  initia‐
53              tors.
54
55       -N, --no-esc
56              without  this option, if a device reset (--device) fails then it
57              will escalate to a target reset. And if a target  reset  (--tar‐
58              get)  fails  then  it will escalate to a bus reset. And if a bus
59              reset (--bus) fails then it will escalate to a host reset.  With
60              this  option only the requested reset is attempted. An alternate
61              option name of --no-escalate is also accepted.
62
63       --no-escalate
64              The same as -N, --no-esc.
65
66       -t, --target
67              attempt a SCSI target reset. A SCSI target contains one or  more
68              LUs. This would typically involve sending a I_T NEXUS RESET task
69              management function to DEVICE There may be  a  transport  action
70              that  is  equivalent (e.g.  in SAS a hard reset on the link that
71              contains the target).
72
73       -v, --verbose
74              increase the degree of verbosity (debug messages).
75
76       -V, --version
77              prints the version string then exits.
78

NOTES

80       The error recovery code within the Linux kernel (SCSI  mid-level)  when
81       faced  with  a  SCSI command timing out and no response from the device
82       (LU) does the following. First it tries a device reset and if  that  is
83       not successful tries a target reset. If that is not successful it tries
84       a bus reset. If that is not successful  it  tries  a  host  reset.  The
85       "device,target,bus,host"  order  is the reset escalation that the --no-
86       esc option attempts to stop. In large storage configurations the  esca‐
87       lation may be (very) undesirable.
88
89       This  utility  calls  the  SG_SCSI_RESET  ioctl and as of lk 3.10.7 the
90       --no-esc option is not supported. Patches to implement this functional‐
91       ity have not been accepted. If you want it, post your concern to linux-
92       scsi@vger.kernel.org which is the linux-scsi list.
93
94       SAM-4 and 5 define a hard reset, a LOGICAL UNIT RESET and a  I_T  NEXUS
95       RESET.  A hard reset is defined to be a power on condition, a microcode
96       change or a transport reset event. LOGICAL UNIT  RESET  and  I_T  NEXUS
97       RESET  can  be requested via task management functions (and support for
98       LOGICAL UNIT RESET is mandatory). In Linux the SCSI subsystem leaves it
99       up  to the LLDs as to exactly what type (if any) of reset is performed.
100       The "bus reset" is SCSI Parallel Interface (SPI) concept that  may  not
101       map  well  to  recent SCSI transports so it may be a dummy operation. A
102       "host reset" attempts to re-initialize the HBA that the request  passes
103       through  en  route  to  the DEVICE. Note that a "host reset" and a "bus
104       reset" may cause collateral damage.
105
106       This utility does not allow individual SCSI  commands  to  be  aborted.
107       SAM-4  defines  ABORT TASK and ABORT TASK SET task management functions
108       for that.
109
110       Prior to SAM-3 there was a TARGET RESET task management  function.  And
111       in  SAM-4  I_T  NEXUS  RESET  appeared which seems closely related: the
112       "I_T" stands for Initiator-Target.
113
114       Transports may have their own types of resets  not  supported  by  this
115       utility.   For  example  SAS  has  a link reset in which both ends of a
116       physical link (e.g.  between a SAS expander and a SAS tape drive) rene‐
117       gotiate their connection.
118
119       Prior  to  version  0.57  of  this  utility  the command line had short
120       options only (e.g. -d but not --device). Also -h invoked a  host  reset
121       while in the current version -h is equivalent to --help and both -H and
122       --host invoke a host reset. For backward compatibility define the envi‐
123       ronment variable SG3_UTILS_OLD_OPTS or SG_RESET_OLD_OPTS . In this case
124       -h will invoke a host reset and the output will be verbose  as  it  was
125       previously  (equivalent  to using the --verbose option now).  For exam‐
126       ple:
127
128           SG_RESET_OLD_OPTS=1 sg_reset -h /dev/sg1
129       sg_reset: starting host reset
130       sg_reset: completed host reset
131

AUTHORS

133       Written by Douglas Gilbert.
134
136       Copyright © 1999-2013 Douglas Gilbert
137       This software is distributed under the GPL version 2. There is NO  war‐
138       ranty;  not  even  for MERCHANTABILITY or FITNESS FOR A PARTICULAR PUR‐
139       POSE.
140
141
142
143sg3_utils-1.37                    August 2013                      SG_RESET(8)
Impressum