.TH SG_DECODE_SENSE "8" "August 2014" "sg3_utils\-1.40" SG3_UTILS
.SH NAME
sg_decode_sense \- decode SCSI sense data
.SH SYNOPSIS
.B sg_decode_sense
[\fI\-\-binary=FN\fR] [\fI\-\-file=FN\fR] [\fI\-\-help\fR]
[\fI\-\-hex\fR] [\fI\-\-nospace\fR] [\fI\-\-status=SS\fR]
[\fI\-\-verbose\fR] [\fI\-\-version\fR] [\fI\-\-write=WFN\fR]
[H1 H2 H3 ...]
.SH DESCRIPTION
.\" Add any additional description here
This utility takes SCSI sense data in binary or as a sequence of
ASCII hexadecimal bytes and decodes it. The primary reference for the
decoding is SPC\-3 ANSI INCITS 408-2005 and the most recent draft
SPC\-4 revision 37 which can be found at http://www.t10.org and other
locations on the internet.
.PP
SCSI sense data is often found in kernel log files as a result of
something going wrong but may just be informative. It is often shown as
a sequence of hexadecimal bytes, starting with 70, 71, 72, 73, f0 or f1.
Sense data could be up to 252 bytes long but typically is much shorter
than that, 18 bytes long is often seen and is usually associated with
the older "fixed" format sense data.
.PP
The sense data can be provided on the command line or in a file. If
given on the command line the sense data should be a sequence of
hexadecimal bytes separated by space. Alternatively a file can be
given with the contents in binary or ASCII hexadecimal bytes. The
latter form can contain several lines each with none, one or more
ASCII hexadecimal bytes separated by space (comma or tab). The
hash symbol may appear and it and the rest of the line is ignored
making it useful for comments.
.SH OPTIONS
Arguments to long options are mandatory for short options as well.
.TP
\fB\-b\fR, \fB\-\-binary\fR=\fIFN\fR
the sense data is read in binary from a file called \fIFN\fR.
.TP
\fB\-h\fR, \fB\-\-help\fR
output the usage message then exit.
.TP
\fB\-H\fR, \fB\-\-hex\fR
this option is used in conjunction with \fI\-\-write=WFN\fR in order to
change the output written to \fIWFN\fR to lines of ASCII hex bytes suitable
for a C language compiler. Each line contains up to 16 bytes (e.g. a line
starting with "0x3b,0x07,0x00,0xff").
.TP
\fB\-f\fR, \fB\-\-file\fR=\fIFN\fR
the sense data is read in ASCII hexadecimal from a file called \fIFN\fR.
The sense data should appear as a sequence of bytes separated by space,
comma, tab or newline. Everything from and including a hash symbol to the
end of that line is ignored. If \fI\-\-nospace\fR is set then no separator
is required between the ASCII hexadecimal digits in \fIFN\fR with bytes
decoded from pairs of ASCII hexadecimal digits.
.TP
\fB\-n\fR, \fB\-\-nospace\fR
expect ASCII hexadecimal to be a string of hexadecimal digits with no
spaces between them. Bytes are decoded by taking two hexadecimal digits
at a time, so an even number of digits is expected. The string of
hexadecimal digits may be on the command line (replacing "H1 H2 H3")
or spread across multiple lines the \fIFN\fR given to \fI\-\-file=\fR.
On the command line, spaces (or other whitespace characters) between
sequences of hexadecimal digits are ignored; the maximum command line
hex string is 1023 characters long.
.TP
\fB\-s\fR, \fB\-\-status\fR=\fISS\fR
where \fISS\fR is a SCSI status byte value, given in hexadecimal. The
SCSI status byte is related to but distinct from sense data.
.TP
\fB\-v\fR, \fB\-\-verbose\fR
increase the degree of verbosity (debug messages).
.TP
\fB\-V\fR, \fB\-\-version\fR
output version string then exit.
.TP
\fB\-w\fR, \fB\-\-write\fR=\fIWFN\fR
writes the sense data out to a file called \fIWFN\fR. If necessary \fIWFN\fR
is created. If \fIWFN\fR exists then it is truncated prior to writing the
sense data to it. If the \fI\-\-hex\fR option is also given then ASCII hex
is written to \fIWFN\fR (see the \fI\-\-hex\fR option description);
otherwise binary is written to \fIWFN\fR. This option is a convenience and
may be helpful in converting the ASCII hexadecimal representation of sense
data (or anything else) into the equivalent binary or a compilable ASCII
hex form.
.SH NOTES
Unlike most utilities in this package, this utility does not access a
SCSI device (logical unit). This utility accesses a library associated
with this package. Amongst other things the library decodes SCSI sense
data.
.PP
T10 defined SCSI command names given a CDB can be decoded using the sg_raw
utility with the '\-vvv' option.
.SH EXAMPLES
Sense data is often printed out in kernel logs and sometimes on the
command line when verbose or debug flags are given. It will be at least
8 bytes long, often 18 bytes long but may be longer. A sense data string
might look like this:
.PP
f0 00 03 00 00 12 34 0a  00 00 00 00 11 00 00 00
.br
00 00
.PP
Cut and paste it after the sg_decode_sense command:
.PP
  sg_decode_sense f0 00 03 00 00 12 34 0a 00 00 00 00 11 00 00 00 00 00
.PP
and for this sense data the output should look like this:
.PP
 Fixed format, current;  Sense key: Medium Error
.br
 Additional sense: Unrecovered read error
.br
  Info fld=0x1234 [4660]
.PP
For a medium error the Info field is the logical block address (LBA)
of the lowest numbered block that the associated SCSI command was not
able to read (verify or write).
.SH EXIT STATUS
The exit status of sg_decode_sense is 0 when it is successful. Otherwise
see the sg3_utils(8) man page.
.SH AUTHORS
Written by Douglas Gilbert.
.SH "REPORTING BUGS"
Report bugs to <dgilbert at interlog dot com>.
.SH COPYRIGHT
Copyright \(co 2010\-2014 Douglas Gilbert
.br
This software is distributed under a FreeBSD license. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
.SH "SEE ALSO"
.B sg_requests,sg_raw(sg3_utils)
