Available in

(8)

TOC

SMARTCTL(8)                       2004/07/05                       SMARTCTL(8)



NAME

       smartctl - Control and Monitor Utility for SMART Disks


SYNOPSIS

       smartctl [options] device


FULL PATH

       /usr/sbin/smartctl


PACKAGE VERSION

       smartmontools-5.32 released 2004/07/05 at 08:10:26 UTC


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-5 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.  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*".  More general paths (such as devfs  ones)  may
                also be specified.

       FREEBSD: Use   the   forms  "/dev/ad[0-9]+"  for  IDE/ATA  devices  and
                "/dev/da[0-9]+" for SCSI devices.

       NETBSD:  Use the form "/dev/wd[0-9]+[cd]" for IDE/ATA devices.  Be sure
                to  specify  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: Use  the  forms "/dev/hd[a-j]" for IDE/ATA devices "\\.\Physi-
                calDisk[0-9]" on WinNT4/2000/XP, "/dev/hd[a-d]"  for  standard
                IDE/ATA devices on Win95/98/98SE/ME, and "/dev/scsi[0-9][0-f]"
                for SCSI devices on ASPI adapter 0-9,  ID  0-15.   The  prefix
                "/dev/" is optional.

       CYGWIN:  See "WINDOWS" above.

       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
       guess

       Note that the printed output of smartctl displays most numerical values
       in base 10 (decimal), but some values are displayed in  base  16  (hex-
       idecimal).   To  distinguish  them,  the base 16 values are always dis-
       played with a leading "0x", for example: "0xff". This man page  follows
       the same convention.



OPTIONS

       The  options  are grouped below into several categories.  smartctl will
       execute  the  corresponding  commands  in   the   order:   INFORMATION,
       ENABLE/DISABLE, DISPLAY DATA, RUN/ABORT TESTS.

       SCSI devices only accept the options -h, -V, -i, -a, -A, -d, -s, -S,-H,
       -t, -C, -l selftest, -l error, -r,  and  -X.   TapeAlert  devices  only
       accept  the options -h, -V, -i, -a, -A, -d, -s, -S, -t, -l selftest, -l
       error, -r, and -H.

       Long options  are  not  supported  on  all   systems.    Use  'smartctl
       -h' to see the available options.


       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 CVS-id infor-
              mation 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.

       -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 '-l directory'
              option.


       RUN-TIME BEHAVIOR OPTIONS:

       -q TYPE, --quietmode=TYPE
              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).

       -d TYPE, --device=TYPE
              Specifies the type of the device.  The valid arguments  to  this
              option  are  ata,  scsi, and 3ware,N. If this option is not used
              then smartctl will attempt to guess the  device  type  from  the
              device name.

              To  look  at  ATA  disks behind 3ware SCSI RAID controllers, use
              syntax such as:
              smartctl -a -d 3ware,2 /dev/sda
              where in the argument 3ware,N, the integer N is the disk  number
              (3ware  'port')  within  the  3ware  ATA  RAID  controller.  The
              allowed values of N are from 0 to 15 inclusive.

              Be aware that any of the physical disks can be queried or  exam-
              ined  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 one) and logical device
              /dev/sdb is made up of two other physical disks (3ware ports two
              and  three)  then  you  can examine the SMART data on any of the
              four  physical  disks  using  either  SCSI  device  /dev/sda  or
              /dev/sdb.   If you need to know which logical SCSI device a par-
              ticular physical disk (3ware port) is associated with,  use  the
              dmesg  or  SYSLOG  output to show which SCSI ID corresponds to a
              particular 3ware unit, and then use the 3ware CLI or 3dm tool to
              determine  which ports (physical disks) correspond to particular
              3ware units.

              If the value of N corresponds to a port that does not  exist  on
              the 3ware controller, or to a port that does not physically have
              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  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.   See   http://smartmontools.source-
              forge.net/ for instructions.

              3ware controllers are currently ONLY supported under Linux.


       -T TYPE, --tolerance=TYPE
              Specifies  how tolerant smartctl should be of ATA and SMART com-
              mand 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
              Specifies the action smartctl should take if a checksum error is
              detected in  the:  (1)  Device  Identity  Structure,  (2)  SMART
              Self-Test  Log  Structure,  (3) SMART Attribute Value Structure,
              (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.

              ignore - continue silently without issuing a warning.


       -r TYPE, --report=TYPE
              Intended primarily to help smartmontools  developers  understand
              the  behavior  of smartmontools on non-conforming or poorly con-
              forming hardware.   This  option  reports  details  of  smartctl
              transactions  with  the device.  The option can be used multiple
              times.  When used just once, it shows a record  of  the  ioctl()
              transactions  with  the  device.   When used more than once, the
              detail of these ioctl() transactions  are  reported  in  greater
              detail.  The valid arguments to this option are:

              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.


       SMART FEATURE ENABLE/DISABLE COMMANDS:

              Note:  if multiple options are used to both enable and disable a
              feature, then both the  enable  and  disable  commands  will  be
              issued.   The  enable  command  will always be issued before the
              corresponding disable command.

       -s VALUE, --smart=VALUE
              Enables or disables SMART on device.   The  valid  arguments  to
              this option are on and off.  Note that the command '-s on' (per-
              haps used with with the '-o on' and '-S on' options)  should  be
              placed  in  a  start-up  script for your machine, for example in
              rc.local or rc.sysinit.  In principle the SMART feature settings
              are  preserved  over  power-cycling,  but  it doesn't hurt to be
              sure. It is not necessary (or useful) to enable SMART to see the
              TapeAlert messages.

       -o VALUE, --offlineauto=VALUE
              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
              operation of the device or  during  both  normal  operation  and
              off-line  testing.   The  Attribute  value table produced by the
              '-A' option indicates this in the UPDATED column.  Attributes of
              the  first type are labeled "Offline" and Attributes of the sec-
              ond type are labeled "Always".

              The third category of testing (and the only category  for  which
              the  word  'testing'  is really an appropriate choice) is "self"
              testing.  This third type of test  is  only  performed  (immedi-
              ately)  when  a  command to run it is issued.  The '-t' and '-X'
              options can be used to carry  out  and  abort  such  self-tests;
              please see below for further details.

              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
              Enables or disables SMART  autosave  of  device  vendor-specific
              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.

              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 prevents 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  stor-
              age.  For  extreme  streaming-video  type applications 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 someplace safe as soon as you can.

       -c, --capabilities
              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  scan-
              ning,  and  so on.  If the device can carry out self-tests, this
              option also shows the  estimated  time  required  to  run  those
              tests.

              Note  that  the  time  required to run the Self-tests (listed in
              minutes) are fixed.  However the time required to run the  Imme-
              diate  Offline Test (listed in seconds) is variable.  This means
              that if you issue a command to perform an Immediate Offline test
              with the '-t offline' option, then the time may jump to a larger
              value and then count down as the Immediate Offline Test is  car-
              ried  out.   Please see REFERENCES below for further information
              about the the flags and capabilities described by this option.

       -A, --attributes
              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.

              If  the  Attribute's  current  Normalized  value is less than or
              equal to the threshold value, then the "WHEN_FAILED" column will
              display  "FAILING_NOW".  If not, but the worst recorded value is
              less than or equal to the threshold value, then this column will
              display "In_the_past".  If the "WHEN_FAILED" column has no entry
              (indicated by a dash: '-') then this Attribute is  OK  now  (not
              failing) and has also never failed in the past.

              The  table column labeled "UPDATED" shows if the SMART Attribute
              values are updated during both  normal  operation  and  off-line
              testing, or only during offline testing.  The former are labeled
              "Always" and the latter are labeled "Offline".

              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.

              For SCSI devices the "attributes" are obtained from the tempera-
              ture and start-stop cycle counter log pages. Certain vendor spe-
              cific attributes are listed if recognised.  The  attributes  are
              output  in  a  relatively  free  format  (compared with ATA disk
              attributes).

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

              error - prints only the 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) values 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
                 IDNF:  IDentity Not Found
                 ILI:   (packet command-set specific)
                 MC:    Media Changed
                 MCR:   Media Change Request
                 NM:    No Media
                 obs:   obsolete
                 TK0NF: TracK 0 Not Found
                 UNC:   UNCorrectable Error in Data
                 WP:    Media is Write Protected
              In addition, up to the last  five  commands  that  preceded  the
              error are listed, along with a timestamp measured from the start
              of the corresponding power cycle. This is displayed in the  form
              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.

              selftest - prints the SMART self-test log.  The disk maintains 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 sta-
              tus  of  the  test.   If the test did not complete successfully,
              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.  If any errors were detected, 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.

              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).

              selective  [ATA] - Some ATA-7 disks (example: Maxtor) also main-
              tain a selective self-test log.   Please  see  the  '-t  select'
              option  below  for  a  description of selective self-tests.  The
              selective  self-test  log  shows  the  start/end  Logical  Block
              Addresses  (LBA)  of each of the five test spans, and their cur-
              rent test status.  If the span is being tested or the  remainder
              of  the  disk  is  being  read-scanned, the current 65536-sector
              block of LBAs being tested is  also  displayed.   The  selective
              self-test  log also shows if a read-scan of the remainder of the
              disk will be carried out after the selective self-test has  com-
              pleted  (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 incorrect behavior to the smartmontools-support mail-
              ing list.

              directory  -  if the device supports the General Purpose Logging
              feature set (ATA-6 and ATA-7 only)  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 pre-
              viously-described  error  and selftest arguments to this option.
              [Please note: this is a new,  experimental  feature.   We  would
              like  to  add  support for printing the contents of extended and
              comprehensive SMART self-test and error logs.  If your disk sup-
              ports  these,  and  you would like to assist, please contact the
              smartmontools developers.]


       -v N,OPTION, --vendorattribute=N,OPTION
              Sets a vendor-specific display OPTION  for  Attribute  N.   This
              option  may  be  used  multiple  times.  Valid arguments to this
              option are:

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

              9,minutes  - Raw Attribute number 9 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".

              9,seconds  - Raw Attribute number 9 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
              seconds in the range 0-59 inclusive.  Y and Z are always printed
              with two digits, for example "06" or "31" or "00".

              9,halfminutes  -  Raw  Attribute number 9 is power-on time, mea-
              sured in units of 30 seconds.  This format is used by some  Sam-
              sung  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".

              9,temp - Raw Attribute number 9 is the disk temperature in  Cel-
              sius.

              192,emergencyretractcyclect  -  Raw  Attribute number 192 is the
              Emergency Retract Cycle Count.

              193,loadunload - Raw Attribute number 193 contains  two  values.
              The  first is the number of load cycles.  The second is the num-
              ber 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
              mechanical  stress created by one emergency unload is equivalent
              to that created by one hundred normal unloads.

              194,10xCelsius - Raw Attribute number 194 is ten times the  disk
              temperature  in  Celsius.   This  is  used by some Samsung disks
              (example: model SV1204H with RK100-13 firmware).

              194,unknown - Raw Attribute number 194 is NOT the disk  tempera-
              ture,  and its interpretation is unknown. This is primarily use-
              ful for the -P (presets) option.

              198,offlinescanuncsectorct - Raw Attribute  number  198  is  the
              Offline Scan UNC Sector Count.

              200,writeerrorcount  -  Raw  Attribute  number  200 is the Write
              Error Count.

              201,detectedtacount - Raw Attribute number 201 is  the  Detected
              TA Count.

              220,temp  -  Raw Attribute number 220 is the disk temperature in
              Celsius.

              Note: a table of hard drive models, listing which Attribute cor-
              responds   to   temperature,   can  be  found  at:  http://core-
              dump.free.fr/linux/hddtemp.db

              N,raw8 - Print the  Raw  value  of  Attribute  N  as  six  8-bit
              unsigned  base-10 integers.  This may be useful for decoding the
              meaning of the Raw value.  The form 'N,raw8' prints  Raw  values
              for  ALL  Attributes  in  this  form.   The  form  (for example)
              '123,raw8' only prints the Raw value for Attribute 123  in  this
              form.

              N,raw16  -  Print  the  Raw value of Attribute N as three 16-bit
              unsigned base-10 integers.  This may be useful for decoding  the
              meaning  of the Raw value.  The form 'N,raw16' prints Raw values
              for ALL  Attributes  in  this  form.   The  form  (for  example)
              '123,raw16'  only prints the Raw value for Attribute 123 in this
              form.

              N,raw48 - Print the  Raw  value  of  Attribute  N  as  a  48-bit
              unsigned  base-10  integer.  This may be useful for decoding the
              meaning of the Raw value.  The form 'N,raw48' prints Raw  values
              for  ALL  Attributes  in  this  form.   The  form  (for example)
              '123,raw48' only prints the Raw value for Attribute 123 in  this
              form.


       -F TYPE, --firmwarebug=TYPE
              Modifies  the  behavior of smartctl to compensate for some known
              and understood device  firmware  bug.   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
              values for the ATA error log timestamps.

              samsung2 - In more recent Samsung disks (firmware revisions end-
              ing in "-23") the number of ATA errors reported is byte swapped.
              Enabling this option tells smartctl to evaluate this quantity in
              byte-reversed order.

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


       -P TYPE, --presets=TYPE
              Specifies  whether  smartctl  should use any preset options that
              are available for this drive. By default, if the drive is recog-
              nized  in the smartmontools database, then the presets 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.


       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 can be run at a time, so this  option  should  only  be
              used once per command line.

              The valid arguments to this option are:

              offline  -  runs SMART Immediate Offline Test.  This immediately
              starts the test described above.  This command can be given dur-
              ing normal system operation.  The effects of this test are visi-
              ble only in that it updates the SMART Attribute values,  and  if
              errors  are found they will appear in the SMART error log, visi-
              ble with the '-l error' option. [In the  case  of  SCSI  devices
              runs  the default self test in foreground. No entry is placed in
              the self test log.]

              If the '-c' option to smartctl shows that  the  device  has  the
              "Suspend  Offline  collection  upon new command" capability then
              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.

              short  - runs SMART Short Self Test (usually under ten minutes).
              [Note: in the case of SCSI devices, this command option runs the
              "Background short" self-test.]  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 automatic  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.

              long - runs SMART Extended Self Test (tens of minutes).   [Note:
              in the case of SCSI devices, this command option runs the "Back-
              ground long" self-test.]  This is a  longer  and  more  thorough
              version  of the Short Self Test described above.  Note that this
              command can be given during normal system operation (unless  run
              in captive mode - see the '-C' option below).

              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

              - [ATA ONLY] [NEW EXPERIMENTAL SMARTCTL FEATURE]  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.  For example the command:
                smartctl -t select,10-20 /dev/hda
              runs  a  self  test on one span consisting of LBAs ten to twenty
              (inclusive). The '-t' option can be given up to five  times,  to
              test up to five spans.  For example the command:
                smartctl -t select,0-100 -t select,1000-2000 /dev/hda
              runs  a  self test on two spans.  The first span consists of 101
              LBAs and the second span consists of 1001 LBAs.  Note  that  the
              spans can overlap partially or completely, for example:
                smartctl -t select,0-10 -t select,5-15 -t select,10-20 /dev/hda
              The  results  of  the  selective self-test can be obtained (both
              during and after the test) by printing the SMART self-test  log,
              using the '-l selftest' option to smartctl.

              Selective  self tests are particularly useful as disk capacities
              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).

              [Note:  this new experimental smartmontools feature is currently
              only available under Linux.  The Linux kernel must  be  compiled
              with  the  configuration  option CONFIG_IDE_TASKFILE_IO enabled.
              Please report unusual or incorrect  behavior  to  the  smartmon-
              tools-support mailing list.]

              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
              the LBAs that have been specified  in  the  Selective  self-test
              pass the test with no errors found, then read scan the remainder
              of the disk.  If the device is powered-cycled  while  this  read
              scan is in progress, the read scan will be automatically resumed
              after a time specified by the pending timer  (see  below).   The
              value  of this option is preserved between selective self-tests.

              afterselect,off - [ATA ONLY] do not read scan the  remainder  of
              the disk after a Selective self-test has completed.  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.

              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.


       -C, --captive
              Runs self-tests in captive mode.  This has no  effect  with  '-t
              offline'  or  if the '-t' option is not used. [Note: in the case
              of SCSI devices, this  command  option  runs  the  self-test  in
              "Foreground" mode.]

              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!


       -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.


EXAMPLES

       smartctl -a /dev/hda
       Print all SMART information for drive /dev/hda (Primary Master).

       smartctl -s off /dev/hdd
       Disable SMART on drive /dev/hdd (Secondary Slave).

       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
       are  only  used  to  update the SMART Attributes, visible with the '-A'
       option.  If any device errors occur, they are logged to the SMART error
       log, which can be seen with the '-l error' option.

       smartctl -A -v 9,minutes /dev/hda
       Shows  the  vendor  Attributes,  when the disk stores its power-on time
       internally in minutes rather than hours.

       smartctl -q errorsonly -H -l selftest /dev/hda
       Produces output only if the device returns failing SMART status, or  if
       some of the logged self-tests ended with errors.

       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 -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 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.


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
       bits turned off).  If a problem occurs, or an error,  potential  error,
       or  fault  is  detected,  then  a non-zero status is returned.  In this
       case, the eight different bits in the return value have  the  following
       meanings  for  ATA disks; some of these values may also be returned for
       SCSI disks.

       Bit 0: Command line did not parse.

       Bit 1: Device open failed, or device did not return an IDENTIFY  DEVICE
              structure.

       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: SMART status check returned  "DISK  OK"  but  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.

              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 [AT] lists.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)
       Douglas Gilbert (SCSI subsystem)
       Guido Guenther (Autoconf/Automake packaging)
       Eduard Martinescu (FreeBSD interface)
       Frederic L. W. Meunier (Web site and Mailing list)
       Keiji Sawada (Solaris ATA interface)
       Sergey Svishchev (NetBSD interface)
       Phil Williams (User interface and drive database)
       Many other individuals have made smaller contributions and corrections.



CREDITS

       This  code  was derived from the smartsuite package, written by Michael
       Cornwell, and from the previous UCSC smartsuite  package.   It  extends
       these  to  cover  ATA-5 disks.  This code was originally developed as a
       Senior Thesis by Michael Cornwell at the Concurrent Systems  Laboratory
       (now  part  of the Storage Systems Research Center), Jack Baskin School
       of    Engineering,    University    of    California,    Santa    Cruz.
       http://ssrc.soe.ucsc.edu/ .

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-smartP(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.php?sid=6983 online.

       If you would like to understand better how SMART  works,  and  what  it
       does,  a good place to start is Section 8.41 of the "AT Attachment with
       Packet Interface-5" (ATA/ATAPI-5) specification.   This  documents  the
       SMART  functionality  which  the smartmontools utilities provide access
       to.    You   can   find   Revision    1    of    this    document    at
       http://www.t13.org/project/d1321r1c.pdf .

       Future  versions  of  the specifications (ATA/ATAPI-6 and ATA/ATAPI-7),
       and later revisions (2, 3) of the ATA/ATAPI-5 specification are  avail-
       able from http://www.t13.org/#FTP_site .

       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 doc-
       uments may be found in the References section of the smartmontools home
       page at http://smartmontools.sourceforge.net/ .


CVS ID OF THIS PAGE:

       $Id: smartctl.8.in,v 1.53 2004/06/13 19:49:54 ballen4705 Exp $



smartmontools-5.32                2004/07/05                       SMARTCTL(8)

COMMENTS

Add your comment here. Whitespace and linebreaks are preserved. URLs are linked automatically.
CAPTCHA

No HTML allowed. URLs will be linked with nofollow attribute. Whitespace is preserved.