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

  
 
  

home | help
SG_START(8)			    SG3_UTILS			     SG_START(8)

NAME
     sg_start  -  send	SCSI START STOP UNIT command: start, stop, load or eject
     medium

SYNOPSIS
     sg_start [0] [1] [--eject] [--help] [--fl=FL] [--immed]  [--load]	[--loej]
     [--mod=PC_MOD]   [--noflush]   [--pc=PC]  [--readonly]  [--start]	[--stop]
     [--verbose] [--version] DEVICE

     sg_start	[--eject]   [--fl=FL]	[-i]   [--imm=0|1]   [--load]	[--loej]
     [--mod=PC_MOD]  [--noflush]  [--pc=PC]  [-r]  [--start]  [--stop] [-v] [-V]
     [0|1] DEVICE

DESCRIPTION
     sg_start sends a SCSI START STOP UNIT command to the DEVICE  with	the  se-
     lected  options.  The  most used options are --stop to spin down a disk and
     --start to spin up a disk. Using --start on a disk that is already spinning
     is harmless. There is also finer grain control with "power condition":  ac-
     tive,  idle  or  standby. This is set with the --pc=PC option. In some con-
     texts the "stop" state can be considered an additional power condition.

     Devices that contain removable media such as cd/dvds can use the --loej op-
     tion to load the medium when used in conjunction with  --start  (i.e.  load
     medium  then spin up). Alternatively --loej may be used to eject the medium
     when used in conjunction with --stop (i.e. spin down  then  eject	medium).
     More simply, the loading or ejecting of a removable medium can be requested
     with the --load or --eject' option.

     If  no  option or argument is given then a --start is assumed; as the util-
     ity's name suggests.

     This utility supports two command line syntaxes, the preferred one is shown
     first in the synopsis and explained in this section. A later section on the
     old command line syntax outlines the second group of options.

     Linux note: best not to use a standard block device  name	(e.g.  /dev/sdc)
     with  the --stop option. Use a sg or bsg device node instead (see lsscsi(8)
     ). The block layer will sometimes notice the disk spinning down and decide:
     "that's not right" and spin it up again!

OPTIONS
     Arguments to long options are mandatory for short options as well.

     0	    same action as --stop.

     1	    same action as --start.

     -e, --eject
	    stop the medium and eject it from the drive. Only appropriate for  a
	    device  with removable medium. Might be ignored (prevented), see be-
	    low.  Note, this is an operation that can be done on a tape drive or
	    CD/DVD/BD player, not on a hard disk or SSD!

     -h, --help
	    print out the usage message then exit.

     -f, --fl=FL
	    sets the format layer number for the disc to "jump" to  (defined  in
	    MMC-5).  Values of FL can be 0 to 3. When this option is chosen, the
	    FL,  LoEj  and  Start  bits are set in the cdb as required by MMC-5;
	    thus the user does not need to set the  --start  and/or  --load  op-
	    tions.

     -i, --immed
	    sets the IMM bit on the START STOP UNIT command so this utility will
	    return  immediately  and  not wait for the media to complete the re-
	    quested action. The default is to wait until the media  to	complete
	    the requested action before returning.

     -l, --load
	    load  the  medium  in the drive and start it. Only appropriate for a
	    removable medium.

     -L, --loej
	    sets the LOEJ bit on the START STOP UNIT command. This loads the me-
	    dia when the unit is started or eject it when the  unit  is  stopped
	    (i.e.   works  in conjunction with START bit in cdb). This option is
	    ignored if 'pc > 0'.  Default is off (i.e. don't attempt to load  or
	    eject media). If a start/start indication is not given (i.e. neither
	    --start  nor  --stop) and this option is given then a load and start
	    action is assumed.

     -m, --mod=PC_MOD
	    where PC_MOD is the 'power condition modifier' value. 0 to	15  (in-
	    clusive) are valid and 0 is the default. This  'power condition mod-
	    ifier' field in the cdb was added after sbc3r13.

     -n, --noflush
	    do	not  perform a flush to media (e.g. like SYNCHRONIZE CACHE does)
	    before a variant of this utility that limits access  to  the  media.
	    Using  the	--stop option is an example of something that limits ac-
	    cess to the media. This 'noflush' field in the cdb was  added  after
	    sbc3r13.

     -O, --old
	    Switch to older style options. Please use as first option.

     -p, --pc=PC
	    where  PC  is  the 'power conditions' value. 0 to 15 (inclusive) are
	    valid.  Default value is 0.  When  '--pc=0'  then  --eject,  --load,
	    --loej,  --start and --stop are active. Some common values are 1 for
	    the "active" power condition (SBC); 2 for the idle power  condition;
	    3  for  the  standby  power  condition;  5 for sleep power condition
	    (MMC); 7 for LU_CONTROL (SBC), 0xa	(decimal  10)  for  FORCE_IDLE_0
	    (SBC)  and	0xb  (decimal  11) for FORCE_STANDBY_0 (SBC). See recent
	    SBC-3, MMC-5 and SAS drafts at www.t10.org for more information.

     -r, --readonly
	    open the DEVICE in read-only mode. Maybe required in Linux to stop a
	    nuisance spin-up if the DEVICE is an ATA disk. The nuisance  spin-up
	    may  occur	at  the  end  of this command negating the effect of the
	    --stop option.

     -s, --start
	    start (spin-up) the DEVICE. This sets the START bit in the cdb.  Us-
	    ing this option on an already started device is harmless. In the ab-
	    sence of other options, this option defaults (i.e. set the START cdb
	    bit).

     -S, --stop
	    stop  (spin-down)  the DEVICE. This clears the START bit in the cdb.
	    This operation is typically done on a hard disk or SSD. In the  case
	    of	a  SSD	it will be placed in low power mode and may need a start
	    operation later before normal IO can resume.

     -v, --verbose
	    increase the level of verbosity. Can be used multiple times.

     -V, --version
	    print out version string then exit.

NOTES
     To avoid confusion, only one of 0, 1 --eject, --load,  --start  and  --stop
     should be given.

     There  is	an  associated "power condition" mode page (0x1a) in which timer
     values can be set for transitioning to either idle or standby state after a
     period of inactivity. The sdparm utility can be used to view the power con-
     dition mode page and if required change it. If a DEVICE is in  either  idle
     or  standby  power  condition  state  then a REQUEST SENSE command (see the
     sg_requests utility) should yield a sense key of "no sense"  and  an  addi-
     tional sense code of "Low power condition on" on recent SCSI devices.

     Ejection of removable media (e.g. 'sg_start --eject /dev/hdd' where the DE-
     VICE is an ATAPI cd/dvd drive) may be prevented by a prior SCSI PREVENT AL-
     LOW  MEDIUM  REMOVAL  command  (see  sg_prevent). In this case this utility
     should fail with an error generated by the device: illegal request / medium
     removal prevented. This can be overridden using sg_prevent or, for example,
     'sdparm --command=unlock /dev/hdd'.

     The SCSI TEST UNIT READY command can be used to find out whether  a  DEVICE
     is  ready to transfer data. If rotating media is stopped or still coming up
     to speed, then the TEST UNIT READY command will yield a "not  ready"  sense
     key and an more informative additional sense code. See the sg_turs utility.

     In  the  2.4 series of Linux kernels the DEVICE must be a SCSI generic (sg)
     device. In the 2.6 series block devices (e.g. SCSI disks  and  DVD  drives)
     can  also	be specified. For example "sg_start 0 /dev/sda" will work in the
     2.6 series kernels.

     In the Linux 2.6 series, especially with ATA disks, using this  utility  to
     stop  (spin  down)  a  disk may not be sufficient and other mechanisms will
     start the disk again some time later. The user might additionally mark  the
     disk  as  "offline" with 'echo offline > /sys/block/sda/device/state' where
     sda is the block name of the disk. To restart the disk "offline" can be re-
     placed with "running". Note that once the 'state' is  set	to  offline,  no
     SCSI  commands  can  be sent to the device until it is set back to running.
     Also stopping a  disk  via  a  pass-through  interface  (e.g.  /dev/sg1  or
     /dev/bsg/1:0:0:0)	may  reduce unwanted side effects (such as restarting it
     again when this utility completes).

EXIT STATUS
     The exit status of sg_start is 0 when it is successful. Otherwise	see  the
     sg3_utils(8) man page.

OLDER COMMAND LINE OPTIONS
     The options in this section were the only ones available prior to sg3_utils
     version  1.23  . Since then this utility defaults to the newer command line
     options which can be overridden by using --old (or -O) as the first option.
     See the ENVIRONMENT VARIABLES section for another way to force the  use  of
     these older command line options.

     Note  that  the  action of --loej is slightly different in the older inter-
     face: when neither --start nor --stop (nor proxies  for  them)  are  given,
     --loej  performs an eject operation. In the same situation the newer inter-
     face will perform a load operation.

     Earlier versions of sg_start had a '-s' option  to  perform  a  SYNCHRONIZE
     CACHE  command  before the START STOP UNIT command was issued. According to
     recent SBC-2 drafts this is done implicitly if required. Hence the '-s' op-
     tion has been dropped.

     All options, other than '-v' and '-V', can be given with a single "-".  For
     example: "sg_start -stop  /dev/sda"  and  "sg_start  --stop  /dev/sda"  are
     equivalent. The single "-" form is for backward compatibility.

     0	    stop (spin-down) DEVICE.

     1	    start (spin-up) DEVICE.

     --eject
	    stop the medium and eject it from the drive.

     --fl=FL
	    sets  the  format layer number for the disc to "jump" to (defined in
	    MMC-5).

     -i     sets the IMM bit on the START STOP UNIT command so this utility will
	    return immediately and not wait for the media to spin down. Same ef-
	    fect as '--imm=1'. The default action  (without  this  option  or  a
	    '--imm=1'  option)	is to wait until the media spins down before re-
	    turning.

     --imm=0|1
	    when the immediate bit is 1 then this  utility  returns  immediately
	    after  the	DEVICE	has  received the command. When this option is 0
	    (the default) then the utility returns once  the  command  has  com-
	    pleted  its  action  (i.e.	it  waits until the device is started or
	    stopped).

     --load
	    load the medium in the drive and start it.

     --loej
	    sets the LOEJ bit in the START STOP UNIT cdb. When a "start"  opera-
	    tion is indicated, then a load and start is performed. When a "stop"
	    operation  is  indicated,  then  a stop and eject is performed. When
	    neither a "start" or "stop" operation is indicated does a  stop  and
	    eject.  [Note that the last action differs from the new interface in
	    which the option of this name defaults to load and start.]

     -N, --new
	    Switch to the newer style options.

     --mod=PC_MOD
	    where PC_MOD is the 'power condition modifier' value. 0 to	15  (in-
	    clusive)  are valid and 0 is the default. This field was added after
	    sbc3r13.

     --noflush
	    do not perform a flush to media (e.g. like SYNCHRONIZE  CACHE  does)
	    before  a  variant	of this utility that limits access to the media.
	    Using the --stop option is an example of something that  limits  ac-
	    cess to the media. This field was added after sbc3r13.

     --pc=PC
	    where PC is the 'power condition' value (in hex). 0 to f (inclusive)
	    are valid. Default value is 0.

     -r     see the --readonly option above. May be useful for ATA disks.

     --start
	    start (spin-up) DEVICE.

     --stop
	    stop (spin-down) DEVICE. Same meaning as "0" argument.

     -v     verbose:  outputs SCSI command in hex to console before with execut-
	    ing it. '-vv' and '-vvv' are also  accepted  yielding  greater  ver-
	    bosity.

     -V     print out version string then exit.

ENVIRONMENT VARIABLES
     Since  sg3_utils  version	1.23 the environment variable SG3_UTILS_OLD_OPTS
     can be given. When it is present this utility will expect the older command
     line options. So the presence of this environment variable is equivalent to
     using --old (or -O) as the first command line option.

AUTHOR
     Written by K. Garloff and D. Gilbert

REPORTING BUGS
     Report bugs to <dgilbert at interlog dot com>.

COPYRIGHT
     Copyright (C) 2002-2021 Kurt Garloff, Douglas Gilbert
     This software is distributed under the GPL version 2. There is NO warranty;
     not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

SEE ALSO
     sg_prevent(sg3_utils),   sg_requests(sg3_utils),	sg_turs(sg3_utils)   sd-
     parm(sdparm), lsscsi(lsscsi)

sg3_utils-1.47			   April 2021			     SG_START(8)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=sg_start&sektion=8&manpath=FreeBSD+Ports+15.1.quarterly>

home | help