blob: f4ebed5e16aee41d34fe298af82a51c0a526ebb5 [file] [log] [blame]
.TH SG_SAT_SET_FEATURES "8" "August 2007" "sg3_utils\-1.25" SG3_UTILS
.SH NAME
sg_sat_set_featutes \- sends a ATA SET FEATURES command via a
SCSI to ATA Translation (SAT) layer
.SH SYNOPSIS
.B sg_sat_set_features
[\fI\-\-count=\fRCO] [\fI\-\-chk_cond\fR] [\fI\-\-feature=\fRFEA]
[\fI\-\-help\fR] [\fI\-\-len=\fR16|12] [\fI\-\-lba=\fRLBA]
[\fI\-\-verbose\fR] [\fI\-\-version\fR] \fIDEVICE\fR
.SH DESCRIPTION
.\" Add any additional description here
.PP
This utility sends an ATA SET FEATURES command to the \fIDEVICE\fR.
This command is used to change settings of ATA non-packet (i.e. disks) and
packet devices (e.g. cd/dvd drives). Rather than send the SET FEATURES
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 SAT
standard (SAT ANSI INCITS 431-2007; prior draft: sat\-r09.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 the 16 byte cdb
variant.
.PP
The SATL may be in an operating system driver, in host bus adapter firmware
or in some external enclosure.
.PP
The features can be read using the sg_sat_identify utility which uses either
the ATA IDENTIFY DEVICE (for non-packet devices) or the IDENTIFY PACKET
DEVICE (for packet devices) command.
.SH OPTIONS
Arguments to long options are mandatory for short options as well.
.TP
\fB\-c\fR, \fB\-\-count\fR=\fICO\fR
the number \fICO\fR is placed in the "count" field in the ATA SET
FEATURES command. Only some subcommands (a term used for the value
placed in the "feature" field) require the count field to be set.
The default value placed in the "count" field is 0.
.TP
\fB\-C\fR, \fB\-\-chk_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\-f\fR, \fB\-\-feature\fR=\fIFEA\fR
the value \fIFEA\fR is placed in the "feature" field in the ATA SET
FEATURES command. The term "subcommand" is sometimes used for this
value. The default value placed in the "feature" field is 0 which
is reserved and hence should not change anything. Two common examples
are 2h to enable the write cache and 82h to disable it.
.TP
\fB\-h\fR, \fB\-\-help\fR
outputs the usage message summarizing command line options
then exits. Ignores \fIDEVICE\fR if given.
.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\-L\fR, \fB\-\-lba\fR=\fILBA\fR
the number \fILBA\fR is placed in the "lba" field in the ATA SET
FEATURES command. Only some subcommands (a term used for the value
placed in the "feature" field) require the lba field to be set.
This value is not a "logical block address" as the acronym might imply.
The default value placed in the "lba" field is 0.
.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
In the 2.4 series of Linux kernels the \fIDEVICE\fR must be
a SCSI generic (sg) device. In the 2.6 series block devices (e.g. disks
and ATAPI DVDs) can also be specified. For example "sg_inq /dev/sda"
will work in the 2.6 series kernels. From lk 2.6.6 other SCSI "char"
device names may be used as well (e.g. "/dev/st0m").
.SH EXIT STATUS
The exit status of sg_sat_set_features is 0 when it is successful. Otherwise
see the sg3_utils(8) man page.
.SH AUTHOR
Written by Doug Gilbert
.SH "REPORTING BUGS"
Report bugs to <dgilbert at interlog dot com>.
.SH COPYRIGHT
Copyright \(co 2007 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_sat_identify(sg3_utils), sg_inq(sg3_utils), sdparm(sdparm), hdparm(hdparm)