Provided by: sg3-utils_1.42-2ubuntu1.18.04.2_amd64 

NAME
sg_sat_set_features - use ATA SET FEATURES command via a SCSI to ATA Translation (SAT) layer
SYNOPSIS
sg_sat_set_features [--count=CO] [--ck_cond] [--extended] [--feature=FEA] [--help] [--lba=LBA]
[--len={16|12}] [--readonly] [--verbose] [--version] DEVICE
DESCRIPTION
This utility sends an ATA SET FEATURES command to the DEVICE. 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 SATL may be in an operating system driver, in host bus adapter
firmware or in some external enclosure.
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 using the 16 byte cdb variant. SAT-2 is also a standard: SAT-2 ANSI INCITS 465-2010 and the
draft prior to that is sat2r09.pdf . The SAT-3 project has started and the most recent draft is
sat3r05b.pdf .
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.
OPTIONS
Arguments to long options are mandatory for short options as well.
-c, --count=CO
the number CO 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.
-C, --ck_cond
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.
-e, --extended
allow for extended LBA numbers (i.e. larger than 32 bits). This value is enabled automatically
for large LBA numbers, but can be enabled explicitly even for low LBA numbers with this option.
-f, --feature=FEA
the value FEA 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.
-h, --help
outputs the usage message summarizing command line options then exits. Ignores DEVICE if given.
-L, --lba=LBA
the number LBA is placed in the "lba" field of the ATA SET FEATURES command. Only some
sub-commands (a term used for the value placed in the "feature" field) require the lba field to be
set. This value is typically not a "logical block address" as the acronym might imply. The
default value placed in the "lba" field is 0. The maximum value allowed for LBA is 0xfffffffe (or
0xffffff if --len=12).
-l, --len={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.
-r, --readonly
causes the DEVICE to be opened with the read-only flag (O_RDONLY in Unix). The default action is
to open DEVICE 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 DEVICE was opened with the
read-write flag (e.g. the OS might think it needs to flush something to disk).
-v, --verbose
increases the level or verbosity.
-V, --version
print out version string
NOTES
In the 2.4 series of Linux kernels the DEVICE must be a SCSI generic (sg) device. In the 2.6 and 3 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"). Prior to lk 2.6.29 USB mass storage limited sense data to 18 bytes which made the --ck_cond
option yield strange (truncated) results.
EXIT STATUS
The exit status of sg_sat_set_features is 0 when it is successful. Otherwise see the sg3_utils(8) man
page.
AUTHOR
Written by Douglas Gilbert
REPORTING BUGS
Report bugs to <dgilbert at interlog dot com>.
COPYRIGHT
Copyright © 2007-2014 Douglas Gilbert
This software is distributed under a FreeBSD license. There is NO warranty; not even for MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE.
SEE ALSO
sg_sat_identify(sg3_utils), sg_inq(sg3_utils), sdparm(sdparm), hdparm(hdparm)
sg3_utils-1.40 November 2014 SG_SAT_SET_FEATURES(8)