sdparm man page on Oracle

Man page or keyword search:  
man Server   33470 pages
apropos Keyword Search (all sections)
Output format
Oracle logo
[printable version]

SDPARM(8)			    SDPARM			     SDPARM(8)

       sdparm - access SCSI modes pages; read VPD pages; send simple SCSI com‐

       sdparm  [--all]	[--clear=STR]  [--command=CMD]	[--dbd]	  [--defaults]
       [--dummy]   [--flexible]	  [--get=STR]	[--help]  [--hex]  [--inquiry]
       [--long] [--num-desc] [--page=PG[,SPG]] [--quiet] [--readonly] [--save]
       [--set=STR]  [--six] [--transport=TN] [--vendor=VN] [--verbose] [--ver‐
       sion] DEVICE [DEVICE...]

       sdparm  --enumerate  [--all]  [--inquiry]  [--long]   [--page=PG[,SPG]]
       [--transport=TN] [--vendor=VN]

       sdparm --wscan [--verbose]

       This  utility  fetches and potentially changes SCSI device (e.g.	 disk)
       mode pages. Inquiry data including Vital Product Data (VPD)  pages  can
       also  be	 displayed. Commands associated with starting and stopping the
       medium; loading and unloading the medium; and other housekeeping	 func‐
       tion may also be issued by this utility.

       Of  the	three invocations shown in the synopsis, the first is the most
       general. The second variant that uses --enumerate is for dumping infor‐
       mation  held  in sdparm's internal tables. The last variant is for Win‐
       dows only and lists the available device names; see the	OPTIONS	 entry
       for --wscan.

       If  no options (other than DEVICE) are given then a selection of common
       mode page fields for that device are listed. If the  --long  option  is
       also  given  then a description of the fields is placed on the right of
       each line. If the --all option is given then all known mode page fields
       for that device are listed. Individual fields can be displayed with the
       --get=STR option (e.g. '--get=WCE' to fetch the state of the  Writeback
       Cache Enable field).

       This  utility  completes	 with an exit status of 0 when successful. For
       other values see the EXIT STATUS section below.

       One or more DEVICE arguments can be given. The utility will essentially
       apply  the  given  options  to each DEVICE in the list.	If an error is
       detected, it is noted and the utility continues.	 Error value  5	 (file
       open  or	 close problem) is treated as lower priority when other errors
       are detected. The exit status is the most recently detected error value
       (excluding  error  value	 5 if other errors have been detected). If all
       actions succeed the exit status is zero.

       By default this utility shows mode pages that are common to all	trans‐
       port  protocols. These are termed as "generic" mode pages.  If there is
       no match on a generic mode page name or field then those pages specific
       to  the	SAS  transport	are checked.  Transport protocol specific mode
       pages are selected with the --transport=TN option.  See	the  TRANSPORT
       section below.  Vendor specific mode pages are selected with the --ven‐
       dor=VN option.  See the VENDORS section below.

       Although originally for SCSI disks (or storage devices that  appear  to
       the  OS as SCSI disks) many of the mode pages are for other SCSI device
       types.  These include CD/DVD players that use the ATAPI (or any	other)
       transport, SCSI tapes drives and SCSI enclosures.

       When  the  --inquiry  option  is	 given	without a page number then the
       Device Identification VPD page (page number 0x83) is requested  and  if
       found  it  is  decoded  and  output. If no page number is given and the
       --all option is given then a list of VPD page names (but not their con‐
       tents)  supported  by the DEVICE is output. When both the --inquiry and
       --page=PG options are given then the VPD page can be  specified	as  an
       abbreviation  (e.g.  "sp"  for  the SCSI ports VPD page) or numerically
       (e.g. "0x88"). If a VPD page is returned by the DEVICE but sdparm  can‐
       not decode it or the --hex option is given then it is output in hex.

       Mandatory  arguments to long options are mandatory for short options as
       well.  If an option takes a numeric  argument  then  that  argument  is
       assumed	to  be decimal unless otherwise indicated (e.g. with a leading
       "0x" or a trailing "h"). The options are in alphabetical	 order,	 based
       on the long option name.

       -a, --all
	      output  all recognized fields for the device type (e.g. disk) of
	      the DEVICE. Without this option (or the --page=PG[,SPG]  option)
	      the  default  action  is	to output a relatively small number of
	      commonly used fields  from  different  pages.  When  a  specific
	      (mode) page number is given with the --page=PG[,SPG] option then
	      all the fields of that page are output (irrespective of the set‐
	      ting  of	this  option). For this option's action when used with
	      the --enumerate option see the ENUMERATE section below.

       -c, --clear=STR
	      In its simplest form STR contains	 a  field  acronym_name	 or  a
	      field  numerical descriptor. In the absence of an explicit value
	      argument (e.g. '--clear=WCE=1'), the field has its value cleared
	      to zero.	See the PARAMETERS section below.

       -C, --command=CMD
	      Perform  given  CMD. See section below on COMMANDS. To enumerate
	      supported commands use '-e -C x' (using any CMD name,  valid  or

       -B, --dbd
	      disable block descriptors. This is a bit in MODE SENSE cdbs that
	      rarely needs to be set. One known case is a MODE SENSE 6	issued
	      to  a Reduced Block Commands (RBC) device where the RBC standard
	      says it shall be set.

       -D, --defaults
	      sets the given mode page to its  default	values.	 Requires  the
	      --page=PG[,SPG]  option to be given to specify the mode page. To
	      make the default mode page values also the saved mode page  val‐
	      ues, use the --save option as well.

       -d, --dummy
	      when  set	 inhibits  changes  being  placed in the DEVICE's mode
	      page.  Instead the mode data that would have been sent to a MODE
	      SELECT  command,	is  output  in	ASCII hex to the console. This
	      option is mainly for testing.

       -e, --enumerate
	      lists out descriptive information about  the  pages  and	fields
	      known  to	 this  utility.	 Ignores the DEVICE argument and other
	      options	apart	from	the    --all,	 --inquiry,    --long,
	      --page=PG[,SPG],	--transport=TN and --vendor=VN. If --enumerate
	      is given without other options then  the	known  (generic)  mode
	      pages are listed.	 See the ENUMERATE section below.

       -f, --flexible
	      Some  devices,  bridges and/or drivers attempt crude transforma‐
	      tions between mode sense 6 and 10	 byte  commands	 without  cor‐
	      rectly rebuilding the response.  This will cause the response to
	      be mis-interpreted (usually with an error saying the response is
	      malformed).  With	 this  option,	the  length of the response is
	      checked,	and  if	 it  looks  wrong,  various  corrections   are
	      attempted.  This	option	will  also allow mode pages that don't
	      belong to the current device's peripheral type to be listed.

       -g, --get=STR
	      In its simplest form STR contains	 a  field  acronym_name	 or  a
	      field numerical descriptor. The field is fetched from mode page.
	      See the PARAMETERS section below. The --long and	--hex  options
	      effect  the output format. Also if a value of "1" is given (e.g.
	      '--get=WCE=1') only the current value is output  (i.e.  not  the
	      change mask, the default value and the saved value).

       -h, --help
	      output the usage message then exit.

       -H, --hex
	      rather than trying to decode mode (or VPD) pages, print them out
	      in hex. When used with the --get=STR  option  the	 corresponding
	      current, changeable, default and saved values are output in hex,
	      prefixed by "0x" and space separated. If a value of "1" is given
	      with  the	 --get=STR  option  (e.g. '--get=WCE=1') then only the
	      current value is output in hex, prefixed by "0x". If a value  of
	      "2"  is  given  with  the --get=STR option then only the current
	      value is output as a (signed) integer. This option can  be  used
	      multiple times (e.g. '-HH'). Useful with the ATA Information VPD
	      page which usually outputs its IDENTIFY (PACKET) DEVICE response
	      in  16  bit  hex	words; with '-HH' outputs that response in hex
	      bytes; with '-HHH' outputs the same response in a	 format	 suit‐
	      able for 'hdparm --Istdin' to decode.

       -i, --inquiry
	      output  INQUIRY  VPD  pages.  In	the absence of this option the
	      default action is to output mode pages. If the --inquiry	option
	      is  given	 without  the  --page=PG[,SPG]	option then the device
	      identification VPD page (0x83) is decoded and  output.  If  this
	      option  and  the	--all  option are given then the supported VPD
	      pages page (0x0) is decoded and output.

       -l, --long
	      output extra information. In the case  of	 mode  page  fields  a
	      description  (with  units if applicable) is output to the right.
	      If used twice, then for some fields more information  about  its
	      values is given on one or more following lines, each prefixed by
	      a tab character. For usage with --enumerate  see	the  ENUMERATE
	      section below.

       -n, --num-desc
	      for  a  mode  page  that	can  have  descriptors,	 the number of
	      descriptors for the given page on the DEVICE is  output.	Other‐
	      wise 0 is output.

       -p, --page=PG[,SPG]
	      supply  the  page number (PG) and optionally the sub page number
	      (SPG) of the mode (or VPD) page  to  fetch.  These  numbers  are
	      interpreted  as decimal unless prefixed with "0x" or a trailing.
	      Sub page numbers are only valid for mode pages (not VPD  pages).
	      Alternatively  an abbreviation for a page can be given (see next

       -p, --page=STR
	      a two or three letter abbreviation for  a	 page  can  be	given.
	      Known  mode  page	 abbreviations	are  checked first followed by
	      known VPD page abbreviations.  For example  '--page=ca'  matches
	      the  caching  mode  page.	 If no match is found then an error is
	      issued and a list of possibilities in  the  current  context  is
	      given  (so  '-p  x'  can	be quite useful). If the STR matches a
	      known  VPD  page	abbreviation  then  the	 --inquiry  option  is
	      assumed.	For  usage  with --enumerate see the ENUMERATE section

       -q, --quiet
	      suppress output of device name followed by the  vendor,  product
	      and  revision  strings fetched from an INQUIRY response. Without
	      this option such a line is typically the first  line  output  by
	      sdparm.  Reduces output from the device identification VPD page,
	      typically to one line (or none)  for  each  of  di_lu,  di_port,
	      di_target and di_asis.

       -r, --readonly
	      override	other  logic  to  open	DEVICE	in read-only mode. The
	      default setting of the open read-only/read-write mode depends on
	      the  operation  requested (e.g. a --set=STR operation by default
	      will try a read-write mode open on DEVICE). This option  may  be
	      useful if a command is being sent to an ATA disk via a SCSI com‐
	      mand set. For example in Linux '-C stop' may require this option
	      to stop an ATA disk being restarted immediately.

       -S, --save
	      when  a  mode  page  is being modified (by using the --clear=STR
	      and/or --set=STR options) then the default action is  to	modify
	      only  the	 current  values  mode page. When this option is given
	      then the corresponding value(s) in the saved values mode page is
	      also  changed.  The  next	 time  the  device is power cycled (or
	      reset) the saved values mode page becomes (i.e.  is  copied  to)
	      the current values mode page. See NOTES section below.

       -s, --set=STR
	      in  its  simplest	 form  STR  contains a field acronym_name or a
	      field numerical descriptor. In the absence of an explicit value,
	      each  acronym_name has its value set to (all) ones. This means a
	      16 bit field will be set to 0xffff which is  65535  in  decimal.
	      Alternatively  each  acronym_name or numerical descriptor may be
	      followed by "=<n>" where <n> is the value to set that field  to.
	      See the PARAMETERS section below.

       -6, --six
	      The  default  action  of this utility is to issue MODE SENSE and
	      MODE SELECT SCSI commands with 10 byte cdbs. When this option is
	      given the 6 byte cdb variants are used. RBC and old SCSI devices
	      may need this option. This utility outputs a suggestion  to  use
	      this  option  if	the SCSI status indicates that the 10 byte cdb
	      variant is not supported.

       -t, --transport=TN
	      Specifies the transport protocol where TN is either a number  in
	      the range 0 to 15 (inclusive) or an abbreviation (e.g. "fcp" for
	      the Fibre Channel Protocol). One way to list available transport
	      protocols	 numbers and their associated abbreviations is to give
	      an invalid transport protocol number such as '-t x'; another way
	      is '-e -l'.

       -M, --vendor=VN
	      Specifies	 the  vendor  (i.e. manufacturer) where VN is either a
	      number (0 or more) or an abbreviation (e.g.  "sea"  for  Seagate
	      disk vendor specific).  One way to list available vendor numbers
	      and their associated abbreviations is to give an invalid	vendor
	      number such as '-M x'; another way is '-e -l'.

       -v, --verbose
	      increase	the  level  of verbosity, (i.e. debug output). In some
	      cases more decoding is  done  (e.g.  fields  within  a  standard
	      INQUIRY response).

       -V, --version
	      print the version string and then exit.

       -w, --wscan
	      this  option  is	available  in  Windows	only. It lists storage
	      device names and the corresponding volumes, if  any.  When  used
	      twice  it	 adds  the "bus type" of the closest transport (e.g. a
	      SATA disk in a USB connected enclosure has bus type  Usb).  When
	      used  three  times  a SCSI adapter scan is added. When used four
	      times only a SCSI adapter scan is shown.	See examples below and
	      the "Win32 port" section in the README file.

       The  reference  document	 used for interpreting mode and VPD pages (and
       the INQUIRY standard response) is T10/1713-D Revision  36e  (SPC-4,  24
       August  2012) found at . Obsolete and reserved items
       in the standard INQUIRY response output are displayed in brackets.

       A mode page for which no abbreviation is known (e.g. a vendor  specific
       mode page) can be listed in hexadecimal by using the option combination
       '--page=PG --hex'.

       Numbers input to sdparm	(e.g.  in  the	command	 line  arguments)  are
       assumed	to  be	in  decimal unless there is a hexadecimal indicator. A
       hexadecimal indicator is either a leading '0x' or '0X' (i.e. the C lan‐
       guage convention) or a trailing 'h' or 'H' (i.e. the convention used at ). In the case of --page= either  a	string	or  number  is
       expected,  so  hex  numbers like 'ch' (12) should be prefixed by a zero
       (e.g. '0ch').

       The SPC-4 draft (rev 2) says that devices that implement no distinction
       between	current	 and saved pages can return an error (ILLEGAL REQUEST,
       invalid field in cdb) if the SP bit (which corresponds  to  the	--save
       option)	is  _not_  set.	 In  such  cases the --save option needs to be

       If the --save option is given but the existing mode page indicates (via
       its  PS	bit) that the page is not savable, then this utility generates
       an error message. That message suggests to try again without the --save

       Since  the  device  identification  VPD page (acronym_name "di") poten‐
       tially contains	a  lot	of  diverse  designators,  several  associated
       acronyms	 are  available.  They	are "di_lu" for designators associated
       with the addressed logical unit, "di_port" for  designators  associated
       with  the  target  port (which the command arrived via) and "di_target"
       for designators associated with the target device. When	"di"  is  used
       designators  are	 grouped  by lu, then port and then target device.  To
       see all designators decoded in the order that they appear  in  the  VPD
       page use "di_asis".

       Only  those  VPD	 pages defined by are decoded by this utility.
       SPC-4 sets aside VPD pages codes from 0xc0 to 0xff (inclusive) for ven‐
       dor specific pages some of which are decoded in the sg_vpd utility.

       In  the linux kernel 2.6 series any device node that understands a SCSI
       command set (e.g. SCSI disks and CD/DVD drives) may be specified.  More
       precisely the driver that "owns" the device node must support the SG_IO
       ioctl. In the lk 2.4 series only SCSI generic (sg) device nodes support
       the  SG_IO  ioctl. However in the lk 2.4 series other SCSI device nodes
       are mapped within this utility to their corresponding sg device	nodes.
       So if there is a SCSI disk at /dev/sda then 'sdparm /dev/sda' will work
       in both the lk 2.6 and lk 2.4 series. However  if  there	 is  an	 ATAPI
       cd/dvd  drive  at /dev/hdc then 'sdparm /dev/hdc' will only work in the
       lk 2.6 series.

       In the Linux 2.6 series, especially with ATA  disks,  using  sdparm  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 replaced with "running".

       In  their  simplest  form  the  --clear=, --get= and --set= options (or
       their short forms) take an acronym_name such as "WCE". In the  case  of
       '--get=WCE'  the	 value of "Writeback Cache Enable" in the caching mode
       page will be fetched. In the case of '--set=WCE' that bit will  be  set
       (to  one).  In  the  case of '--clear=WCE' that bit will be cleared (to
       zero). When an acronym_name is given then the mode page is imputed from
       that acronym_name (e.g. WCE is in the caching mode page).

       Instead	of an acronym_name a field within a mode page can be described
       numerically with a <start_byte>:<start_bit>:<num_bits> tuple. These are
       the <start_byte> (origin 0) within the mode page, a <start_bit> (0 to 7
       inclusive) and <num_bits> (1 to 64 inclusive).  For  example,  the  low
       level representation of the RCD bit (the "Read Cache Disable bit in the
       caching mode page) is "2:0:1". The <start_byte> can optionally be given
       in  hex	(e.g.  '--set=0x2:0:1'	or '--set=2h:0:1'). With this form the
       --page= option is required to establish which mode page is to be used.

       Either form can optionally be followed by "=<val>". By default <val> is
       decimal	but  can  be given in hex in the normal fashion. Here are some
       examples: '--set=2h:0:1=1h' and '-s MRIE=0x3'. When the acronym_name or
       numeric	form following --clear= is not given an explicit '=<val>' then
       the value defaults to zero. When the acronym_name or numeric form  fol‐
       lowing --set= is not given an explicit '=<val>' then the value defaults
       to "all ones"  (i.e.  as	 many  as  <num_bits>  permits).  For  example
       '--clear=WCE'  and  '--clear=WCE=0' have the same meaning: clear Write‐
       back Cache Enable or, put more simply: turn off the writeback cache.

       Multiple fields within the same mode page can be changed	 by  giving  a
       comma  separated	 list  of acronym_names and/or the numerical form. For
       example: '--set=TEST,MRIE=6'.

       Some mode page have multiple descriptors. They typically have  a	 fixed
       header section at the start of the mode page that includes a field con‐
       taining the number of descriptors that follow. Following the header  is
       a variable number of descriptors. An example is the SAS Phy Control and
       Discover mode page. An acronym_name may	include	 a  trailing  '.<num>'
       where "<num>" is a descriptor number (origin 0). For example '-t sas -g
       PHID.0' and '-t sas -g PHID' will yield the phy identifier of the first
       descriptor  of  the  above mode page; '-t sas -g PHID.1' will yield the
       phy identifier of the second descriptor.

       The --enumerate option essentially dumps out static information held by
       this utility. A list of --enumerate variants and their actions follows.
       For brevity subsequent examples of options are shown in	their  shorter

	   --enumerate		list generic mode page information
	   -e --all		list generic mode page contents
				(i.e. parameters)
	   -e --page=rw		list contents of read write error
				recovery mode page
	   -e --inquiry		list VPD pages this utility can decode
	   -e --long		list generic mode pages, transport
				protocols, mode pages for each
				supported transport protocol and
				supported commands
	   -e -l --all		additionally list the contents of
				each mode page
	   -e --transport=fcp	list mode pages for the fcp
				transport protocol
	   -e -t fcp --all	additionally list the contents of
				each mode page
	   -e --vendor=sea	list vendor specific mode pages for
				"sea" (Seagate)
	   -e -M sea --all	additionally list the contents of vendor
				specific mode pages for "sea" (Seagate)
	   -e -p pcd -l		list contents of SAS phy control and
				discovery mode page plus (due to "-l")
				some descfriptor format information

       When  known  mode  pages	 are listed (via the --enumerate  option) each
       line starts with a two or three letter abbreviation. This  is  followed
       by  the	page number (in hex prefixed by "0x") optionally followed by a
       comma and the subpage number. Finally the descriptive name of the  mode
       page (e.g. as found in SPC-4) is output.

       When  known  parameters	(fields)  of a mode page are listed, each line
       starts with an acronym (indented a few spaces). This will match (or  be
       an  acronym  for)  the  description for that field found in the (draft)
       standards. Next are three numbers, separated by colons,	surrounded  by
       brackets.  These	 are  the start byte (in hex, prefixed by "0x") of the
       beginning of the field within  the  mode	 page;	the  starting  bit  (0
       through	7 inclusive) and then the number of bits. The descriptive name
       of the parameter (field) is then given. If appropriate the  descriptive
       name  includes  units  (e.g.  "(ms)" means the units are milliseconds).
       Adding the '-ll' option will list information about possible field val‐
       ues for selected mode page parameters.

       Mode  parameters for which the num_bits is greater than 1 can be viewed
       as unsigned integers. Often 16 and 32 bit fields are set to 0xffff  and
       0xffffffff  respectively (all ones) which usually has a special meaning
       (see drafts). This utility outputs such values as "-1"  to  save	 space
       (rather	than  their  unsigned  integer	equivalents). "-1" can also be
       given as the value to a mode page field acronym	(e.g.  '--set=INTT=-1'
       sets  the  interval timer field in the Informational Exceptions control
       mode page to 0xffffffff).

       SCSI transport protocols are a relatively specialized area that can  be
       safely ignored by the majority of users.

       Some  transport	protocols have protocol specific mode pages. These are
       usually the disconnect-reconnect (0x2), the protocol  specific  logical
       unit  (0x18)  and the protocol specific port (0x19) mode pages. In some
       cases the latter mode page has several subpages. The most common trans‐
       port  protocol  abbreviations  likely  to  be used are "fcp", "spi" and

       Many of the field names are re-used in the same position so  the	 acro‐
       nym_name	 namespaces have been divided between generic mode pages (i.e.
       when the --transport= option is _not_ given) and a namespace  for  each
       transport  protocol.  A	LUPID field from the protocol specific logical
       unit (0x18) mode page and the PPID field from  protocol	specific  port
       (0x19)  mode  page  are included in the generic modes pages; this is so
       the respective (transport) protocol identifiers can be  seen.  In  most
       cases  the  user	 will know what the "port" transport is (i.e. the same
       transport as the HBA in the computer) but the logical unit's  transport
       could be different.

       SCSI  leaves a lot of space for vendor specific information. Often this
       is described in product manuals.	 The  --vendor=VN  (or	-M=VN)	option
       allows  known vendor specific mode pages to be examined and/or modified
       by acronym.

       In this utility the syntax and semantics of vendor specific mode	 pages
       is  very	 similar  to  those of transport protocol specific mode pages.
       Both cannot be specified together.  Vendor  specific  modes  pages  can
       still be accessed numerically (as shown at the end of the EXAMPLES sec‐

       The command option sends a SCSI command to the DEVICE. If  the  command
       fails  then  this  is reflected in the non-zero exit status.  To obtain
       more information about the error use the -v option.

	      sends a READ  CAPACITY  command  (valid  for  disks  and	cd/dvd
	      media).  If successful yields "blocks: " [the number of blocks],
	      "block_length: " [typically either  512  or  2048]  and  "capac‐
	      ity_mib: " [capacity in MibiBytes (1048576 byte units)].

       eject  stops the medium and ejects it from the device.  Note that ejec‐
	      tion (by command or button) may be prevented in which  case  the
	      'unlock' command may be useful in extreme cases.	Typically only
	      appropriate for cd/dvd drives and	 disk  drives  with  removable
	      media.  Objects  if  sent to another peripheral device type (but
	      objection can be overridden with '-f' option).

       load   loads the medium and and starts it  (i.e.	 spins	it  up).   See
	      'eject' command for supported device types.

	      lists  the  various  formats  that a CD/DVD/HD-DVD/BD drive sup‐
	      ports. These are called "profiles" in the MMC standard. The pro‐
	      files  are  listed  one per line.	 If media is in the drive then
	      the profile that matches the media (if any) has an  "*"  to  the
	      right of the line.

       ready  sends the "Test Unit Ready" SCSI command to the DEVICE. No error
	      is reported if the device will respond to	 data  requests	 (e.g.
	      READ)  in	 a  reasonable	timescale.  For	 example, if a disk is
	      stopped then it will report  "not	 ready".  All  devices	should
	      respond to this command.

       sense  sends  a	REQUEST SENSE command. It reports a hardware threshold
	      exceeded, warning or  low	 power	condition  if  flagged.	 If  a
	      progress	indication  is	present (e.g. during a format) then it
	      will be output as a percentage. Yields a process status of 0  if
	      the  command succeeds and the sense key is 0; else yields 1. The
	      --quiet option can be used to lessen output, and --hex to output
	      sense data in hex.

	      permits  the speed of a CD, DVD, HD_DVD or BD disc in a drive to
	      be set (or at least influenced).	It  has	 this  format:	--com‐
	      mand=speed=SPEED where SPEED is in kilobytes per second. In this
	      case a kilobyte is 1000 bytes. The "times one" speed for a CD is
	      176.4 kB/s, for a DVD is 1350 kB/s and for both HD-DVD and BD it
	      is 4500 kB/s. If SPEED is zero then the  drive  is  set  to  the
	      speed that it considers gives optimal performance.  This command
	      sends a SET STREAMING multi-media command (MMC)  to  the	drive.
	      The  EXACT  bit is clear so the drive will round the given SPEED
	      as necessary.  The command is designed to	 control  read	speed;
	      setting write speed should be left to "burning" programs.

       start  starts  the  medium  (i.e.  spins it up). Harmless if medium has
	      already been started. See 'eject' command for  supported	device
	      types.  If  the  DEVICE is an ATA disk in Linux the '--readonly'
	      option may be required.

       stop   stops the medium (i.e. spins it down). Harmless  if  medium  has
	      already  been  stopped. See 'eject' command for supported device
	      types. If the DEVICE is an ATA disk in  Linux  the  '--readonly'
	      option may be required. See the NOTES section above.

       sync   sends  a	SYNCHRONIZE CACHE command. The device should flush any
	      data held in its (volatile) buffers to the media.

       unlock tells a device to allow medium removal. It uses the  SCSI	 "pre‐
	      vent  allow  medium removal" command. This is desperation stuff,
	      possibly overriding a prevention applied by the OS on a  mounted
	      file  system.  The "eject" utility (from the "eject" package) is
	      more graceful and should be tried first. This  command  is  only
	      appropriate for devices with removable media.

       For  loading and ejecting tapes the mt utility should be used (i.e. not
       these commands). The 'ready' command is valid for tape devices.

       To list the common (generic) mode parameters of a disk:

	  sdparm /dev/sda

       To list the designators within the device identification VPD page of  a

	  sdparm --inquiry /dev/sda

       To see all parameters for the caching mode page:

	  sdparm --page=ca /dev/sda

       To see all parameters for the caching mode page with parameter descrip‐
       tions to the right:

	  sdparm --page=ca --long /dev/sda

       To get the WCE values (current changeable default and saved) in hex:

	  sdparm -g WCE -H /dev/sda
       0x01 0x00 0x01 0x01

       To get the WCE current value in hex:

	  sdparm -g WCE=1 -H /dev/sda

       To set the "Writeback Cache Enable" bit in the current values page:

	  sdparm --set=WCE /dev/sda

       To set the "Writeback Cache Enable" bit in the current and saved values

	  sdparm --set=WCE --save /dev/sda

       To set the "Writeback Cache Enable" and clear "Read Cache Disable":

	  sdparm --set=WCE --clear=RCD --save /dev/sda

       The previous example can also by written as:

	  sdparm -s WCE=1,RCD=0 -S /dev/sda

       To  re-establish	 the  manufacturer's defaults in the current and saved
       values of the caching mode page:

	  sdparm --page=ca --defaults --save /dev/sda

       If an ATAPI cd/dvd drive is at /dev/hdc then its common (mode)  parame‐
       ters could be listed in the lk 2.6 series with:

	  sdparm /dev/hdc

       If  there is a DVD in the drive at /dev/hdc then it could be ejected in
       the lk 2.6 series with:

	  sdparm --command=eject /dev/hdc

       If the ejection is being prevented by software then that can  be	 over‐
       ridden with:

	  sdparm --command=unlock /dev/hdc

       One  disk  vendor  has a "Performance Mode" bit (PM) in the vendor spe‐
       cific unit attention mode page [0x0,0x0].  PM=0	is  server  mode  (the
       default) while PM=1 is desktop mode. Desktop mode can be set (both cur‐
       rent and saved values) with:

	  sdparm --page=0 --set=2:7:1=1 --save /dev/sda

       The resultant change can be viewed in hex  with	the  --hex  option  as
       there are no acronyms for vendor extensions yet. The PM bit is now cov‐
       ered by vendor specific mode pages and the above	 can  also  be	accom‐
       plished with:

	  sdparm --vendor=sea --set=PM --save /dev/sda

       What follows are some examples from Windows using the '--wscan' option.
       The idea is to list the storage device names on the system  that	 might
       be invoked by other uses of sdparm.

	 # sdparm --wscan
       PD0     [C]     FUJITSU	 MHY2160BH	   0000
       PD1     [DF]    WD	 2500BEV External  1.05	 WD-WXE90
       CDROM0  [E]     MATSHITA DVD/CDRW UJDA775  CB03

       So  'sdparm -a CDROM0' and 'sdparm -a E' will show all the (known) mode
       page fields for the Matshita DVD/CD  drive.  By	using  the  '--wsacan'
       option twice, the bus type (as seen by the OS) is added to the output:

	 # sdparm -ww
       PD0     [C]     <Ata  >	FUJITSU	  MHY2160BH	    0000
       PD1     [DF]    <Usb  >	WD	  2500BEV External  1.05  WD-WXE90
       CDROM0  [E]     <Atapi>	MATSHITA DVD/CDRW UJDA775  CB03

       And  the pattern continues to add a SCSI adapter scan. This may be use‐
       ful if there are specialized storage related devices (e.g. a SES device
       in an enclosure) but does add much extra information in this case.

	 # sdparm -www
       PD0     [C]     <Ata  >	FUJITSU	  MHY2160BH	    0000
       PD1     [DF]    <Usb  >	WD	  2500BEV External  1.05  WD-WXE90
       CDROM0  [E]     <Atapi>	MATSHITA DVD/CDRW UJDA775  CB03

       SCSI0:0,0,0   claimed=1 pdt=0h  FUJITSU	 MHY2160BH	   0000
       SCSI1:0,0,0   claimed=1 pdt=5h  MATSHITA	 DVD/CDRW UJDA775  CB03

       To  aid	scripts	 that  call sdparm, the exit status is set to indicate
       success (0) or failure (1 or more). Note that some of the lower	values
       correspond to the SCSI sense key values. The exit status values are:

       0      success

       1      syntax  error. Either illegal command line options, options with
	      bad arguments or a combination of options that is not permitted.

       2      the DEVICE reports that  it  is  not  ready  for	the  operation
	      requested.  The  device  may be in the process of becoming ready
	      (e.g.  spinning up but not at speed) so  the  utility  may  work
	      after a wait.

       3      the  DEVICE  reports  a  medium  or  hardware  error (or a blank
	      check). For example an attempt to read a corrupted  block	 on  a
	      disk will yield this value.

       5      the DEVICE reports an "illegal request" with an additional sense
	      code other than "invalid operation code". This is often  a  sup‐
	      ported  command with a field set requesting an unsupported capa‐
	      bility. For commands that require a "service action" field  this
	      value can indicate that the command is not supported.

       6      the  DEVICE  reports  a "unit attention" condition. This usually
	      indicates that something unrelated to the requested command  has
	      occurred	(e.g.  a  device reset) potentially before the current
	      SCSI command was sent. The requested command has not  been  exe‐
	      cuted  by	 the  device.  Note that unit attention conditions are
	      usually only reported once by a device.

       9      the DEVICE reports an illegal request with an  additional	 sense
	      code  of	"invalid  operation  code" which means that it doesn't
	      support the requested command.

       11     the DEVICE reports an aborted command.  In  some	cases  aborted
	      commands	can  be	 retried  immediately  (e.g.  if the transport
	      aborted the command due to congestion).

       15     the utility is unable to open, close or use  the	given  DEVICE.
	      The  given  file name could be incorrect or there may be permis‐
	      sion problems. Adding the -v option may give more information.

       20     the DEVICE reports it has a  check  condition  but  "no  sense".
	      Some  polling  commands (e.g. REQUEST SENSE) can react this way.
	      It is unlikely that this value will occur as an exit status.

       21     the DEVICE reports a "recovered error".  The  requested  command
	      was  successful.	Most  likely a utility will report a recovered
	      error to stderr and continue, probably leaving the utility  with
	      an exit status of 0 .

       33     the  command  sent to DEVICE has timed out. This occurs in Linux
	      only; in other ports a command timeout will appear as  a	trans‐
	      port (or OS) error.

       97     the response to a SCSI command failed sanity checks.

       98     the  DEVICE  reports  it	has  a	check  condition but the error
	      doesn't fit into any of the above categories.

       99     any errors that can't be categorized into values	1  to  98  may
	      yield  this  value. This includes transport and operating system
	      errors after the command has been sent to the device.

       Most of the error conditions reported  above  will  be  repeatable  (an
       example	of  one that is not is "unit attention") so the utility can be
       run again with the -v option (or several) to obtain more information.

       Written by Douglas Gilbert.

       Report bugs to <dgilbert at interlog dot com>.

       Copyright © 2005-2013 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‐

       There	is    a	   web	  page	  discussing	this	package	    at .

       hdparm(hdparm),	sg_modes,  sg_wr_mode,	sginfo,	 sg_inq, sg_vpd(all in
       sg3_utils),	smartmontools(,	   mt,

sdparm-1.08			   June 2013			     SDPARM(8)

List of man pages available for Oracle

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
Vote for polarhome
Free Shell Accounts :: the biggest list on the net