smartctl



SYNOPSIS
       smartctl [options] device


FULL PATH
       /usr/sbin/smartctl


PACKAGE VERSION
       smartmontools-5.41 2011-06-09 r3365


DESCRIPTION
       smartctl  controls the Self-Monitoring, Analysis and Reporting Technol-
       ogy (SMART) system built into many ATA-3 and later ATA, IDE and  SCSI-3
       hard  drives. The purpose of SMART is to monitor the reliability of the
       hard drive and predict drive failures, and to carry out different types
       of  drive  self-tests.   This  version  of  smartctl is compatible with
       ATA/ATAPI-7 and earlier standards (see REFERENCES below)

       smartctl is a command line utility designed to perform SMART tasks such
       as  printing the SMART self-test and error logs, enabling and disabling
       SMART automatic testing, and initiating device self-tests. Note: if the
       user issues a SMART command that is (apparently) not implemented by the
       device, smartctl will print a warning message  but  issue  the  command
       anyway  (see  the -T, --tolerance option below).  This should not cause
       problems: on most devices, unimplemented SMART  commands  issued  to  a
       drive are ignored and/or return an error.

       smartctl also provides support for polling TapeAlert messages from SCSI
       tape drives and changers.

       The user must specify the device to be controlled  or  interrogated  as
       the  final  argument to smartctl. The command set used by the device is
       often derived from the device path but may  need  help  with  the  '-d'
       option (for more information see the section on "ATA, SCSI command sets
       and SAT" below). Device paths are as follows:

       LINUX:   Use  the  forms  "/dev/hd[a-t]"  for  IDE/ATA   devices,   and
                "/dev/sd[a-z]"  for  SCSI  devices.  For  SCSI Tape Drives and
                Changers with TapeAlert support use  the  devices  "/dev/nst*"
                and  "/dev/sg*".   For  SATA  disks  accessed with libata, use
                "/dev/sd[a-z]" and append "-d ata".  For  disks  behind  3ware
                controllers  you  may  need "/dev/sd[a-z]" or "/dev/twe[0-9]",
                "/dev/twa[0-9]" or "/dev/twl[0-9]":  see  details  below.  For
                disks  behind  HighPoint  RocketRAID  controllers you may need
                "/dev/sd[a-z]".  For disks behind Areca SATA RAID controllers,
                you  need  "/dev/sg[2-9]"  (note  that smartmontools interacts
                with the Areca controllers via a SCSI generic device which  is
                different  than  the  SCSI device used for reading and writing
                data)!

                and  "/dev/st[0-9]+c"  respectively.   Be  sure to specify the
                correct "whole disk" partition letter for your architecture.

       SOLARIS: Use the forms "/dev/rdsk/c?t?d?s?" for IDE/ATA and  SCSI  disk
                devices, and "/dev/rmt/*" for SCSI tape devices.

       WINDOWS 9x/ME:
                Use  the  forms  "/dev/hd[a-d]"  for  standard IDE/ATA devices
                accessed via SMARTVSD.VXD, and "/dev/hd[e-h]"  for  additional
                devices  accessed via a patched SMARTVSE.VXD (see INSTALL file
                for details).  Use the  form  "/dev/scsi[0-9][0-f]"  for  SCSI
                devices via an aspi dll on ASPI adapter 0-9, ID 0-15. The pre-
                fix "/dev/" is optional.

       WINDOWS NT4/2000/XP/2003/Vista/Win7/2008:
                Use the forms "/dev/sd[a-z]" for  IDE/(S)ATA  and  SCSI  disks
                "\\.\PhysicalDrive[0-25]"  (where  "a"  maps  to  "0").  These
                disks  can  also  be  referred  to  as  "/dev/pd[0-255]"   for
                "\\.\PhysicalDrive[0-255]".  ATA disks can also be referred to
                as "/dev/hd[a-z]" for "\\.\PhysicalDrive[0-25]".  Use one  the
                forms       "/dev/tape[0-255]",      "/dev/st[0-255]",      or
                "/dev/nst[0-255]" for SCSI tape drives "\\.\Tape[0-255]".

                Alternatively, drive letters "X:" or  "X:\"  may  be  used  to
                specify  the  ('basic') disk behind a mounted partition.  This
                does not work with 'dynamic' disks.

                For disks behind 3ware 9000 controllers  use  "/dev/sd[a-z],N"
                where  N  specifies  the disk number (3ware 'port') behind the
                controller providing the logical drive ('unit')  specified  by
                "/dev/sd[a-z]".   Alternatively,  use  "/dev/tw_cli/cx/py" for
                controller x, port y to run the 'tw_cli' tool  and  parse  the
                output.  This  provides  limited  monitoring ('-i', '-c', '-A'
                below)  if  SMART  support  is  missing  in  the  driver.  Use
                "/dev/tw_cli/stdin"  or "/dev/tw_cli/clip" to parse CLI or 3DM
                output from standard  input  or  clipboard.   The  option  '-d
                3ware,N' is not necessary on Windows.

                [NEW  EXPERIMENTAL  SMARTCTL  FEATURE]  For disks behind Intel
                Matrix RAID driver use "/dev/csmi[0-9],N"  where  N  specifies
                the  port behind the logical scsi controller "\\.\Scsi[0-9]:".
                The prefix "/dev/" is optional.

       CYGWIN:  See "WINDOWS NT4/2000/XP/2003/Vista/Win7/2008" above.

       OS/2,eComStation:
                Use the form "/dev/hd[a-z]" for IDE/ATA devices.

       if '-' is specified as the device path, smartctl reads  and  interprets
       it's own debug output from standard input.  See '-r ataioctl' below for
       details.

       Based on the device path, smartctl will guess the device type  (ATA  or
       SCSI).   If  necessary,  the  '-d' option can be used to over-ride this
       ENABLE/DISABLE, DISPLAY DATA, RUN/ABORT TESTS.


       SHOW INFORMATION OPTIONS:

       -h, --help, --usage
              Prints a usage message to STDOUT and exits.

       -V, --version, --copyright, --license
              Prints version, copyright, license, home page and  SVN  revision
              information  for your copy of smartctl to STDOUT and then exits.
              Please include this information if you  are  reporting  bugs  or
              problems.

       -i, --info
              Prints the device model number, serial number, firmware version,
              and ATA Standard  version/revision  information.   Says  if  the
              device  supports SMART, and if so, whether SMART support is cur-
              rently enabled or disabled.   If  the  device  supports  Logical
              Block  Address mode (LBA mode) print current user drive capacity
              in bytes. (If drive is has a user protected area reserved, or is
              "clipped",  this may be smaller than the potential maximum drive
              capacity.)  Indicates if the drive is in the smartmontools data-
              base  (see  '-v'  options below).  If so, the drive model family
              may also be printed. If '-n' (see below) is specified, the power
              mode of the drive is printed.

       -a, --all
              Prints all SMART information about the disk, or TapeAlert infor-
              mation about the tape drive or changer.  For ATA devices this is
              equivalent to
              '-H -i -c -A -l error -l selftest -l selective'
              and for SCSI, this is equivalent to
              '-H -i -A -l error -l selftest'.
              Note  that  for  ATA  disks  this  does not enable the non-SMART
              options and the SMART options which require support  for  48-bit
              ATA commands.

       -x, --xall
              Prints all SMART and non-SMART information about the device. For
              ATA devices this is equivalent to
              '-H -i -c -A -f brief -l xerror,error -l xselftest,selftest
              -l selective -l directory -l scttemp -l scterc -l sataphy'.
              and for SCSI, this is equivalent to
              '-H -i -A -l error -l selftest -l background -l sasphy'.

       --scan Scans for devices and prints each device name, device  type  and
              protocol  ([ATA]  or  [SCSI])  info.  May be used in conjunction
              with '-d TYPE' to restrict the scan to  a  specific  TYPE.   See
              also info about platform specific device scan and the DEVICESCAN
              directive on smartd(8) man page.

       --scan-open
              Same as --scan, but also tries to open each device before print-
              Specifies that smartctl should run in one of the two quiet modes
              described here.  The valid arguments to this option are:

              errorsonly  - only print: For the '-l error' option, if nonzero,
              the number of errors recorded in the SMART  error  log  and  the
              power-on  time when they occurred; For the '-l selftest' option,
              errors recorded in  the  device  self-test  log;  For  the  '-H'
              option,   SMART  "disk  failing"  status  or  device  Attributes
              (pre-failure or usage) which failed either now or in  the  past;
              For  the  '-A'  option, device Attributes (pre-failure or usage)
              which failed either now or in the past.

              silent - print no output.  The only way to learn about what  was
              found  is  to use the exit status of smartctl (see RETURN VALUES
              below).

              noserial - Do not print the serial number of the device.

       -d TYPE, --device=TYPE
              Specifies the type of the device.  The valid arguments  to  this
              option are:

              auto  - attempt to guess the device type from the device name or
              from controller type info provided by the  operating  system  or
              from a matching USB ID entry in the drive database.  This is the
              default.

              test - prints the guessed type, then opens the device and prints
              the  (possibly  changed)  TYPE name and then exists without per-
              forming any further commands.

              ata - the device type is ATA.  This prevents smartctl from issu-
              ing SCSI commands to an ATA device.

              scsi  -  the  device  type is SCSI.  This prevents smartctl from
              issuing ATA commands to a SCSI device.

              sat - the device type is SCSI to ATA Translation (SAT).  This is
              for  ATA  disks  that have a SCSI to ATA Translation (SAT) Layer
              (SATL) between the disk and the operating system.   SAT  defines
              two  ATA  PASS  THROUGH SCSI commands, one 12 bytes long and the
              other 16 bytes long.  The default is the 16 byte  variant  which
              can be overridden with either '-d sat,12' or '-d sat,16'.

              usbcypress - this device type is for ATA disks that are behind a
              Cypress USB to PATA bridge.  This will use the ATACB proprietary
              scsi  pass  through command.  The default SCSI operation code is
              0x24,  but  although  it  can  be  overridden  with  '-d  usbcy-
              press,0xN',  where  N is the scsi operation code, you're running
              the risk of damage to the device or filesystems on it.

              usbjmicron - this device type is for SATA disks that are  behind
              a  JMicron  USB  to  PATA/SATA  bridge.  The 48-bit ATA commands
              (required e.g. for '-l xerror', see below) do not work with  all
              usbsunplus  - this device type is for SATA disks that are behind
              a SunplusIT USB to SATA bridge.

              marvell - [Linux only] interact with SATA disks  behind  Marvell
              chip-set  controllers  (using  the  Marvell  rather  than libata
              driver).

              megaraid,N - [Linux only] the device consists  of  one  or  more
              SCSI/SAS disks connected to a MegaRAID controller.  The non-neg-
              ative integer N (in the range of 0  to  127  inclusive)  denotes
              which disk on the controller is monitored.  Use syntax such as:
              smartctl -a -d megaraid,2 /dev/sda
              smartctl -a -d megaraid,0 /dev/sdb
              This  interface  will  also work for Dell PERC controllers.  The
              following /dev/XXX entry must exist:
              For PERC2/3/4 controllers: /dev/megadev0
              For PERC5/6 controllers: /dev/megaraid_sas_ioctl_node

              3ware,N - [FreeBSD and Linux only] the device consists of one or
              more  ATA  disks connected to a 3ware RAID controller.  The non-
              negative integer N (in  the  range  from  0  to  127  inclusive)
              denotes  which  disk on the controller is monitored.  Use syntax
              such as:
              smartctl -a -d 3ware,2 /dev/sda
              smartctl -a -d 3ware,0 /dev/twe0
              smartctl -a -d 3ware,1 /dev/twa0
              smartctl -a -d 3ware,1 /dev/twl0
              The first two forms,  which  refer  to  devices  /dev/sda-z  and
              /dev/twe0-15, may be used with 3ware series 6000, 7000, and 8000
              series controllers that use the 3x-xxxx driver.  Note  that  the
              /dev/sda-z form is deprecated starting with the Linux 2.6 kernel
              series and may not be supported by the Linux kernel in the  near
              future.   The  final form, which refers to devices /dev/twa0-15,
              must be used with 3ware 9000 series controllers, which  use  the
              3w-9xxx driver.

              The  devices  /dev/twl0-15  must be used with the 3ware/LSI 9750
              series controllers which use the 3w-sas driver.

              Note that if  the  special  character  device  nodes  /dev/twl?,
              /dev/twa?   and /dev/twe? do not exist, or exist with the incor-
              rect major or minor numbers, smartctl will recreate them on  the
              fly.   Typically  /dev/twa0 refers to the first 9000-series con-
              troller, /dev/twa1 refers to the second 9000 series  controller,
              and  so  on.   The  /dev/twl0  devices  refers to the first 9750
              series controller, /dev/twl1 resfers to the second  9750  series
              controller,  and  so on.  Likewise /dev/twe0 refers to the first
              6/7/8000-series  controller,  /dev/twe1  refers  to  the  second
              6/7/8000 series controller, and so on.

              Note  that  for  the  6/7/8000  controllers, any of the physical
              disks can be queried or examined using any of the  3ware's  SCSI
              logical  device  /dev/sd?   entries.   Thus,  if  logical device
              /dev/sda is made up of two physical disks (3ware ports zero  and
              a disk attached to it, the behavior of smartctl depends upon the
              specific controller model, firmware, Linux kernel and  platform.
              In  some  cases  you  will get a warning message that the device
              does not exist.  In other  cases  you  will  be  presented  with
              'void' data for a non-existent device.

              Note  that  if  the /dev/sd? addressing form is used, then older
              3w-xxxx drivers do not pass the "Enable Autosave" ('-S on')  and
              "Enable  Automatic  Offline" ('-o on') commands to the disk, and
              produce these types of harmless syslog error  messages  instead:
              "3w-xxxx: tw_ioctl(): Passthru size (123392) too big".  This can
              be fixed by upgrading to version 1.02.00.037  or  later  of  the
              3w-xxxx  driver,  or  by  applying  a  patch  to older versions.
              Alternatively, use the character device /dev/twe0-15 interface.

              The selective self-test functions  ('-t  select,A-B')  are  only
              supported  using  the  character  device interface /dev/twl0-15,
              /dev/twa0-15 and /dev/twe0-15.  The necessary WRITE LOG commands
              can not be passed through the SCSI interface.

              areca,N  -  [Linux only] the device consists of one or more SATA
              disks connected to an Areca SATA RAID controller.  The  positive
              integer  N  (in  the range from 1 to 24 inclusive) denotes which
              disk on the controller is monitored.  Use syntax such as:
              smartctl -a -d areca,2 /dev/sg2
              smartctl -a -d areca,3 /dev/sg3
              The first line above addresses the  second  disk  on  the  first
              Areca RAID controller.  The second line addresses the third disk
              on the second Areca RAID controller.  To help identify the  cor-
              rect device, use the command:
              cat /proc/scsi/sg/device_hdr /proc/scsi/sg/devices
              to  show  the  SCSI generic devices (one per line, starting with
              /dev/sg0).  The correct SCSI  generic  devices  to  address  for
              smartmontools  are  the ones with the type field equal to 3.  If
              the incorrect device is addressed, please read the warning/error
              messages  carefully.   They  should  provide  hints  about  what
              devices to use.

              Important: the Areca controller must have firmware version  1.46
              or later.  Lower-numbered firmware versions will give (harmless)
              SCSI error messages and no SMART information.

              cciss,N - [FreeBSD and Linux only] the device consists of one or
              more  SCSI/SAS  disks connected to a cciss RAID controller.  The
              non-negative integer N (in the range from  0  to  15  inclusive)
              denotes which disk on the controller is monitored.

              If the controller firmware or driver provides a SAT Layer it may
              be possible to  monitor  also  SATA  disks  by  specifiying  '-d
              sat+cciss,N'.

              hpt,L/M/N  - [FreeBSD and Linux only] the device consists of one
              or more ATA disks  connected  to  a  HighPoint  RocketRAID  con-
              troller.   The  integer L is the controller id, the integer M is
              device    which   the   driver   registered   (eg,   /dev/hptrr,
              /dev/hptmv6).

       -T TYPE, --tolerance=TYPE
              [ATA only] Specifies how tolerant smartctl should be of ATA  and
              SMART command failures.

              The  behavior  of  smartctl  depends upon whether the command is
              "optional" or "mandatory". Here "mandatory" means  "required  by
              the ATA/ATAPI-5 Specification if the device implements the SMART
              command  set"  and  "optional"  means  "not  required   by   the
              ATA/ATAPI-5  Specification  even  if  the  device implements the
              SMART command set."  The "mandatory" ATA and SMART commands are:
              (1)  ATA  IDENTIFY  DEVICE,  (2)  SMART ENABLE/DISABLE ATTRIBUTE
              AUTOSAVE, (3) SMART ENABLE/DISABLE, and (4) SMART RETURN STATUS.

              The valid arguments to this option are:

              normal - exit on failure of any  mandatory  SMART  command,  and
              ignore  all  failures  of  optional SMART commands.  This is the
              default.  Note  that  on  some  devices,  issuing  unimplemented
              optional SMART commands doesn't cause an error.  This can result
              in misleading smartctl messages such as "Feature  X  not  imple-
              mented", followed shortly by "Feature X: enabled".  In most such
              cases, contrary to the final message, Feature X is not enabled.

              conservative - exit on failure of any optional SMART command.

              permissive - ignore  failure(s)  of  mandatory  SMART  commands.
              This option may be given more than once.  Each additional use of
              this option  will  cause  one  more  additional  failure  to  be
              ignored.   Note that the use of this option can lead to messages
              like "Feature X not implemented", followed  shortly  by  "Error:
              unable  to  enable Feature X".  In a few such cases, contrary to
              the final message, Feature X is enabled.

              verypermissive - equivalent to giving a large number of '-T per-
              missive'  options:  ignore  failures  of any number of mandatory
              SMART commands.  Please see the note above.

       -b TYPE, --badsum=TYPE
              [ATA only] Specifies the action smartctl should take if a check-
              sum error is detected in the: (1) Device Identity Structure, (2)
              SMART Self-Test Log Structure, (3) SMART Attribute Value  Struc-
              ture,  (4) SMART Attribute Threshold Structure, or (5) ATA Error
              Log Structure.

              The valid arguments to this option are:

              warn - report the incorrect checksum but carry on  in  spite  of
              it.  This is the default.

              exit - exit smartctl.

              ioctl - report all ioctl() transactions.

              ataioctl - report only ioctl() transactions with ATA devices.

              scsiioctl - report only ioctl() transactions with SCSI  devices.
              Invoking this once shows the SCSI commands in hex and the corre-
              sponding status. Invoking it a second time adds a hex listing of
              the first 64 bytes of data send to, or received from the device.

              Any argument may include a positive integer to specify the level
              of detail that should be reported.  The argument should be  fol-
              lowed  by a comma then the integer with no spaces.  For example,
              ataioctl,2 The default level is 1, so '-r  ataioctl,1'  and  '-r
              ataioctl' are equivalent.

              For testing purposes, the output of '-r ataioctl,2' can later be
              parsed by smartctl itself if '-' is used as  device  path  argu-
              ment.   The ATA command input parameters, sector data and return
              values are reconstructed from the debug report read from  stdin.
              Then  smartctl  internally simulates an ATA device with the same
              behaviour. This is does not work for SCSI devices yet.

       -n POWERMODE, --nocheck=POWERMODE
              [ATA only] Specifies if smartctl should exit  before  performing
              any  checks  when  the  device is in a low-power mode. It may be
              used to prevent a disk from being spun-up by smartctl. The power
              mode  is  ignored by default.  A nonzero exit status is returned
              if the device is in one of the specified  low-power  modes  (see
              RETURN VALUES below).

              Note: If this option is used it may also be necessary to specify
              the device type with the '-d' option.  Otherwise the device  may
              spin up due to commands issued during device type autodetection.

              The valid arguments to this option are:

              never  -  check  the  device always, but print the power mode if
              '-i' is specified.

              sleep - check the device unless it is in SLEEP mode.

              standby - check the device unless it  is  in  SLEEP  or  STANDBY
              mode.   In  these  modes  most disks are not spinning, so if you
              want to prevent a disk from spinning up, this is  probably  what
              you want.

              idle  -  check the device unless it is in SLEEP, STANDBY or IDLE
              mode.  In the IDLE state, most disks are still spinning, so this
              is probably not what you want.


       SMART FEATURE ENABLE/DISABLE COMMANDS:

              Note:  if multiple options are used to both enable and disable a
              TapeAlert messages.

       -o VALUE, --offlineauto=VALUE
              [ATA  only]  Enables  or  disables SMART automatic offline test,
              which scans the drive every four hours for  disk  defects.  This
              command  can be given during normal system operation.  The valid
              arguments to this option are on and off.

              Note that the SMART automatic offline test command is listed  as
              "Obsolete"  in every version of the ATA and ATA/ATAPI Specifica-
              tions.  It was originally part of  the  SFF-8035i  Revision  2.0
              specification,  but  was  never  part  of any ATA specification.
              However it is implemented and used by many vendors. [Good  docu-
              mentation can be found in IBM's Official Published Disk Specifi-
              cations.  For example the IBM Travelstar 40GNX Hard  Disk  Drive
              Specifications (Revision 1.1, 22 April 2002, Publication # 1541,
              Document S07N-7715-02) page 164. You can also read the SFF-8035i
              Specification  --  see REFERENCES below.]  You can tell if auto-
              matic offline testing is supported by  seeing  if  this  command
              enables  and disables it, as indicated by the 'Auto Offline Data
              Collection' part of the  SMART  capabilities  report  (displayed
              with '-c').

              SMART  provides  three  basic  categories of testing.  The first
              category, called "online" testing, has no effect on the  perfor-
              mance of the device.  It is turned on by the '-s on' option.

              The second category of testing is called "offline" testing. This
              type of test can, in principle, degrade the device  performance.
              The  '-o  on'  option  causes this offline testing to be carried
              out, automatically, on a regular scheduled basis.  Normally, the
              disk will suspend offline testing while disk accesses are taking
              place, and then automatically resume it when the disk would oth-
              erwise  be idle, so in practice it has little effect.  Note that
              a one-time offline test can also be carried out immediately upon
              receipt  of  a user command.  See the '-t offline' option below,
              which causes a one-time offline test to be carried  out  immedi-
              ately.

              The choice (made by the SFF-8035i and ATA specification authors)
              of the word testing for these first two categories  is  unfortu-
              nate,  and  often  leads  to confusion.  In fact these first two
              categories of online and offline testing could  have  been  more
              accurately described as online and offline data collection.

              The results of this automatic or immediate offline testing (data
              collection) are reflected in the values of the SMART Attributes.
              Thus,  if  problems  or errors are detected, the values of these
              Attributes will go below their failure thresholds; some types of
              errors may also appear in the SMART error log. These are visible
              with the '-A' and '-l error' options respectively.

              Some SMART attribute values are  updated  only  during  off-line
              data  collection  activities; the rest are updated during normal

              Any  errors  detected  in  the self testing will be shown in the
              SMART self-test log, which can be examined using the  '-l  self-
              test' option.

              Note: in this manual page, the word "Test" is used in connection
              with the second category just described, e.g. for the  "offline"
              testing.   The words "Self-test" are used in connection with the
              third category.

       -S VALUE, --saveauto=VALUE
              [ATA] Enables or disables SMART autosave of  device  vendor-spe-
              cific  Attributes. The valid arguments to this option are on and
              off.  Note that this feature  is  preserved  across  disk  power
              cycles, so you should only need to issue it once.

              The  ATA  standard  does  not  specify a method to check whether
              SMART autosave is enabled.  Unlike  SCSI  (below),  smartctl  is
              unable to print a warning if autosave is disabled.

              [SCSI]  For  SCSI  devices  this toggles the value of the Global
              Logging Target Save Disabled (GLTSD) bit  in  the  Control  Mode
              Page. Some disk manufacturers set this bit by default. This pre-
              vents error counters, power-up hours and other useful data  from
              being  placed  in  non-volatile  storage, so these values may be
              reset to zero the next time the device is power-cycled.  If  the
              GLTSD bit is set then 'smartctl -a' will issue a warning. Use on
              to clear the GLTSD  bit  and  thus  enable  saving  counters  to
              non-volatile  storage. For extreme streaming-video type applica-
              tions you might consider using off to set the GLTSD bit.


       SMART READ AND DISPLAY DATA OPTIONS:

       -H, --health
              Check: Ask the device to report its SMART health status or pend-
              ing  TapeAlert  messages.   SMART status is based on information
              that it has gathered from online and offline tests,  which  were
              used  to  determine/update  its  SMART vendor-specific Attribute
              values. TapeAlert status is obtained by  reading  the  TapeAlert
              log page.

              If  the  device reports failing health status, this means either
              that the device has already failed, or that it is predicting its
              own  failure within the next 24 hours.  If this happens, use the
              '-a' option to get more information, and get your data  off  the
              disk and to someplace safe as soon as you can.

       -c, --capabilities
              [ATA  only]  Prints  only the generic SMART capabilities.  These
              show what SMART features are implemented and how the device will
              respond to some of the different SMART commands.  For example it
              shows if the device logs errors, if it supports offline  surface
              scanning,  and  so  on.  If the device can carry out self-tests,

       -A, --attributes
              [ATA] Prints only the vendor  specific  SMART  Attributes.   The
              Attributes  are  numbered  from 1 to 253 and have specific names
              and ID numbers. For example Attribute 12 is "power cycle count":
              how many times has the disk been powered up.

              Each  Attribute  has  a  "Raw"  value, printed under the heading
              "RAW_VALUE", and a "Normalized" value printed under the  heading
              "VALUE".   [Note:  smartctl prints these values in base-10.]  In
              the example just given, the "Raw Value" for Attribute  12  would
              be   the   actual  number  of  times  that  the  disk  has  been
              power-cycled, for example 365 if the disk  has  been  turned  on
              once  per  day for exactly one year.  Each vendor uses their own
              algorithm to convert this "Raw" value to a "Normalized" value in
              the range from 1 to 254.  Please keep in mind that smartctl only
              reports the different Attribute types, values, and thresholds as
              read  from  the  device.   It  does not carry out the conversion
              between "Raw" and "Normalized"  values:  this  is  done  by  the
              disk's firmware.

              The  conversion from Raw value to a quantity with physical units
              is not specified by the SMART standard. In most cases, the  val-
              ues  printed by smartctl are sensible.  For example the tempera-
              ture Attribute generally has its raw value equal to the tempera-
              ture in Celsius.  However in some cases vendors use unusual con-
              ventions.  For example the Hitachi disk on my laptop reports its
              power-on hours in minutes, not hours. Some IBM disks track three
              temperatures rather than one, in their raw values.  And so on.

              Each Attribute also has a Threshold value (whose range is  0  to
              255)  which  is printed under the heading "THRESH".  If the Nor-
              malized value is less than or equal to the Threshold value, then
              the  Attribute  is  said  to have failed.  If the Attribute is a
              pre-failure Attribute, then disk failure is imminent.

              Each Attribute also has a "Worst" value shown under the  heading
              "WORST".   This  is the smallest (closest to failure) value that
              the disk has recorded at any time during its lifetime when SMART
              was enabled.  [Note however that some vendors firmware may actu-
              ally  increase  the   "Worst"   value   for   some   "rate-type"
              Attributes.]

              The  Attribute  table  printed  out  by  smartctl also shows the
              "TYPE" of the Attribute. Attributes  are  one  of  two  possible
              types:  Pre-failure or Old age.  Pre-failure Attributes are ones
              which, if less than or equal to their threshold values, indicate
              pending  disk  failure.   Old age, or usage Attributes, are ones
              which indicate end-of-product life from old-age or normal  aging
              and wearout, if the Attribute value is less than or equal to the
              threshold.  Please note: the fact that an Attribute is  of  type
              'Pre-fail'  does  not  mean that your disk is about to fail!  It
              only has this meaning  if  the  Attribute's  current  Normalized
              value is less than or equal to the threshold value.


              So to summarize: the Raw Attribute  values  are  the  ones  that
              might  have a real physical interpretation, such as "Temperature
              Celsius", "Hours", or "Start-Stop  Cycles".   Each  manufacturer
              converts  these,  using  their  detailed knowledge of the disk's
              operations and failure modes, to Normalized Attribute values  in
              the  range  1-254.   The  current and worst (lowest measured) of
              these Normalized Attribute values are stored on the disk,  along
              with a Threshold value that the manufacturer has determined will
              indicate that the disk is going to fail, or that it has exceeded
              its  design age or aging limit.  smartctl does not calculate any
              of the Attribute values, thresholds, or types, it merely reports
              them from the SMART data on the device.

              Note  that starting with ATA/ATAPI-4, revision 4, the meaning of
              these Attribute fields has been made  entirely  vendor-specific.
              However most ATA/ATAPI-5 disks seem to respect their meaning, so
              we have retained the option of printing the Attribute values.

              [SCSI] For SCSI devices the "attributes" are obtained  from  the
              temperature and start-stop cycle counter log pages. Certain ven-
              dor specific attributes are listed if recognised. The attributes
              are  output  in a relatively free format (compared with ATA disk
              attributes).

       -f FORMAT, --format=FORMAT
              [ATA only] Selects the output format of the  attributes  to  one
              of:

              old  -  Old smartctl format. This is the default unless the '-x'
              option is specified.

              brief - New format which fits into 80  colums  (except  in  some
              rare cases).  This format also decodes four additional attribute
              flags.  This is the default if the '-x' option is specified.

       -l TYPE, --log=TYPE
              Prints either the SMART Error Log, the SMART Self-Test Log,  the
              SMART Selective Self-Test Log [ATA only], the Log Directory [ATA
              only], or the Background Scan  Results  Log  [SCSI  only].   The
              valid arguments to this option are:

              error  -  [ATA] prints the Summary SMART error log.  SMART disks
              maintain a log of the most recent five non-trivial  errors.  For
              each  of  these  errors, the disk power-on lifetime at which the
              error occurred is recorded,  as  is  the  device  status  (idle,
              standby,  etc)  at the time of the error.  For some common types
              of errors, the Error Register (ER) and Status Register (SR) val-
              ues are decoded and printed as text. The meanings of these are:
                 ABRT:  Command ABoRTed
                 AMNF:  Address Mark Not Found
                 CCTO:  Command Completion Timed Out
                 EOM:   End Of Media
                 ICRC:  Interface Cyclic Redundancy Code (CRC) error

              Dd+HH:MM:SS.msec where D is the number of days, HH is hours,  MM
              is minutes, SS is seconds and msec is milliseconds.  [Note: this
              time stamp wraps after 2^32 milliseconds, or 49 days 17 hours  2
              minutes  and  47.296  seconds.]   The key ATA disk registers are
              also recorded in the log.  The final column of the error log  is
              a text-string description of the ATA command defined by the Com-
              mand Register (CR) and Feature Register (FR)  values.   Commands
              that  are  obsolete  in the most current (ATA-7) spec are listed
              like this: READ LONG (w/ retry)  [OBS-4],  indicating  that  the
              command  became  obsolete  with  or  in the ATA-4 specification.
              Similarly, the notation [RET-N] is used to indicate that a  com-
              mand  was retired in the ATA-N specification.  Some commands are
              not defined in any version of the ATA specification but  are  in
              common use nonetheless; these are marked [NS], meaning non-stan-
              dard.

              The ATA Specification (ATA-5 Revision  1c,  Section  8.41.6.8.2)
              says:  "Error  log  structures  shall  include  UNC errors, IDNF
              errors for which the address requested was valid, servo  errors,
              write  fault  errors,  etc.  Error log data structures shall not
              include errors attributed to the receipt of faulty commands such
              as  command codes not implemented by the device or requests with
              invalid parameters or invalid  addresses."  The  definitions  of
              these terms are:
              UNC (UNCorrectable): data is uncorrectable.  This refers to data
              which has been read from the  disk,  but  for  which  the  Error
              Checking  and  Correction  (ECC)  codes  are  inconsistent.   In
              effect, this means that the data can not be read.
              IDNF (ID Not Found): user-accessible address could not be found.
              For READ LOG type commands, IDNF can also indicate that a device
              data log structure checksum was incorrect.

              If the command that caused the error was a READ  or  WRITE  com-
              mand,  then  the  Logical Block Address (LBA) at which the error
              occurred will be printed in base 10 and base 16.  The LBA  is  a
              linear  address,  which  counts  512-byte  sectors  on the disk,
              starting from zero.  (Because of the limitations  of  the  SMART
              error  log, if the LBA is greater than 0xfffffff, then either no
              error log entry will be made, or the error log entry  will  have
              an  incorrect  LBA.  This  may happen for drives with a capacity
              greater than 128 GiB or 137 GB.) On Linux systems the  smartmon-
              tools  web  page  has  instructions about how to convert the LBA
              address to the name of the disk file  containing  the  erroneous
              disk sector.

              Please  note  that  some manufacturers ignore the ATA specifica-
              tions, and make entries in the error log if the device  receives
              a command which is not implemented or is not valid.

              error  -  [SCSI]  prints  the error counter log pages for reads,
              write and verifies.  The verify row is only output if it has  an
              element other than zero.

              xerror[,NUM][,error] - [ATA only] prints the Extended Comprehen-
              If ',error' is appended and  the  Extended  Comprehensive  SMART
              error  log  is not supported, the Summary SMART self-test log is
              printed.

              Please note that some recent (e.g. Samsung) drives report errors
              only  in the Extended Comprehensive SMART error log. The Summary
              SMART error log can be read but is always empty.

              selftest - [ATA] prints the SMART self-test log.  The disk main-
              tains  a  self-test  log  showing the results of the self tests,
              which can be run using the '-t'  option  described  below.   For
              each of the most recent twenty-one self-tests, the log shows the
              type of test (short or extended, off-line or  captive)  and  the
              final status of the test.  If the test did not complete success-
              fully, then the percentage of the test remaining is shown.   The
              time  at  which  the  test took place, measured in hours of disk
              lifetime, is also printed. [Note: this time  stamp  wraps  after
              2^16  hours,  or 2730 days and 16 hours, or about 7.5 years.] If
              any errors were detected, the Logical Block Address (LBA) of the
              first  error  is  printed in decimal notation.  On Linux systems
              the smartmontools web page has instructions about how to convert
              this  LBA  address  to  the name of the disk file containing the
              erroneous block.

              selftest - [SCSI] the self-test log for  a  SCSI  device  has  a
              slightly  different  format than for an ATA device.  For each of
              the most recent twenty self-tests, it shows the type of test and
              the  status  (final  or in progress) of the test. SCSI standards
              use the terms "foreground" and "background" (rather  than  ATA's
              corresponding  "captive"  and "off-line") and "short" and "long"
              (rather than ATA's  corresponding  "short"  and  "extended")  to
              describe  the  type  of the test.  The printed segment number is
              only relevant when a test fails in the third or later test  seg-
              ment.  It identifies the test that failed and consists of either
              the number of the segment that failed during the  test,  or  the
              number  of the test that failed and the number of the segment in
              which the test  was  run,  using  a  vendor-specific  method  of
              putting  both  numbers  into  a  single byte.  The Logical Block
              Address (LBA) of the first error is printed in hexadecimal nota-
              tion.   On Linux systems the smartmontools web page has instruc-
              tions about how to convert this LBA address to the name  of  the
              disk file containing the erroneous block.  If provided, the SCSI
              Sense Key (SK), Additional Sense Code (ASC) and Additional Sense
              Code Qualifier (ASQ) are also printed. The self tests can be run
              using the '-t' option described below (using the ATA test termi-
              nology).

              xselftest[,NUM][,selftest]  -  [ATA  only]  prints  the Extended
              SMART self-test log (General Purpose Log address  0x07).  Unlike
              the  SMART  self-test log (see '-l selftest' above), it supports
              48-bit LBA and logs with more  than  one  sector.   Each  sector
              holds  up to 19 log entries. The actual number of log sectors is
              vendor specific, typical values are 1 (Seagate) or 2 (Samsung).

              tested is also displayed.   The  selective  self-test  log  also
              shows  if  a read-scan of the remainder of the disk will be car-
              ried out after the selective self-test has  completed  (see  '-t
              afterselect'  option)  and the time delay before restarting this
              read-scan if it is interrupted (see '-t pending'  option).  This
              is  a new smartmontools feature; please report unusual or incor-
              rect behavior to the smartmontools-support mailing list.

              directory[,gs] - [ATA only] if the device supports  the  General
              Purpose  Logging  feature set (ATA-6 and above) then this prints
              the Log Directory (the log at address  0).   The  Log  Directory
              shows  what  logs are available and their length in sectors (512
              bytes).  The contents of the logs at address  1  [Summary  SMART
              error log] and at address 6 [SMART self-test log] may be printed
              using the previously-described error and selftest  arguments  to
              this  option.   If  your version of smartctl supports 48-bit ATA
              commands, both the General Purpose Log (GPL) and SMART Log  (SL)
              directories are printed in one combined table. The output can be
              restricted to the GPL directory or SL directory  by  '-l  direc-
              tory,q' or '-l directory,s' respectively.

              background - [SCSI only] the background scan results log outputs
              information derived from Background Media Scans (BMS) done after
              power  up  and/or  periodocally  (e.g. every 24 hours) on recent
              SCSI disks. If supported, the BMS status is output first,  indi-
              cating  whether  a background scan is currently underway (and if
              so a progress percentage), the amount of time the disk has  been
              powered up and the number of scans already completed. Then there
              is a header and a line for each background scan  "event".  These
              will typically be either recovered or unrecoverable errors. That
              latter group may need some attention. There is a description  of
              the  background scan mechansim in section 4.18 of SBC-3 revision
              6 (see www.t10.org ).

              scttemp, scttempsts, scttemphist - [ATA only]  prints  the  disk
              temperature  information provided by the SMART Command Transport
              (SCT) commands.  The option 'scttempsts' prints current tempera-
              ture  and temperature ranges returned by the SCT Status command,
              'scttemphist' prints temperature limits and the temperature his-
              tory table returned by the SCT Data Table command, and 'scttemp'
              prints both.  The temperature values are preserved across  power
              cycles.   The  default  temperature logging interval is 1 minute
              and can be configured with the '-t scttempint,N[,p]' option, see
              below.   The  SCT  commands  are specified in the proposed ATA-8
              Command Set (ACS), and are already implemented  in  some  recent
              ATA-7 disks.

              scterc[,READTIME,WRITETIME]   -  [ATA  only]  [NEW  EXPERIMENTAL
              SMARTCTL FEATURE] prints values  and  descriptions  of  the  SCT
              Error  Recovery  Control  settings. These are equivalent to TLER
              (as used by Western Digital),  CCTL  (as  used  by  Samsung  and
              Hitachi)  and  ERC  (as used by Seagate). READTIME and WRITETIME
              arguments (deciseconds) set the specified values.  Values  of  0
              disable  the feature, other values less than 65 are probably not

              gplog,ADDR[,FIRST[-LAST|+SIZE]]  -  [ATA only] prints a hex dump
              of any log accessible via General Purpose Logging (GPL) feature.
              The log address ADDR is the hex address listed in the log direc-
              tory (see '-l directory'  above).   The  range  of  log  sectors
              (pages)  can  be  specified  by  decimal  values  FIRST-LAST  or
              FIRST+SIZE.  FIRST defaults to 0, SIZE defaults to 1.  LAST  can
              be set to 'max' to specify the last page of the log.

              smartlog,ADDR[,FIRST[-LAST|+SIZE]]  -  [ATA  only]  prints a hex
              dump of any log accessible via SMART Read Log command.  See  '-l
              gplog,...' above for parameter syntax.

              For example, all these commands:
                smartctl -l gplog,0x80,10-15 /dev/sda
                smartctl -l gplog,0x80,10+6 /dev/sda
                smartctl -l smartlog,0x80,10-15 /dev/sda
              print pages 10-15 of log 0x80 (first host vendor specific log).

              The  hex  dump  format  is compatible with the 'xxd -r' command.
              This command:
                smartctl -l gplog,0x11 /dev/sda | grep ^0 | xxd -r >log.bin
              writes a binary representation of the one sector log 0x11  (SATA
              Phy Event Counters) to file log.bin.

       -v   ID,FORMAT[:BYTEORDER][,NAME],   --vendorattribute=ID,FORMAT[:BYTE-
       ORDER][,NAME]
              [ATA only] Sets a vendor-specific raw  value  print  FORMAT,  an
              optional  BYTEORDER and an optional NAME for Attribute ID.  This
              option may be used multiple times.

              The Attribute ID can be in the range 1 to 255. If 'N' is  speci-
              fied as ID, the settings for all Attributes are changed.

              The  optional  BYTEORDER  consists of 1 to 8 characters from the
              set '012345rvwz'. The characters '0' to '5' select the byte 0 to
              5  from  the  48-bit raw value, 'r' selects the reserved byte of
              the attribute data block, 'v' selects the normalized value,  'w'
              selects  the  worst  value  and  'z'  inserts  a zero byte.  The
              default BYTEORDER is '543210' for all 48-bit formats,  'r543210'
              for  the  54-bit formats, and '543210wv' for the 64-bit formats.
              For  example,  '-v  5,raw48:012345'  prints  the  raw  value  of
              attribute 5 with big endian instead of little endian byte order-
              ing.

              The NAME is a string of letters, digits and underscore.

              -v help - Prints (to STDOUT) a list of all  valid  arguments  to
              this option, then exits.

              Valid arguments for FORMAT are:

              raw8  -  Print the Raw value as six 8-bit unsigned base-10 inte-
              gers.  This may be useful for decoding the meaning  of  the  Raw
              raw64  -  Print the Raw value as a 64-bit unsigned base-10 inte-
              ger.  This includes two bytes  from  the  normalized  and  worst
              attribute value.  This new raw format is used by some recent SSD
              devices.

              hex64 - Print the Raw value as a 16  digit  hexadecimal  number.
              This  includes two bytes from the normalized and worst attribute
              value.  This new raw format is used by some recent SSD devices.

              min2hour - Raw Attribute is power-on time in minutes.   Its  raw
              value  will  be displayed in the form "Xh+Ym".  Here X is hours,
              and Y is minutes in the  range  0-59  inclusive.   Y  is  always
              printed with two digits, for example "06" or "31" or "00".

              sec2hour  -  Raw Attribute is power-on time in seconds.  Its raw
              value will be displayed in  the  form  "Xh+Ym+Zs".   Here  X  is
              hours,  Y  is minutes in the range 0-59 inclusive, and Z is sec-
              onds in the range 0-59 inclusive.  Y and Z  are  always  printed
              with two digits, for example "06" or "31" or "00".

              halfmin2hour - Raw Attribute is power-on time, measured in units
              of 30 seconds.  This format is used by some Samsung disks.   Its
              raw  value  will  be  displayed  in the form "Xh+Ym".  Here X is
              hours, and Y is minutes in  the  range  0-59  inclusive.   Y  is
              always  printed  with  two  digits,  for example "06" or "31" or
              "00".

              msec24hour32 - Raw Attribute is power-on time measured in 32-bit
              hours  and  24-bit milliseconds since last hour update.  It will
              be displayed in the form "Xh+Ym+Z.Ms".  Here X is  hours,  Y  is
              minutes, Z is seconds and M is milliseconds.

              tempminmax  -  Raw Attribute is the disk temperature in Celsius.
              Info about Min/Max temperature is printed if available.  This is
              the  default for Attributes 190 and 194.  The recording interval
              (lifetime, last power cycle, last soft  reset)  of  the  min/max
              values is device specific.

              temp10x  -  Raw  Attribute  is ten times the disk temperature in
              Celsius.

              raw16(raw16) - Print the raw attribute as a 16-bit value and two
              optional  16-bit values if these words are nonzero.  This is the
              default for Attributes 5 and 196.

              raw16(avg16) - Raw attribute is spin-up time.  It is printed  as
              a  16-bit  value  and  an optional "Average" 16-bit value if the
              word is nonzero.  This is the default for Attribute 3.

              raw24/raw24 - Raw Attribute  contains  two  24-bit  values.  The
              first is the number of load cycles.  The second is the number of
              unload cycles.  The difference between these two values  is  the
              number  of  times  that  the  drive was unexpectedly powered off
              (also called an emergency unload).  As  a  rule  of  thumb,  the
              9,halfminutes - same as: 9,halfmin2hour,Power_On_Half_Minutes.

              9,temp - same as: 9,tempminmax,Temperature_Celsius.

              192,emergencyretractcyclect          -          same         as:
              192,raw48,Emerg_Retract_Cycle_Ct

              193,loadunload - same as: 193,raw24/raw24.

              194,10xCelsius - same as: 194,temp10x,Temperature_Celsius_x10.

              194,unknown - same as: 194,raw48,Unknown_Attribute.

              197,increasing - same as: 197,raw48,Total_Pending_Sectors.  Also
              means  that  Attribute number 197 (Current Pending Sector Count)
              is not reset  if  uncorrectable  sectors  are  reallocated  (see
              smartd.conf(5) man page).

              198,increasing  -  same  as:  198,raw48,Total_Offl_Uncorrectabl.
              Also means that Attribute number 198 (Offline Uncorrectable Sec-
              tor Count) is not reset if uncorrectable sectors are reallocated
              (see smartd.conf(5) man page).

              198,offlinescanuncsectorct    -    same    as:    198,raw48,Off-
              line_Scan_UNC_SectCt.

              200,writeerrorcount - same as: 200,raw48,Write_Error_Count.

              201,detectedtacount - same as: 201,raw48,Detected_TA_Count.

              220,temp - same as: 220,raw48,Temperature_Celsius.

              Note: a table of hard drive models, listing which Attribute cor-
              responds    to     temperature,     can     be     found     at:
              http://www.guzu.net/linux/hddtemp.db

       -F TYPE, --firmwarebug=TYPE
              [ATA  only]  Modifies the behavior of smartctl to compensate for
              some known and understood device firmware or driver bug.  Except
              'swapid',  the  arguments  to this option are exclusive, so that
              only the final option given is used.  The valid values are:

              none - Assume that the device firmware obeys the ATA  specifica-
              tions.   This  is the default, unless the device has presets for
              '-F' in the device database (see note below).

              samsung - In some Samsung disks (example: model SV4012H Firmware
              Version:  RM100-08) some of the two- and four-byte quantities in
              the SMART data structures are byte-swapped (relative to the  ATA
              specification).  Enabling this option tells smartctl to evaluate
              these quantities in byte-reversed order.  Some signs  that  your
              disk  needs  this  option are (1) no self-test log printed, even
              though you have run self-tests; (2) very large  numbers  of  ATA
              errors reported in the ATA error log; (3) strange and impossible
              VF100-37) report a self-test still in progress with 0% remaining
              when  the test was already completed. Enabling this option modi-
              fies the output of the self-test execution status  (see  options
              '-c' or '-a' above) accordingly.

              Note  that  an  explicit  '-F'  option  on the command line will
              over-ride any preset  values  for  '-F'  (see  the  '-P'  option
              below).

              swapid  -  Fixes byte swapped ATA identify strings (device name,
              serial number, firmware version) returned by some  buggy  device
              drivers.

       -P TYPE, --presets=TYPE
              [ATA  only]  Specifies  whether  smartctl  should use any preset
              options that are available for this drive. By  default,  if  the
              drive is recognized in the smartmontools database, then the pre-
              sets are used.

              smartctl can automatically set  appropriate  options  for  known
              drives.   For  example,  the  Maxtor 4D080H4 uses Attribute 9 to
              stores power-on time in minutes whereas  most  drives  use  that
              Attribute to store the power-on time in hours.  The command-line
              option '-v 9,minutes' ensures that smartctl correctly interprets
              Attribute 9 in this case, but that option is preset for the Max-
              tor 4D080H4 and so need not be specified  by  the  user  on  the
              smartctl command line.

              The  argument  show  will show any preset options for your drive
              and the argument showall will  show  all  known  drives  in  the
              smartmontools  database,  along  with  their preset options.  If
              there are no presets for your drive and you think  there  should
              be  (for example, a -v or -F option is needed to get smartctl to
              display correct values) then please  contact  the  smartmontools
              developers  so  that this information can be added to the smart-
              montools database.  Contact information is at the  end  of  this
              man page.

              The valid arguments to this option are:

              use  - if a drive is recognized, then use the stored presets for
              it.  This is the default. Note that presets will  NOT  over-ride
              additional  Attribute  interpretation  ('-v  N,something')  com-
              mand-line options or explicit '-F' command-line options..

              ignore - do not use presets.

              show - show if the drive is recognized in the database,  and  if
              so, its presets, then exit.

              showall  -  list all recognized drives, and the presets that are
              set for them, then exit.

              The '-P showall' option takes up to two  optional  arguments  to
              then the new entries prepend the built in entries.

              If this option is not specified, optional entries are read  from
              the  file  /etc/smart_drivedb.h (Windows: EXEDIR/drivedb-add.h).
              If         /usr/share/smartmontools/drivedb.h          (Windows:
              EXEDIR/drivedb.h)  is present, the contents of this file is used
              instead of the built in table.

              Run the script  /usr/sbin/update-smart-drivedb  to  update  this
              file from the smartmontools SVN repository.

              The  database  files  use  the same C/C++ syntax that is used to
              initialize the built in database array. C/C++ style comments are
              allowed.  Example:

                /* Full entry: */
                {
                  "Model family",    // Info about model family/series.
                  "MODEL1.*REGEX",   // Regular expression to match model of device.
                  "VERSION.*REGEX",  // Regular expression to match firmware version(s).
                  "Some warning",    // Warning message.
                  "-v 9,minutes"     // String of preset -v and -F options.
                },
                /* Minimal entry: */
                {
                  "",                // No model family/series info.
                  "MODEL2.*REGEX",   // Regular expression to match model of device.
                  "",                // All firmware versions.
                  "",                // No warning.
                  ""                 // No options preset.
                },
                /* USB ID entry: */
                {
                  "USB: Device; Bridge", // Info about USB device and bridge name.
                  "0x1234:0xabcd",   // Regular expression to match vendor:product ID.
                  "0x0101",          // Regular expression to match bcdDevice.
                  "",                // Not used.
                  "-d sat"           // String with device type option.
                },
                /* ... */


       SMART RUN/ABORT OFFLINE TEST AND SELF-TEST OPTIONS:

       -t TEST, --test=TEST
              Executes  TEST immediately.  The '-C' option can be used in con-
              junction with this option to run the short or long (and also for
              ATA devices, selective or conveyance) self-tests in captive mode
              (known as "foreground mode" for SCSI devices).  Note  that  only
              one test type can be run at a time, so only one test type should
              be specified per command line.  Note also that if a computer  is
              shutdown  or  power  cycled  during  a self-test, no harm should
              result.  The self-test will either be  aborted  or  will  resume
              automatically.
              you can track the progress of the Immediate Offline  test  using
              the  '-c'  option to smartctl.  If the '-c' option show that the
              device has the "Abort Offline collection upon new command" capa-
              bility then most commands will abort the Immediate Offline Test,
              so you should not try to track the progress  of  the  test  with
              '-c', as it will abort the test.

              offline  -  [SCSI]  runs the default self test in foreground. No
              entry is placed in the self test log.

              short - [ATA] runs SMART Short Self Test (usually under ten min-
              utes).  This command can be given during normal system operation
              (unless run in captive mode - see the '-C' option below).   This
              is  a  test  in a different category than the immediate or auto-
              matic offline tests.  The "Self" tests check the electrical  and
              mechanical  performance  as  well as the read performance of the
              disk.  Their results are reported in the Self  Test  Error  Log,
              readable with the '-l selftest' option.  Note that on some disks
              the progress of the self-test can be monitored by watching  this
              log  during  the self-test; with other disks use the '-c' option
              to monitor progress.

              short - [SCSI] runs the "Background short" self-test.

              long - [ATA] runs SMART Extended Self Test  (tens  of  minutes).
              This  is  a  longer  and more thorough version of the Short Self
              Test described above.  Note that this command can be given  dur-
              ing  normal  system  operation (unless run in captive mode - see
              the '-C' option below).

              long - [SCSI] runs the "Background long" self-test.

              conveyance - [ATA only] runs a SMART Conveyance Self Test  (min-
              utes).   This  self-test  routine is intended to identify damage
              incurred during transporting of the device. This self-test  rou-
              tine should take on the order of minutes to complete.  Note that
              this command can be given during normal system operation (unless
              run in captive mode - see the '-C' option below).

              select,N-M,  select,N+SIZE  -  [ATA only] runs a SMART Selective
              Self Test, to test a  range  of  disk  Logical  Block  Addresses
              (LBAs), rather than the entire disk.  Each range of LBAs that is
              checked is called a "span" and is specified by  a  starting  LBA
              (N)  and  an  ending LBA (M) with N less than or equal to M. The
              range can also be specified as N+SIZE. A span at the  end  of  a
              disk can be specified by N-max.

              For example the commands:
                smartctl -t select,10-20 /dev/hda
                smartctl -t select,10+11 /dev/hda
              both  runs  a  self  test  on one span consisting of LBAs ten to
              twenty (inclusive). The command:
                smartctl -t select,100000000-max /dev/hda
              run a self test from LBA 100000000 up to the end  of  the  disk.
              increase: an extended self test (smartctl -t long) can take sev-
              eral hours.  Selective self-tests are helpful if (based on  SYS-
              LOG  error  messages, previous failed self-tests, or SMART error
              log entries) you suspect that a disk is  having  problems  at  a
              particular range of Logical Block Addresses (LBAs).

              Selective  self-tests  can be run during normal system operation
              (unless done in captive mode - see the '-C' option below).

              The following variants of the selective  self-test  command  use
              spans  based on the ranges from past tests already stored on the
              disk:

              select,redo[+SIZE] - [ATA only] redo the  last  SMART  Selective
              Self  Test using the same LBA range. The starting LBA is identi-
              cal to the LBA used by last test, same for ending LBA  unless  a
              new span size is specified by optional +SIZE argument.

              For example the commands:
                smartctl -t select,10-20 /dev/hda
                smartctl -t select,redo /dev/hda
                smartctl -t select,redo+20 /dev/hda
              have the same effect as:
                smartctl -t select,10-20 /dev/hda
                smartctl -t select,10-20 /dev/hda
                smartctl -t select,10-29 /dev/hda

              select,next[+SIZE] - [ATA only] runs a SMART Selective Self Test
              on the LBA range which follows the range of the last  test.  The
              starting  LBA  is set to (ending LBA +1) of the last test. A new
              span size may be specified by the optional +SIZE argument.

              For example the commands:
                smartctl -t select,0-999 /dev/hda
                smartctl -t select,next /dev/hda
                smartctl -t select,next+2000 /dev/hda
              have the same effect as:
                smartctl -t select,0-999 /dev/hda
                smartctl -t select,1000-1999 /dev/hda
                smartctl -t select,2000-3999 /dev/hda

              If the last test ended at the last LBA  of  the  disk,  the  new
              range  starts at LBA 0. The span size of the last span of a disk
              is adjusted such that the total number of  spans  to  check  the
              full   disk   will   not  be  changed  by  future  uses  of  '-t
              select,next'.

              select,cont[+SIZE] - [ATA only] performs a 'redo' (above) if the
              self  test  status reports that the last test was aborted by the
              host. Otherwise it run the 'next' (above) test.

              afterselect,on - [ATA only] perform an offline read scan after a
              Selective  Self-test  has  completed.  This  option must be used
              together with one or more of the select,N-M  options  above.  If

              pending,N - [ATA only] set the pending offline read  scan  timer
              to N minutes.  Here N is an integer in the range from 0 to 65535
              inclusive.  If the device is powered  off  during  a  read  scan
              after  a Selective self-test, then resume the test automatically
              N minutes after power-up.  This option must be use together with
              one  or  more of the select,N-M options above. The value of this
              option is preserved between selective self-tests.

              scttempint,N[,p] - [ATA only] set the time interval for SCT tem-
              perature logging to N minutes. If ',p' is specified, the setting
              is preserved across power  cycles.  Otherwise,  the  setting  is
              volatile  and  will  be  reverted to default (1 minute), or last
              non-volatile setting by the next hard reset.  This command  also
              clears the temperature history table. See '-l scttemp' above for
              more information about SCT temperature logging.

              vendor,N - [ATA only] issues the ATA command SMART EXECUTE  OFF-
              LINE  IMMEDIATE  with subcommand N in LBA LOW register. The sub-
              command is specified as a hex value in the range 0x00  to  0xff.
              Subcommands 0x40-0x7e and 0x90-0xff are reserved for vendor spe-
              cific use, see table 61 of T13/1699-D  Revision  6a  (ATA8-ACS).
              Note that the subcommands 0x00-0x04,0x7f,0x81-0x84 are supported
              by other smartctl options (e.g. 0x01: '-t  short',  0x7f:  '-X',
              0x82: '-C -t long').

              WARNING:  Only  run  subcommands documented by the vendor of the
              device.

              Example for Intel (X18-M/X25-M G2 and 320 Series) SSDs only: The
              subcommand  0x40  ('-t  vendor,0x40')  clears the timed workload
              related SMART attributes (226, 227, 228).   Note  that  the  raw
              values  of these attributes are held at 65535 (0xffff) until the
              workload timer reaches 60 minutes.

       -C, --captive
              [ATA] Runs self-tests in captive mode.  This has no effect  with
              '-t offline' or if the '-t' option is not used.

              WARNING:  Tests  run  in captive mode may busy out the drive for
              the length of the test.  Only run captive tests on drives  with-
              out any mounted partitions!

              [SCSI] Runs the self-test in "Foreground" mode.

       -X, --abort
              Aborts  non-captive  SMART  Self  Tests.  Note that this command
              will abort the Offline Immediate Test routine only if your  disk
              has the "Abort Offline collection upon new command" capability.

ATA, SCSI command sets and SAT
       In  the past there has been a clear distinction between storage devices
       that used the ATA and SCSI command sets.  This  distinction  was  often
       reflected  in their device naming and hardware. Now various SCSI trans-
       lents as the need arises. An important note here is that "lower  level"
       may be in external equipment and hence outside the control of an OS.

       SCSI to ATA Translation (SAT) is a standard (ANSI INCITS 431-2007) that
       specifies how this translation is done. For the other 1% of  operations
       that  an  OS  performs on a disk, SAT provides two options. First is an
       optional ATA PASS-THROUGH SCSI command (there are  two  variants).  The
       second  is  a  translation  from the closest SCSI command. Most current
       interest is in the "pass-through" option.

       The relevance to smartmontools (and hence smartctl) is that its  inter-
       actions  with disks fall solidly into the "1%" category. So even if the
       OS can happily treat (and name) a disk as "SCSI",  smartmontools  needs
       to  detect the native command set and act accordingly.  As more storage
       manufacturers (including external SATA drives) comply with SAT,  smart-
       montools is able to automatically distinguish the native command set of
       the device. In some cases the '-d sat' option is needed on the  command
       line.

       There are also virtual disks which typically have no useful information
       to convey to smartmontools, but could conceivably  in  the  future.  An
       example  of  a virtual disk is the OS's view of a RAID 1 box. There are
       most likely two SATA disks inside a RAID 1 box. Addressing  those  SATA
       disks  from  a  distant  OS  is  a challenge for smartmontools. Another
       approach is running a tool like smartmontools inside  the  RAID  1  box
       (e.g.   a Network Attached Storage (NAS) box) and fetching the logs via
       a browser.

EXAMPLES
       smartctl -a /dev/hda
       Print a large amount of SMART information for drive /dev/hda  which  is
       typically an ATA (IDE) or SATA disk in Linux.

       smartctl -a /dev/sdb
       Print a large amount of SMART information for drive /dev/sdb . This may
       be a SCSI disk or an ATA (SATA) disk.

       smartctl -s off /dev/hdd
       Disable SMART monitoring and data log collection on drive /dev/hdd .

       smartctl --smart=on --offlineauto=on --saveauto=on /dev/hda
       Enable SMART on drive /dev/hda, enable automatic offline testing  every
       four  hours, and enable autosaving of SMART Attributes.  This is a good
       start-up line for your system's init files.  You can issue this command
       on a running system.

       smartctl -t long /dev/hdc
       Begin an extended self-test of drive /dev/hdc.  You can issue this com-
       mand on a running system.  The results can be seen in the self-test log
       visible with the '-l selftest' option after it has completed.

       smartctl -s on -t offline /dev/hda
       Enable  SMART on the disk, and begin an immediate offline test of drive
       /dev/hda.  You can issue this command on a running system.  The results
       smartctl -q silent -a /dev/hda
       Examine all SMART data for device /dev/hda, but produce no printed out-
       put.  You must use the exit status (the $?  shell variable) to learn if
       any  Attributes  are  out  of bound, if the SMART status is failing, if
       there are errors recorded in the self-test log, or if there are  errors
       recorded in the disk error log.

       smartctl -a -d 3ware,0 /dev/sda
       Examine all SMART data for the first ATA disk connected to a 3ware RAID
       controller card.

       smartctl -a -d 3ware,0 /dev/twe0
       Examine all SMART data for the first ATA disk connected to a 3ware RAID
       6000/7000/8000 controller card.

       smartctl -a -d 3ware,0 /dev/twa0
       Examine all SMART data for the first ATA disk connected to a 3ware RAID
       9000 controller card.

       smartctl -a -d 3ware,0 /dev/twl0
       Examine all SMART data for the first SATA (not SAS) disk connected to a
       3ware RAID 9750 controller card.

       smartctl -t short -d 3ware,3 /dev/sdb
       Start  a  short self-test on the fourth ATA disk connected to the 3ware
       RAID controller card which is the second SCSI device /dev/sdb.

       smartctl -t long -d areca,4 /dev/sg2
       Start a long self-test on the fourth SATA disk connected  to  an  Areca
       RAID controller addressed by /dev/sg2.

       smartctl -a -d hpt,1/3 /dev/sda (under Linux)
       smartctl -a -d hpt,1/3 /dev/hptrr (under FreeBSD)
       Examine  all  SMART  data for the (S)ATA disk directly connected to the
       third channel of the first HighPoint RocketRAID controller card.

       smartctl -t short -d hpt,1/1/2 /dev/sda (under Linux)
       smartctl -t short -d hpt,1/1/2 /dev/hptrr (under FreeBSD)
       Start a short self-test on the (S)ATA disk connected to  second  pmport
       on the first channel of the first HighPoint RocketRAID controller card.

       smartctl -t select,10-100 -t select,30-300 -t afterselect,on -t pending,45 /dev/hda
       Run  a  selective self-test on LBAs 10 to 100 and 30 to 300.  After the
       these LBAs have been tested, read-scan the remainder of the  disk.   If
       the  disk is power-cycled during the read-scan, resume the scan 45 min-
       utes after power to the device is restored.

       smartctl -a -d cciss,0 /dev/cciss/c0d0
       Examine all SMART data for the first SCSI disk  connected  to  a  cciss
       RAID controller card.

RETURN VALUES
       The return values of smartctl are defined by a bitmask.  If all is well
       with the disk, the return value (exit status) of  smartctl  is  0  (all
       Bit 2: Some  SMART  command to the disk failed, or there was a checksum
              error in a SMART data structure (see '-b' option above).

       Bit 3: SMART status check returned "DISK FAILING".

       Bit 4: We found prefail Attributes <= threshold.

       Bit 5: SMART status check returned "DISK OK" but  we  found  that  some
              (usage  or  prefail)  Attributes  have been <= threshold at some
              time in the past.

       Bit 6: The device error log contains records of errors.

       Bit 7: The device self-test log contains records of errors.  [ATA only]
              Failed  self-tests  outdated  by  a  newer  successful  extended
              self-test are ignored.

              To test within the shell for whether or not the  different  bits
              are  turned  on  or  off, you can use the following type of con-
              struction (this is bash syntax):
              smartstat=$(($? & 8))
              This looks at only at bit  3  of  the  exit  status  $?   (since
              8=2^3).   The shell variable $smartstat will be nonzero if SMART
              status check returned "disk failing" and zero otherwise.


NOTES
       The TapeAlert log page flags are cleared for  the  initiator  when  the
       page  is  read.  This  means that each alert condition is reported only
       once by smartctl for each initiator for each activation of  the  condi-
       tion.


AUTHOR
       Bruce Allen smartmontools-support@lists.sourceforge.net
       University of Wisconsin - Milwaukee Physics Department


CONTRIBUTORS
       The following have made large contributions to smartmontools:
       Casper Dik (Solaris SCSI interface)
       Christian Franke (Windows interface, C++ redesign, USB support, ...)
       Douglas Gilbert (SCSI subsystem)
       Guido Guenther (Autoconf/Automake packaging)
       Geoffrey Keating (Darwin ATA interface)
       Eduard Martinescu (FreeBSD interface)
       Frederic L. W. Meunier (Web site and Mailing list)
       Gabriele Pohl (Web site and Wiki, conversion from CVS to SVN)
       Keiji Sawada (Solaris ATA interface)
       Manfred Schwarb (Drive database)
       Sergey Svishchev (NetBSD interface)
       David Snyder and Sergey Svishchev (OpenBSD interface)
       Phil Williams (User interface and drive database)
       Yuri Dario (OS/2, eComStation interface)

HOME PAGE FOR SMARTMONTOOLS:
       Please  see  the following web site for updates, further documentation,
       bug reports and patches: http://smartmontools.sourceforge.net/


SEE ALSO:
       smartd(8), badblocks(8), ide-smart(8).

REFERENCES FOR SMART
       An introductory article about smartmontools is  Monitoring  Hard  Disks
       with  SMART,  by Bruce Allen, Linux Journal, January 2004, pages 74-77.
       This is http://www.linuxjournal.com/article/6983 online.

       If you would like to understand better how SMART  works,  and  what  it
       does,  a good place to start is with Sections 4.8 and 6.54 of the first
       volume of the 'AT Attachment  with  Packet  Interface-7'  (ATA/ATAPI-7)
       specification  Revision  4b.   This  documents  the SMART functionality
       which the smartmontools utilities provide access to.   This  and  other
       versions  of  this  Specification  are  available from the T13 web site
       http://www.t13.org/ .

       The functioning of SMART was originally defined by the SFF-8035i  revi-
       sion 2 and the SFF-8055i revision 1.4 specifications.  These are publi-
       cations of the Small Form Factors (SFF) Committee.

       Links to these and other documents may be found on the  Links  page  of
       the  smartmontools  Wiki  at http://sourceforge.net/apps/trac/smartmon-
       tools/wiki/Links .


SVN ID OF THIS PAGE:
       $Id: smartctl.8.in 3320 2011-04-30 20:44:55Z chrfranke $



smartmontools-5.41                2011-06-09                       SMARTCTL(8)
Man Pages Copyright Respective Owners. Site Copyright (C) 1994 - 2017 Hurricane Electric. All Rights Reserved.