Provided by: hdparm_6.3-3ubuntu1_i386 bug

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.

       -a     Get/set sector count for filesystem 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.   In  the  current  kernel  version
              (2.0.10)  this  has  a default setting of 8 sectors (4KB).  This
              value seems good for most purposes, but in a system  where  most
              file  accesses are random seeks, a smaller setting might provide
              better performance.  Also, many IDE drives also have a  separate
              built-in  read-ahead  function,  which alleviates the need for a
              filesystem read-ahead in many situations.

       -A     Disable/enable the IDE drive´s 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
              supported values include 0 to disable 32-bit I/O support,  1  to
              enable  32-bit  data  transfers,  and  3  to  enable 32-bit data
              transfers  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
              completely 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
              combination  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  performance,  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.

       -D     Enable/disable  the  on-drive defect management feature, whereby
              the drive  firmware  tries  to  automatically  manage  defective
              sectors  by  relocating  them to "spare" sectors reserved by the
              factory 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  drive´s  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 drive´s 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
              automatically, 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  removeable  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
              feature  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 Digital recommends lower settings of 4 to 8 on
              many of their drives, due tiny (32kB)  drive  buffers  and  non-
              optimized buffering 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
              movements 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
              levels between 128 and 254.  At the  moment,  most  drives  only
              support  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
              supported 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
              caution!   This feature includes zero protection for the unwary,
              and an unsuccessful outcome  may  result  in  severe  filesystem
              corruption!

       -P     Set  the  maximum sector count for the drive´s 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)
              kernels, and only with the few drives that currently support it.

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

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

       -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
              seconds 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
              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  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
              measurement is an indication of how fast the drive  can  sustain
              sequential  data  reads  under  Linux,  without  any  filesystem
              overhead.  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   Linux´s
              responsiveness and eliminates "serial port overrun" errors.  Use
              this feature 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  particular,  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  feature  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
              caution  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 drive´s  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 (you´ll need to prepare the chipset for UltraDMA
              beforehand).  Apart from  that,  use  of  this  flag  is  seldom
              necessary  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 drive´s "default" PIO mode, and 01 disables  IORDY.
              For multiword 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
              consumption 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
              consumption 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.

       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 drive´s security settings.  The drive does not accept
              any  security  commands  until  next  power-on  reset.  Use this
              function 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
       necessary 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
       interfaces.

       The  Linux  kernel  up until 2.6.12 (and probably later) doesn´t 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
       succeed 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
       commands that way.

AUTHOR

       hdparm  has  been  written by Mark Lord <mlord@pobox.com>, 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
       Leppikangas(tomilepp@paju.oulu.fi).

       Security freeze command by Benjamin Benz <bbe@heise.de>, 2005.

       PIO data out security commands by Leonard den Ottolander  <leonard  den
       ottolander nl>, 2005.  Parts by Benjamin Benz <bbe@heise.de>.

SEE ALSO

       AT Attachment Interface for Disk Drives, ANSI ASC X3T9.2 working draft,
       revision 4a, April 19, 1993.

       AT Attachment  Interface  with  Extensions  (ATA-2),  ANSI  ASC  X3T9.2
       working draft, revision 2f, July 26, 1994.

       AT  Attachment  with  Packet  Interface  -  5  (ATA/ATAPI-5), T13-1321D
       working draft, revision 3, February 29, 2000.

       AT Attachment  with  Packet  Interface  -  6  (ATA/ATAPI-6),  T13-1410D
       working draft, revision 3b, February 26, 2002.

       Western  Digital  Enhanced IDE Implementation Guide, by Western Digital
       Corporation, revision 5.0, November 10, 1993.

       Enhanced  Disk  Drive  Specification,  by  Phoenix  Technologies  Ltd.,
       version 1.0, January 25, 1994.