Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help

       sg_sat_set_features  -  use  ATA	SET FEATURES command via a SCSI	to ATA
       Translation (SAT) layer

       sg_sat_set_features  [--count=CO]  [--ck_cond]	[--extended]   [--fea-
       ture=FEA] [--help] [--lba=LBA] [--len={16|12}] [--readonly] [--verbose]
       [--version] DEVICE

       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  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.

       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 FEA-
	      TURES 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  de-
	      fault  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 com-
	      mon examples are 2h to enable the	write cache and	82h to disable

       -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 FEA-
	      TURES 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

       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  AT-
       API  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.

       The exit	status of sg_sat_set_features is 0 when	it is successful. Oth-
       erwise see the sg3_utils(8) man page.

       Written by Douglas Gilbert

       Report bugs to <dgilbert	at interlog dot	com>.

       Copyright (C) 2007-2014 Douglas Gilbert
       This software is	distributed under a FreeBSD license. There is NO  war-
       ranty;  not  even  for MERCHANTABILITY or FITNESS FOR A PARTICULAR PUR-

       sg_sat_identify(sg3_utils),  sg_inq(sg3_utils),	 sdparm(sdparm),   hd-

sg3_utils-1.40			 November 2014		SG_SAT_SET_FEATURES(8)


Want to link to this manual page? Use this URL:

home | help