===============================================
SMARTMONTOOLS - SMART utility toolset for Linux
===============================================

== HOME ==
The home for smartmontools is located at:
    http://smartmontools.sourceforge.net
Please see this web site for updates, documentation, and for
submitting patches and bug reports.

You will find a mailing list for support and other questions at:
http://lists.sourceforge.net/lists/listinfo/smartmontools-support


== COPYING ==
Copyright (C) 2002-3 Bruce Allen <smartmontools-support@lists.sourceforge.net>

This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the Free
Software Foundation; either version 2, or (at your option) any later
version.

You should have received a copy of the GNU General Public License (for
example COPYING); if not, write to the Free Software Foundation, Inc., 675
Mass Ave, Cambridge, MA 02139, USA.


== CREDITS ==
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/


== OVERVIEW ==
SMARTMONTOOLS contains utilities that control and monitor storage
devices using the Self-Monitoring, Analysis and Reporting Technology
(S.M.A.R.T.) system build into ATA and SCSI Hard Drives. This is used
to check the reliability of the hard drive and to predict drive
failures.  SMARTMONTOOLS Version 5.x is designed to comply to the
ATA/ATAPI-5 specification (Revision 1).  Future releases of
SMARTMONTOOLS (Versions 6.x and 7.x) will comply with the ATA/ATAPI-6
and ATA/ATAPI-7 specifications.

This package is meant to be an up-to-date replacement for the
ucsc-smartsuite and smartsuite packages, and is derived from that
code.


== CONTENTS ==
The suite contains two utilities:

smartctl is a command line utility designed to perform
         S.M.A.R.T. tasks.such as disk self-checks, and to
         report the S.M.A.R.T. status of the disk.

smartd   is a daemon that periodically monitors S.M.A.R.T. status and
         reports errors and changes in S.M.A.R.T. attributes to syslog.

SEE THE FILE "WARNINGS" FOR REPORTS OF HARDWARE WHERE THESE UTILITIES MIGHT
CAUSE SERIOUS PROBLEMS SUCH AS LOCKUPS.

If you have just downloaded smartmontools from the URL above, then
you can read about these commands using the man pages.  Within this
directory the commands:
  man ./smartctl.8
and
  man ./smartd.8

will display the manual pages for the two commands.  If you have
already installed the package on your system, then:
  man smartctl
and
  man smartd
will display the same information.


== INSTALLATION ==
To install, use the commands:
  make
  make install

Any recent Linux distribution should support this package.  Note that
smartmontools requires Linux kernel 2.2.14 or greater in order to run
at all.  But to give the ATA RETURN SMART STATUS command, the kernel
needs to support the HDIO_DRIVE_TASK ioctl().  Any 2.4 series kernel
should provide this support.  I am told that some of the 2.2.20 and
later kernels also provide this support if they are properly
patched/configured.

Seventeen files are installed:
/usr/sbin/smartd                                [Executable daemon]
/usr/sbin/smartctl                              [Executable command-line utility]
/etc/rc.d/init.d/smartd                         [Init/Startup script for smartd]
/usr/share/man/man8/smartctl.8.gz               [Manual page]
/usr/share/man/man8/smartd.8.gz                 [Manual page]
/usr/share/man/man5/smartd.conf.5.gz            [Manual page]
/usr/share/doc/smartmontools-5.1/README         [What you are reading!]
/usr/share/doc/smartmontools-5.1/TODO           [Things that need to be done/fixed]
/usr/share/doc/smartmontools-5.1/CHANGELOG      [A log of changes. Also see CVS]
/usr/share/doc/smartmontools-5.1/COPYING        [GNU Public License.] 
/usr/share/doc/smartmontools-5.1/VERSION        [Version number]
/usr/share/doc/smartmontools-5.1/WARNINGS       [Systems where lockups or other serious problems reported]
/usr/share/doc/smartmontools-5.1/smartd.conf    [Example Configuration file for /etc/]
/usr/share/doc/smartmontools-5.1/examplescripts [Executable scripts for -M exec of smartd.conf (4 files)]

Source and binary RPM files are available at the website listed above.

PLEASE READ THE MANUAL PAGES FOR SMARTCTL AND SMARTD FOR MORE INFORMATION.


STARTING WITH SMARTMONTOOLS 5.1.X, THE COMMAND LINE OPTIONS AND THE
SMARTD.CONF DIRECTIVES HAVE BEEN RENAMED.  WHAT FOLLOWS IS A SUMMARY
TABLE SHOWING THE COMPARISON BETWEEN THE OLD AND THE NEW OPTION AND
DIRECTIVE NAMES.

== NEW OPTION NAMES FOR SMARTCTL 5.1 ==
The following is a synopsis of the new options in smartctl 5.1 -- please see the
man pages for more information.

  -h, --help, --usage
        Show usage and syntax help

  -V, --version, --copyright, --license
        Show version, copyright, and license info then exit

  -q MODE, --quietmode=MODE
        Set the quiet mode to one of: errorsonly, silent

  -d TYPE, --device=TYPE
        Set the device type to one of: ata, scsi

  -T TYPE, --tolerance=TYPE
        Set tolerance level to one of:
                normal       - Exit if a mandatory SMART command fails [DEFAULT]
                conservative - Exit if any SMART command fails
                permissive   - Continue even if a mandatory SMART command fails

  -b TYPE, --badsum=TYPE
        Action to take on a bad checksum.  TYPE and its meaning are:
                warn   - Issue a warning, but continue [DEFAULT] 
                exit   - Exit smartctl
                ignore - Continue silently without issuing a warning [NEW]

  -s VALUE, --smart=VALUE
        Enable/disable SMART.  VALUE is one of: on, off 

  -o VALUE, --offlineauto=VALUE
        Enable/disable automatic offline testing.  VALUE is one of: on, off 

  -S VALUE, --saveauto=VALUE
        Enable/disable attribute autosave.  VALUE is one of: on, off 

  -H, --health
        Show SMART health status

  -c, --capabilities
        Show SMART capabilities

  -A, --attributes
        Show SMART vendor-specific attributes and values.

  -l TYPE, --log=TYPE
        Show device log. Type is one of: error, selftest

  -i, --info
        Show drive information

  -a, --all
        Show all SMART information.  Equivalent to -HcAi -l error -l selftest

  -v N,OPTION , --vendorattribute=N,OPTION
        Set vendor specific OPTION for attribute N.  Currently supported are:

                  N     OPTION          Effect
                -----------------------------------------------------------
                009     minutes         Display in minutes instead of hours

        Note that in the future this option may be used multiple times
        with different arguments, to modify options for different
        attributes.

  -t TEST, --test=TEST
        Perform TEST immediately.  TEST is one of: offline, short, long

  -C, --captive
        When used with -t, performs test in captive mode.  Has no effect on
        offline test, or when used without -t option.

  -X, --abort
        Abort any non-captive test

The following table shows the mapping of old to new smartctl options and of
old to new smartd.conf directives:

  -------------------------------------------------------------------------------------------------------------------
  smartctl      smartctl options        smartctl options                  smartd.conf               smartd.conf
  options       Versions >= 5.1         Versions >= 5.1                   DIRECTIVES                DIRECTIVES
  Versons<=5.0  (short options)         (long options)                    Versions <= 5.0           Versions >= 5.1
  -------------------------------------------------------------------------------------------------------------------
  -h, -?        -h, -?                  --help
  -V            -V                      --version, --copyright, --license
  -i            -i                      --info                                                          CONFLICT
  -q            -q errorsonly           --quietmode=errorsonly
  -Q            -q silent               --quietmode=silent
  -n            -d ata                  --device=ata                       -A				-d ata
  -N            -d scsi                 --device=scsi                      -S                           -d scsi
  -P            -T permissive           --tolerance=permissive             -P                           -T permissive
  -U            -T conservative         --tolerance=conservative
  -W            -b                      --badsum=exit
                -r                      --report=TYPE
  -e            -s on                   --smart=on
  -d            -s off                  --smart=off
  -t            -o on                   --offlineauto=on                   -T 1                         -o on
  -T            -o off                  --offlineauto=off                  -T 0                         -o off
  -f            -S on                   --saveauto=on                      -s 1                         -S on
  -F            -S off                  --saveauto=off                     -s 0                         -S off
  -c            -H                      --health                           -c                           -H
  -g            -c                      --capabilities
  -v            -A                      --attributes                       -p, -u, -f, -t               -p, -u, -t
  -l            -l error                --log=error                        -l                           -l error
  -L            -l selftest             --log=selftest                     -L                           -l selftest
  -a            -a                      --all                              -a                           -a
  -m            -v 9,minutes            --vendorattribute=9,minutes
  -O            -t offline              --test=offline
  -S            -t short                --test=short
  -s            -t short -C             --test=short --captive
  -X            -t long                 --test=long
  -x            -t long -C              --test=long --captive
  -A            -X                      --abort


 NOW A COMMAND-LINE OPTION (-i N, --interval N) =======>                   -C N    Set checktime        CMD LINE: -i N
                                                                           -f      usage attributes     -f
                                                                           -M ADD  Email addresses     -m ADD
                                                                           -m -3   Email mode          -M diminishing -M test
                                                                           -m -2   Email mode          -M daily -M test
                                                                           -m -1   Email mode          -M once -M test
                            If no -M is given, this is the DEFAULT =====>  -m 0    Email mode          -M once
                                                                           -m 1    Email mode          -M once
                                                                           -m 2    Email mode          -M daily
                                                                           -m 3    Email mode          -M diminishing
                            New feature (see man page) =====>                                          -M exec SCRIPT
                                                                           -i N    Ignore              -i N
                                                                           -I N    Ignore              -I N
                                                                            #      Comment              #
                                                                            \      Line continuation    \
  -------------------------------------------------------------------------------------------------------------------

Changes to smartd options:

  ----------------------------------------------------------------------------------------------------------
  5.0 short     5.0 long                                     5.1 short     5.1 long
  option        option                                       option        option
  ----------------------------------------------------------------------------------------------------------
  -h, -?        --help                                       -h, -?        --help
  -V            --version, --copyright, --license            -V            --version, --copyright, --license
  -X            --debug                                      -d            --debug
                                                             -i N          --interval=N
                                                             -D            --showdirectives
                                                             -r            --report=TYPE
  ----------------------------------------------------------------------------------------------------------

