Quick ?s
Cheat Sheets
Man Pages
The Lynx
Software
HDPARM(8)							     HDPARM(8)



NAME
       hdparm - get/set hard disk parameters

SYNOPSIS
       hdparm [ flags ] [device] ..

DESCRIPTION
       hdparm  provides  a  command line interface to various hard disk ioctls
       supported by the stock Linux ATA/IDE  device  driver  subsystem.   Some
       options	may  work  correctly  only  with the latest kernels.  For best
       results, compile hdparm with the include files from the	latest	kernel
       source code.

OPTIONS
       When no flags are given, -acdgkmnru is assumed.	For Get/Set options, a
       query without an optional parameter (e.g., -d)  will  query  (get)  the
       drive state, and with a parameter (e.g., -d0) will set the drive state.

       -a     Get/set sector count for filesystem (software) read-ahead.  This
	      is  used	to  improve  performance  in sequential reads of large
	      files, by prefetching additional blocks in anticipation of  them
	      being  needed  by the running task.  Many IDE drives also have a
	      separate	built-in  read-ahead  function,  which	augments  this
	      filesystem (software) read-ahead function.

       -A     Disable/enable  the  IDE drives read-lookahead feature (usually
	      ON by default).  Usage: -A0 (disable) or -A1 (enable).

       -b     Get/set bus state.

       -B     Set Advanced Power Management feature, if the drive supports it.
	      A  low  value means aggressive power management and a high value
	      means better performance. A value of 255 will disable apm on the
	      drive.

       -c     Query/enable (E)IDE 32-bit I/O support.  A numeric parameter can
	      be used to enable/disable 32-bit	I/O  support:  Currently  sup
	      ported  values  include  0  to  disable 32-bit I/O support, 1 to
	      enable 32-bit data transfers, and 3 to enable 32-bit data trans
	      fers  with  a  special  sync sequence required by many chipsets.
	      The value 3 works with  nearly  all  32-bit  IDE	chipsets,  but
	      incurs  slightly	more  overhead.   Note that "32-bit" refers to
	      data transfers across a PCI or VLB bus  to  the  interface  card
	      only; all (E)IDE drives still have only a 16-bit connection over
	      the ribbon cable from the interface card.

       -C     Check the current IDE power mode status, which  will  always  be
	      one   of	 unknown   (drive  does  not  support  this  command),
	      active/idle (normal operation), standby (low power  mode,  drive
	      has  spun  down),  or sleeping (lowest power mode, drive is com
	      pletely shut down).  The -S, -y, -Y, and -Z flags can be used to
	      manipulate the IDE power modes.

       -d     Disable/enable the "using_dma" flag for this drive.  This option
	      now works with most combinations of drives  and  PCI  interfaces
	      which  support DMA and which are known to the kernel IDE driver.
	      It is also a good idea to use the appropriate -X option in  com
	      bination	with -d1 to ensure that the drive itself is programmed
	      for the correct DMA mode, although most BIOSs should do this for
	      you  at  boot time.  Using DMA nearly always gives the best per
	      formance, with fast I/O throughput and low CPU usage.  But there
	      are  at  least  a  few configurations of chipsets and drives for
	      which DMA does not make much of a difference, or may  even  slow
	      things  down  (on really messed up hardware!).  Your mileage may
	      vary.

       --direct
	      Use the kernel O_DIRECT flag when performing a -t  timing  test.
	      This  bypasses  the page cache, causing the reads to go directly
	      from the drive into hdparms buffers, using so-called "raw" I/O.
	      In  many cases, this can produce results that appear much faster
	      than the usual page cache method, giving a better indication  of
	      raw device and driver performance.

       -D     Enable/disable  the  on-drive defect management feature, whereby
	      the drive firmware tries to automatically manage defective  sec
	      tors  by relocating them to "spare" sectors reserved by the fac
	      tory for such.

       -E     Set cdrom speed.	This is NOT necessary for  regular  operation,
	      as  the  drive will automatically switch speeds on its own.  But
	      if you want to play with it, just supply a  speed  number  after
	      the option, usually a number like 2 or 4.

       -f     Sync  and  flush	the buffer cache for the device on exit.  This
	      operation is also performed as part of the -t and -T timings.

       -g     Display the drive geometry (cylinders, heads, sectors), the size
	      (in sectors) of the device, and the starting offset (in sectors)
	      of the device from the beginning of the drive.

       -h     Display terse usage information (help).

       -i     Display the identification info that was obtained from the drive
	      at  boot	time,  if  available.  This is a feature of modern IDE
	      drives, and may not be supported by  older  devices.   The  data
	      returned	may or may not be current, depending on activity since
	      booting the system.  However, the current multiple  sector  mode
	      count  is  always  shown.  For a more detailed interpretation of
	      the identification info, refer to AT  Attachment	Interface  for
	      Disk  Drives  (ANSI ASC X3T9.2 working draft, revision 4a, April
	      19/93).

       -I     Request identification info directly from the  drive,  which  is
	      displayed in a new expanded format with considerably more detail
	      than with the older -i flag.

       --Istdin
	      This is a special "no seatbelts" variation  on  the  -I  option,
	      which  accepts  a  drive	identification block as standard input
	      instead of using a /dev/hd* parameter.  The format of this block
	      must    be   exactly   the   same   as   that   found   in   the
	      /proc/ide/*/hd*/identify	"files",  or  that  produced  by   the
	      --Istdout  option  described  below.  This variation is designed
	      for use  with  collected	"libraries"  of  drive	identification
	      information, and can also be used on ATAPI drives which may give
	      media errors with the standard mechanism.

       --Istdout
	      This option simply dumps the identify data in hex to stdout,  in
	      a format similar to that from /proc/, and suitable for later use
	      with the --Istdin option.

       -k     Get/set the keep_settings_over_reset flag for the  drive.   When
	      this flag is set, the driver will preserve the -dmu options over
	      a soft reset, (as done  during  the  error  recovery  sequence).
	      This  flag  defaults  to off, to prevent drive reset loops which
	      could be caused by combinations of -dmu settings.  The  -k  flag
	      should  therefore  only be set after one has achieved confidence
	      in correct system operation with a chosen set  of  configuration
	      settings.   In practice, all that is typically necessary to test
	      a configuration (prior to using -k) is to verify that the  drive
	      can  be  read/written,  and that no error logs (kernel messages)
	      are generated in the process (look in /var/adm/messages on  most
	      systems).

       -K     Set  the	drives	keep_features_over_reset  flag.  Setting this
	      enables the drive to retain the settings for -APSWXZ over a soft
	      reset  (as  done	during	the error recovery sequence).  Not all
	      drives support this feature.

       -L     Set the drives doorlock flag.  Setting this to 1 will lock  the
	      door  mechanism of some removable hard drives (eg. Syquest, ZIP,
	      Jazz..), and setting it to 0 will  unlock  the  door  mechanism.
	      Normally,  Linux	maintains the door locking mechanism automati
	      cally, depending on drive usage (locked whenever a filesystem is
	      mounted).  But on system shutdown, this can be a nuisance if the
	      root partition is on a removable disk, since the root  partition
	      is  left	mounted (read-only) after shutdown.  So, by using this
	      command  to  unlock  the	door  after  the  root	filesystem  is
	      remounted  read-only, one can then remove the cartridge from the
	      drive after shutdown.

       -m     Get/set sector count for multiple sector I/O on  the  drive.   A
	      setting  of  0 disables this feature.  Multiple sector mode (aka
	      IDE Block Mode), is a feature of most modern  IDE  hard  drives,
	      permitting  the  transfer of multiple sectors per I/O interrupt,
	      rather than the usual one sector per interrupt.  When this  fea
	      ture  is enabled, it typically reduces operating system overhead
	      for disk I/O by 30-50%.	On  many  systems,  it	also  provides
	      increased  data  throughput  of  anywhere  from 5% to 50%.  Some
	      drives, however (most notably the WD Caviar series), seem to run
	      slower with multiple mode enabled.  Your mileage may vary.  Most
	      drives support the minimum settings of 2, 4, 8, or 16 (sectors).
	      Larger settings may also be possible, depending on the drive.  A
	      setting of 16 or 32 seems optimal on many systems.  Western Dig
	      ital  recommends	lower  settings  of  4	to  8 on many of their
	      drives, due tiny (32kB) drive buffers and non-optimized  buffer
	      ing  algorithms.	 The  -i  flag can be used to find the maximum
	      setting supported by an installed drive (look for MaxMultSect in
	      the  output).   Some  drives claim to support multiple mode, but
	      lose data at some  settings.   Under  rare  circumstances,  such
	      failures can result in massive filesystem corruption.

       -M     Get/set Automatic Acoustic Management (AAM) setting. Most modern
	      harddisk drives have the ability to speed down  the  head  move
	      ments  to  reduce  their	noise output.  The possible values are
	      between 0 and 254. 128 is the most quiet (and therefore slowest)
	      setting and 254 the fastest (and loudest). Some drives have only
	      two levels (quiet / fast), while others may have different  lev
	      els  between  128 and 254.  At the moment, most drives only sup
	      port 3 options, off, quiet, and fast.  These have been  assigned
	      the values 0, 128, and 254 at present, respectively, but integer
	      space has been incorporated for future  expansion,  should  this
	      change.

       -n     Get or set the "ignore write errors" flag in the driver.	Do NOT
	      play with this without grokking the driver source code first.

       -p     Attempt to reprogram the IDE interface chipset for the specified
	      PIO  mode,  or attempt to auto-tune for the "best" PIO mode sup
	      ported by the drive.  This feature is supported  in  the	kernel
	      for  only  a  few "known" chipsets, and even then the support is
	      iffy at best.  Some IDE chipsets are unable  to  alter  the  PIO
	      mode  for  a single drive, in which case this flag may cause the
	      PIO mode for both drives to be set.  Many IDE  chipsets  support
	      either  fewer  or more than the standard six (0 to 5) PIO modes,
	      so the exact speed setting that  is  actually  implemented  will
	      vary  by	chipset/driver	sophistication.  Use with extreme cau
	      tion!  This feature includes zero protection for the unwary, and
	      an  unsuccessful outcome may result in severe filesystem corrup
	      tion!

       -P     Set the maximum sector count for the drives  internal  prefetch
	      mechanism.  Not all drives support this feature.

       -q     Handle  the  next flag quietly, suppressing normal output.  This
	      is useful for reducing screen clutter when running  from	system
	      startup  scripts.   Not  applicable  to the -i or -v or -t or -T
	      flags.

       -Q     Set tagged queue depth (1 or greater), or  turn  tagged  queuing
	      off  (0).  This only works with the newer 2.5.xx (or later) ker
	      nels, and only with the few drives that currently support it.

       -r     Get/set read-only flag for the device.  When set,  Linux	disal
	      lows write operations on the device.

       -R     Register	an  IDE  interface.  Dangerous.  See the -U option for
	      more information.

       -s     Enable/disable the power-on in standby feature, if supported  by
	      the  drive.  If  enabled, the drive is powered-up in the standby
	      mode to allow the controller to sequence the spin-up of devices.
	      This  feature is usually disabled and the drive is powered-up in
	      the active mode (see -C above).  Note  that  a  drive  may  also
	      allow to enable this feature by a jumper.  Some SATA drives sup
	      port the control of this feature by pin 11  of  the  SATA  power
	      connector.  In  these  cases, this command may be unsupported or
	      may have no effect.

       -S     Set the standby (spindown) timeout for the drive.  This value is
	      used  by	the  drive to determine how long to wait (with no disk
	      activity) before turning off the spindle motor  to  save	power.
	      Under  such circumstances, the drive may take as long as 30 sec
	      onds to respond to a subsequent disk access, though most	drives
	      are much quicker.  The encoding of the timeout value is somewhat
	      peculiar.  A value of zero means "timeouts  are  disabled":  the
	      device will not automatically enter standby mode.  Values from 1
	      to 240 specify multiples of 5 seconds, yielding timeouts from  5
	      seconds to 20 minutes.  Values from 241 to 251 specify from 1 to
	      11 units of 30 minutes, yielding timeouts from 30 minutes to 5.5
	      hours.   A  value  of  252  signifies a timeout of 21 minutes. A
	      value of 253 sets a vendor-defined timeout period between 8  and
	      12  hours, and the value 254 is reserved.  255 is interpreted as
	      21 minutes plus 15 seconds.  Note that  some  older  drives  may
	      have very different interpretations of these values.

       -T     Perform timings of cache reads for benchmark and comparison pur
	      poses.   For  meaningful	results,  this	operation  should   be
	      repeated	2-3  times  on	an otherwise inactive system (no other
	      active processes) with at least a couple of  megabytes  of  free
	      memory.	This  displays	the speed of reading directly from the
	      Linux buffer cache without disk  access.	 This  measurement  is
	      essentially  an  indication  of the throughput of the processor,
	      cache, and memory of the system under test.  If the -t  flag  is
	      also specified, then a correction factor based on the outcome of
	      -T will be incorporated into the	result	reported  for  the  -t
	      operation.

       -t     Perform  timings	of  device  reads for benchmark and comparison
	      purposes.  For meaningful  results,  this  operation  should  be
	      repeated	2-3  times  on	an otherwise inactive system (no other
	      active processes) with at least a couple of  megabytes  of  free
	      memory.	This  displays the speed of reading through the buffer
	      cache to the disk without any prior caching of data.  This  mea
	      surement	is  an	indication  of	how fast the drive can sustain
	      sequential data reads under Linux, without any filesystem  over
	      head.   To  ensure  accurate  measurements,  the buffer cache is
	      flushed during the processing of -t using the  BLKFLSBUF	ioctl.
	      If the -T flag is also specified, then a correction factor based
	      on the outcome of  -T  will  be  incorporated  into  the	result
	      reported for the -t operation.

       -u     Get/set  interrupt-unmask  flag  for  the drive.	A setting of 1
	      permits the driver to unmask other interrupts during  processing
	      of  a disk interrupt, which greatly improves Linuxs responsive
	      ness and eliminates "serial port overrun" errors.  Use this fea
	      ture  with  caution:  some  drive/controller combinations do not
	      tolerate the increased I/O latencies possible when this  feature
	      is enabled, resulting in massive filesystem corruption.  In par
	      ticular, CMD-640B and RZ1000 (E)IDE interfaces can be unreliable
	      (due  to	a  hardware flaw) when this option is used with kernel
	      versions earlier than 2.0.13.  Disabling the IDE	prefetch  fea
	      ture  of these interfaces (usually a BIOS/CMOS setting) provides
	      a safe fix for the problem for use with earlier kernels.

       -U     Un-register an IDE interface.  Dangerous.  The companion for the
	      -R option.  Intended for use with hardware made specifically for
	      hot-swapping (very rare!).  Use with knowledge and extreme  cau
	      tion  as this can easily hang or damage your system.  The hdparm
	      source distribution includes a  contrib  directory  with	some
	      user-donated  scripts  for  hot-swapping	on  the  UltraBay of a
	      ThinkPad 600E.  Use at your own risk.

       -v     Display all settings, except -i (same as -acdgkmnru for IDE, -gr
	      for  SCSI  or -adgr for XT).  This is also the default behaviour
	      when no flags are specified.

       -w     Perform a device reset (DANGEROUS).  Do NOT use this option.  It
	      exists for unlikely situations where a reboot might otherwise be
	      required to get a confused drive back into a useable state.

       -W     Disable/enable the IDE drives  write-caching  feature  (default
	      state is undeterminable; manufacturer/model specific).

       -x     Tristate device for hotswap (DANGEROUS).

       -X     Set  the IDE transfer mode for newer (E)IDE/ATA drives.  This is
	      typically used in combination with -d1 when enabling DMA to/from
	      a drive on a supported interface chipset, where -X mdma2 is used
	      to select multiword DMA mode2 transfers and -X sdma1 is used  to
	      select  simple mode 1 DMA transfers.  With systems which support
	      UltraDMA burst timings, -X udma2	is  used  to  select  UltraDMA
	      mode2 transfers (youll need to prepare the chipset for UltraDMA
	      beforehand).  Apart from that, use of this flag is seldom neces
	      sary  since  most/all modern IDE drives default to their fastest
	      PIO transfer mode at power-on.  Fiddling with this can  be  both
	      needless	and risky.  On drives which support alternate transfer
	      modes, -X can be used to switch the  mode  of  the  drive  only.
	      Prior to changing the transfer mode, the IDE interface should be
	      jumpered or programmed (see -p flag) for the new mode setting to
	      prevent  loss  and/or corruption of data.  Use this with extreme
	      caution!	For the PIO (Programmed Input/Output)  transfer  modes
	      used  by Linux, this value is simply the desired PIO mode number
	      plus 8.  Thus, a value of 09 sets  PIO  mode1,  10  enables  PIO
	      mode2,  and  11  selects	PIO  mode3.   Setting  00 restores the
	      drives "default" PIO mode, and 01 disables IORDY.   For  multi
	      word DMA, the value used is the desired DMA mode number plus 32.
	      for UltraDMA, the value is the desired UltraDMA mode number plus
	      64.

       -y     Force  an  IDE drive to immediately enter the low power consump
	      tion standby mode, usually causing it to spin down.  The current
	      power mode status can be checked using the -C flag.

       -Y     Force  an  IDE  drive to immediately enter the lowest power con
	      sumption sleep mode, causing it to shut down completely.	A hard
	      or soft reset is required before the drive can be accessed again
	      (the Linux IDE driver will automatically handle issuing a  reset
	      if/when  needed).   The current power mode status can be checked
	      using the -C flag.

       -z     Force a kernel re-read of the partition table of	the  specified
	      device(s).

       -Z     Disable  the  automatic power-saving function of certain Seagate
	      drives (ST3xxx models?), to prevent them	from  idling/spinning-
	      down at inconvenient times.

       -H     Read  the  temperature  from some (mostly Hitachi) drives.  Also
	      reports if the temperature is within operating  condition  range
	      (this  may not be reliable). Does not cause the drive to spin up
	      if idle.


       ATA Security Feature Set

       These switches are DANGEROUS to experiment with,  and  might  not  work
       with every kernel.  USE AT YOUR OWN RISK.

       --security-help
	      Display terse usage info for all of the --security-* flags.

       --security-freeze
	      Freeze the drives security settings.  The drive does not accept
	      any security commands until next power-on reset.	Use this func
	      tion in combination with --security-unlock to protect drive from
	      any attempt to set a new password. Can be used standalone,  too.

       --security-unlock PWD
	      Unlock  the  drive, using password PWD.  Password is given as an
	      ASCII string and is padded with NULs to  reach  32  bytes.   The
	      applicable  drive  password  is  selected with the --user-master
	      switch.  THIS FEATURE IS EXPERIMENTAL AND NOT WELL  TESTED.  USE
	      AT YOUR OWN RISK.

       --security-set-pass PWD
	      Lock  the  drive, using password PWD (Set Password) (DANGEROUS).
	      Password is given as an ASCII string and is padded with NULs  to
	      reach  32 bytes.	The applicable drive password is selected with
	      the --user-master switch and the applicable security  mode  with
	      the  --security-mode  switch.   THIS FEATURE IS EXPERIMENTAL AND
	      NOT WELL TESTED. USE AT YOUR OWN RISK.

       --security-disable PWD
	      Disable drive locking, using password PWD.  Password is given as
	      an  ASCII string and is padded with NULs to reach 32 bytes.  The
	      applicable drive password is  selected  with  the  --user-master
	      switch.	THIS  FEATURE IS EXPERIMENTAL AND NOT WELL TESTED. USE
	      AT YOUR OWN RISK.

       --security-erase PWD
	      Erase (locked) drive, using password PWD (DANGEROUS).   Password
	      is  given as an ASCII string and is padded with NULs to reach 32
	      bytes.  The applicable  drive  password  is  selected  with  the
	      --user-master switch.  THIS FEATURE IS EXPERIMENTAL AND NOT WELL
	      TESTED. USE AT YOUR OWN RISK.

       --security-erase-enhanced PWD
	      Enhanced erase (locked) drive, using password  PWD  (DANGEROUS).
	      Password	is given as an ASCII string and is padded with NULs to
	      reach 32 bytes.  The applicable drive password is selected  with
	      the  --user-master switch.  THIS FEATURE IS EXPERIMENTAL AND NOT
	      WELL TESTED. USE AT YOUR OWN RISK.

       --user-master USER
	      Specifies which password (user/master) to select.   Defaults  to
	      master.	Only  useful  in  combination  with --security-unlock,
	      --security-set-pass,  --security-disable,  --security-erase   or
	      --security-erase-enhanced.
		      u       user password
		      m       master password

	      THIS  FEATURE  IS  EXPERIMENTAL AND NOT WELL TESTED. USE AT YOUR
	      OWN RISK.

       --security-mode MODE
	      Specifies which security mode (high/maximum) to  set.   Defaults
	      to high.	Only useful in combination with --security-set-pass.
		      h       high security
		      m       maximum security

	      THIS  FEATURE  IS  EXPERIMENTAL AND NOT WELL TESTED. USE AT YOUR
	      OWN RISK.

FILES
       /etc/hdparm.conf

BUGS
       As noted above, the -m sectcount and -u 1 options should be  used  with
       caution	at  first,  preferably on a read-only filesystem.  Most drives
       work well with these features, but a few drive/controller  combinations
       are  not  100%  compatible.   Filesystem corruption may result.	Backup
       everything before experimenting!

       Some options (eg. -r for SCSI) may not work with old kernels as	neces
       sary ioctl()s were not supported.

       Although  this  utility	is intended primarily for use with (E)IDE hard
       disk devices, several of the options are also valid (and permitted) for
       use  with  SCSI hard disk devices and MFM/RLL hard disks with XT inter
       faces.

       The Linux kernel up until 2.6.12 (and probably  later)  doesnt  handle
       the  security  unlock and disable commands gracefully and will segfault
       and in some cases even  panic.  The  security  commands	however  might
       indeed  have  been  executed  by  the drive. This poor kernel behaviour
       makes the PIO data security commands rather useless at the moment.

       Note that the "security erase" and  "security  disable"	commands  have
       been implemented as two consecutive PIO data commands and will not suc
       ceed on a locked drive because the second command will  not  be	issued
       after the segfault.  See the code for hints how patch it to work around
       this problem. Despite the segfault it is often still  possible  to  run
       two  instances of hdparm consecutively and issue the two necessary com
       mands that way.

AUTHOR
       hdparm has been written by Mark Lord  ,  the  original
       primary	developer  and maintainer of the (E)IDE driver for Linux, with
       suggestions from many netfolk.

       The disable Seagate auto-powersaving code is courtesy of Tomi Leppikan
       gas(tomilepp@paju.oulu.fi).

       Security freeze command by Benjamin Benz , 2005.

       PIO  data  out security commands by Leonard den Ottolander , 2005.  Parts by Benjamin Benz   and  oth
       ers.

SEE ALSO
       http://www.t13.org/ Technical Committee T13 ATA Attachment.

       http://www.serialata.org/ Serial ATA International Organization.



Version 6.9			 October 2006			     HDPARM(8)




Yals.net is © 1999-2009 Crescendo Communications
Sharing tech info on the web for more than a decade!
This page was generated Thu Apr 30 17:05:31 2009