115 lines
5.2 KiB
Groff
115 lines
5.2 KiB
Groff
.TH SG_SAT_READ_GPLOG "8" "April 2015" "sg3_utils\-1.41" SG3_UTILS
|
|
.SH NAME
|
|
sg_sat_read_gplog \- use ATA READ LOG EXT command via a SCSI to ATA
|
|
Translation (SAT) layer
|
|
.SH SYNOPSIS
|
|
.B sg_sat_read_gplog
|
|
[\fI\-\-ck_cond\fR] [\fI\-\-count=CO\fR] [\fI\-\-dma\fR] [\fI\-\-help\fR]
|
|
[\fI\-\-hex\fR] [\fI\-\-len=\fR{16|12}] [\fI\-\-log=\fRLA]
|
|
[\fI\-\-page=\fRPN] [\fI\-\-readonly\fR] [\fI\-\-verbose\fR]
|
|
[\fI\-\-version\fR] \fIDEVICE\fR
|
|
.SH DESCRIPTION
|
|
.\" Add any additional description here
|
|
.PP
|
|
This utility sends an ATA READ LOG EXT or an ATA READ LOG DMA EXT command to
|
|
the \fIDEVICE\fR. This command is used to read the general purpose log
|
|
of (S)ATA disks (not ATAPI devices such as DVD driver). Rather than send the
|
|
READ LOG (DMA) EXT command directly to the device it is sent via a SCSI
|
|
transport which is assumed to contain a SCSI to ATA Translation (SAT)
|
|
Layer (SATL). The SATL may be in an operating system driver, in host bus
|
|
adapter (HBA) firmware or in some external enclosure.
|
|
.PP
|
|
This utility does not currently attempt to decode the response from the
|
|
ATA disk, rather it outputs the response in ASCII hexadecimal grouped in
|
|
16 bit words. Following ATA conventions those words are decoded little
|
|
endian (note that SCSI commands use a big endian representation). In the
|
|
future this utility may attempt to decode some log pages, perhaps using
|
|
the \fI\-\-decode\fR option.
|
|
.PP
|
|
The SAT\-2 standard (SAT ANSI INCITS 465-2010, prior draft: sat2r09.pdf at
|
|
www.t10.org) defines two SCSI "ATA PASS\-THROUGH" commands: one using a 16
|
|
byte "cdb" and the other with a 12 byte cdb. This utility defaults to using
|
|
the 16 byte cdb variant.
|
|
.SH OPTIONS
|
|
Arguments to long options are mandatory for short options as well.
|
|
.TP
|
|
\fB\-C\fR, \fB\-\-ck_cond\fR
|
|
sets the CK_COND bit in the ATA PASS\-THROUGH SCSI cdb. The
|
|
default setting is clear (i.e. 0). When set the SATL should yield a
|
|
sense buffer containing a ATA Result descriptor irrespective of whether
|
|
the ATA command succeeded or failed. When clear the SATL should only yield
|
|
a sense buffer containing a ATA Result descriptor if the ATA command failed.
|
|
.TP
|
|
\fB\-c\fR, \fB\-\-count\fR=\fICO\fR
|
|
the number \fICO\fR is placed in the "count" field in the ATA READ
|
|
LOG EXT command. This specified the number of 512\-byte blocks of
|
|
data to be read from the specified log.
|
|
.TP
|
|
\fB\-d\fR, \fB\-\-dma\fR
|
|
use the ATA READ LOG DMA EXT command instead of ATA READ LOG EXT command.
|
|
Some devices require this to return valid log data.
|
|
.TP
|
|
\fB\-h\fR, \fB\-\-help\fR
|
|
outputs the usage message summarizing command line options then exits.
|
|
Ignores \fIDEVICE\fR if given.
|
|
.TP
|
|
\fB\-H\fR, \fB\-\-hex\fR
|
|
when given once, the response is output in ASCII hexadecimal bytes. When
|
|
given twice, then the response is grouped into 16 bit words using ATA
|
|
conventions (i.e. little endian); this is the default output (i.e. when
|
|
this option is not given). When given thrice (i.e. '\-HHH') the output
|
|
is in hex, grouped in 16 bit words (without a leading offset and trailing
|
|
ASCII on each line), in a format that is acceptable for 'hdparm \-\-Istdin'
|
|
to process.
|
|
.TP
|
|
\fB\-L\fR, \fB\-\-log\fR=\fILA\fR
|
|
the number \fILA\fR is known as the "log address" in the ATA standards and
|
|
is placed in bits 7:0 of the "lba" field of the ATA READ LOG (DMA) EXT
|
|
command. This specifies the log to be returned (See ATA\-ACS for a detailed
|
|
list of available log addresses). The default value placed in the "lba
|
|
field is 0, returning the directory of available logs. The maximum value
|
|
allowed for \fILOG\fR is 0xff.
|
|
.TP
|
|
\fB\-p\fR, \fB\-\-page\fR=\fIPN\fR
|
|
the number \fIPN\fR is the page number (within the log address) and is
|
|
placed in bits 32:16 of the "lba" field of the ATA READ LOG (DMA) EXT
|
|
command. The default value placed in the "lba" field is 0. The maximum value
|
|
allowed for \fILOG\fR is 0xffff.
|
|
.TP
|
|
\fB\-l\fR, \fB\-\-len\fR={16|12}
|
|
this is the length of the SCSI cdb used for the ATA PASS\-THROUGH commands.
|
|
The argument can either be 16 or 12. The default is 16. Some SCSI
|
|
transports cannot convey SCSI commands longer than 12 bytes.
|
|
.TP
|
|
\fB\-r\fR, \fB\-\-readonly\fR
|
|
causes the \fIDEVICE\fR to be opened with the read\-only flag (O_RDONLY in
|
|
Unix). The default action is to open \fIDEVICE\fR with the read\-write
|
|
flag (O_RDWR in Unix). In some cases sending power management commands to
|
|
ATA disks are defeated by OS actions on the close() if the \fIDEVICE\fR was
|
|
opened with the read\-write flag (e.g. the OS might think it needs to
|
|
flush something to disk).
|
|
.TP
|
|
\fB\-v\fR, \fB\-\-verbose\fR
|
|
increases the level or verbosity.
|
|
.TP
|
|
\fB\-V\fR, \fB\-\-version\fR
|
|
print out version string
|
|
.SH NOTES
|
|
Prior to Linux kernel 2.6.29 USB mass storage limited sense data to 18 bytes
|
|
which made the \fB\-\-ck_cond\fR option yield strange (truncated) results.
|
|
.SH EXIT STATUS
|
|
The exit status of sg_sat_read_gplog is 0 when it is successful. Otherwise
|
|
see the sg3_utils(8) man page.
|
|
.SH AUTHOR
|
|
Written by Hannes Reinecke and Douglas Gilbert
|
|
.SH "REPORTING BUGS"
|
|
Report bugs to <dgilbert at interlog dot com>.
|
|
.SH COPYRIGHT
|
|
Copyright \(co 2014\-2015 Hannes Reinecke, SUSE Linux GmbH
|
|
.br
|
|
This software is distributed under a BSD\-2\-Clause license. There is NO
|
|
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
.SH "SEE ALSO"
|
|
.B sg_sat_identify(sg3_utils), sg_inq(sg3_utils), sdparm(sdparm),
|
|
.B hdparm(hdparm)
|