Select Git revision
test_LLO.py
index.html 37.02 KiB
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<title>smartmontools Home Page (last updated $Date: 2003/11/16 06:19:03 $)</title>
<link rev="made" href="mailto:smartmontools-support@sourceforge.net" />
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<meta name="description" content="smartmontools Home Page" />
<meta name="keywords" content="S.M.A.R.T., SMART, Linux, disk, monitoring, monitor" />
</head>
<body>
<!-- $Id: index.html,v 1.104 2003/11/16 06:19:03 ballen4705 Exp $ -->
<div align="center"><h1><font color="#3333ff">smartmontools Home Page</font></h1></div>
<p>Welcome! This is the home page for the smartmontools package.</p>
<p>The smartmontools package contains two utility programs
(<font color="#3333ff"><b>smartctl</b></font> and
<font color="#3333ff"><b>smartd</b></font>) to control and monitor storage
systems using the Self-Monitoring, Analysis and Reporting Technology
System (SMART) built into most modern ATA and SCSI hard
disks.  In many cases, these utilities will provide advanced warning
of disk degradation and failure.</p>
<p>Smartmontools is derived from the <a
href="http://sourceforge.net/projects/smartsuite/">smartsuite
package</a>, and includes support for ATA/ATAPI-3 to -7 disks and SCSI
disk and tape devices. It should run on any modern linux, FreeBSD, or
Solaris system.
</p>
<p>For printing convenience, everything except for the <a
href="#sampleoutput">example output</a> is on a single page.</p>
<hr size="2" />
<ul>
<li><a href="#howtodownload">How to download and install
smartmontools</a></li>
<li><a href="#PROBLEMS">Serious Problem Reports (system lockup, etc.)</a></li>
<li><a href="#FAQ">Frequently Asked Questions</a></li>
<li><a href="#scsi">SCSI disks and tapes (TapeAlert)</a></li>
<li><a href="#testinghelp">FireWire, USB, and SATA disks/tapes</a></li>
<li><a href="#differfromsmartsuite">How does smartmontools differ from
smartsuite?</a></li>
<li><a href="#references">Useful references on SMART and ATA/ATAPI-5,
-6, and -7</a></li>
<li><a href="#sampleoutput">Example output from smartmontools</a>
<b>smartctl</b> utility</li>
<li><a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/smartmontools/">CVS
repository</a> and <a href="http://sourceforge.net/projects/smartmontools/">SourceForge's
Project Page</a></li>
<li>Mailing List <a href="http://lists.sourceforge.net/lists/listinfo/smartmontools-support">Information</a>
and <a href="http://sourceforge.net/mailarchive/forum.php?forum=smartmontools-support">Archives</a> (Archive has <b>Search Box</b> in top left corner).</li>
<li>Current <a href="man/smartctl.8.html">smartctl</a>, <a href="man/smartd.8.html">smartd</a>, and <a href="man/smartd.conf.5.html">smartd.conf</a> HTML man pages generated from CVS.</li>
</ul>
<hr size="2" />
<b><a name="howtodownload"></a>How to download and install
smartmontools</b>
<p>There are four different ways to get and install
smartmontools.  You can use any of the first three procedures
(the fourth is for Debian only).  Just after "Method 4" below are
some instructions for trying out smartmontools once you have completed
the installation.</p>
<b>First Method - Install from the RPM file</b>
<ul>
<li>Download the latest binary RPM file (<tt>*.rpm</tt>) from <a href="http://sourceforge.net/project/showfiles.php?group_id=64297">here</a>. 
Don't get the SRPM file (<tt>*.src.rpm</tt>).</li>
<li>Install it using RPM.  <i>You must be root to do this</i>:
<pre>su root (enter root password)
rpm -ivh smartmontools-5.1-18.i386.rpm</pre>
For most users, this is all that is needed.</li>
<li>If you receive an error message, you have probably previously
installed the <tt>smartsuite</tt> package, or RedHat's
<tt>kernel-utils</tt> package, which provide older versions of the
<tt>smartd</tt> and <tt>smartctl</tt> utilities.  In this case you
should use the <tt>--nodeps</tt> or <tt>--force</tt> arguments of rpm to
replace these two utilities:
<pre>rpm -ivh --nodeps --force smartmontools-5.1-18.i386.rpm</pre></li>
<li>If you want to remove the package (<tt>rpm -e smartmontools</tt>)
and your system does not have <tt>chkconfig</tt> installed, you may need
to use:
<pre>rpm -e --noscripts smartmontools</pre></li>
</ul>
<b>Second Method - Install from the source tarball</b>
<ul>
<li>Download the latest source tarball from <a href="http://sourceforge.net/project/showfiles.php?group_id=64297">here</a>.
Note: you probably want the most recent release.</li>
<li>Uncompress the tarball:
<pre>tar zxvf smartmontools-5.20.tar.gz</pre></li>
<li>The previous step created a directory called <tt>smartmontools-5.20</tt>
containing the code.  Go to that directory, build, and install:
<pre>cd smartmontools-5.20
./configure
make
make install
</pre></li>
<li> Note that the <tt>./configure</tt> step above is not needed for releases <=5.1-18. For releases >=5.19, <tt>./configure</tt>
can take optional arguments. These optional arguments are fully explained in the
<a href="http://cvs.sourceforge.net/viewcvs.py/smartmontools/sm5/INSTALL?rev=HEAD&content-type=text/vnd.viewcvs-markup">INSTALL</a>
file. Some common choices are:
<ul>
<li> Red Hat (install in <tt>/usr</tt> and <tt>/etc</tt>): <tt>./configure</tt></li>
<li> Slackware (install in <tt>/usr</tt> and <tt>/etc</tt>): <tt>./configure</tt></li>
<li> Filesystem Hierarchy Standard (installs in <tt>/usr/local</tt>): <tt>./configure --prefix=/usr/local</tt></li>
<li> Debian (installs in <tt>/usr/local</tt>): <tt>./configure --prefix=/usr/local</tt></li>
</ul>
</li>
<li>To compile from another directory (avoids overwriting virgin files from the smartmontools package)
replace <tt>./configure [options]</tt> by:
<pre>
mkdir objdir
cd objdir
../configure [options]
</pre></li>
<li>To install to another destination (useful for testing and to avoid overwriting an existing smartmontools installation)
replace <tt>make install</tt> by:
<pre>
make DESTDIR=/home/myself/smartmontools-test install
</pre>
Use a full path: <tt>~/smartmontools-test</tt> won't work.
</li>
<li>Unless the destination directory is your home directory (or a location that you have write permission)
only root can do <tt>make install</tt></li>
</ul>
<b>Third Method - Install from the CVS repository</b>
<ul>
<li><p>One of the really cool things about CVS is that you can get
<i>any</i> version of the code you want, from the first release up the
the most current development version.  And it's trivial, because
each release is <u>tagged</u> with a name like
<tt>RELEASE_5_1_18</tt>.  You can see what the different names are
by looking at the <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/smartmontools/sm5/">
CVS repository</a>.  You'll see the tag names in the little scroll
window where it says "Show only files with tag".  All you need to
do to get the latest development code is
(but note that the development code may be unstable, and that the
documentation and code may be inconsistent):</p>
<pre>cvs -d:pserver:anonymous@cvs.smartmontools.sourceforge.net:/cvsroot/smartmontools login (when prompted for a password, just press Enter)
cvs -d:pserver:anonymous@cvs.smartmontools.sourceforge.net:/cvsroot/smartmontools co sm5</pre></li>
<li>To instead get the 5.1-16 release:
<pre>cvs -d:pserver:anonymous@cvs.smartmontools.sourceforge.net:/cvsroot/smartmontools co -r RELEASE_5_1_16 sm5</pre></li>
<li><p>This will create a subdirectory called <tt>sm5/</tt> containing the
code.  Go to that directory, build, and install:</p>
<pre>cd sm5
./autogen.sh
./configure
make
make install
</pre>
<ul>
<li>See notes under <b>Second method - install from source tarball</b> for different options to <tt>./configure</tt>
and other useful remarks.</li>
<li>Skip <tt>./autogen.sh</tt> and <tt>./configure</tt> for tagged releases
<= 5.1-18 (RELEASE_5_X_Y, where X = 0 or 1 and Y = 0 to 18).</li>
<li>If you get the current sources (<tt>cvs co</tt> with no arguments or do <tt>cvs up
-A</tt>) then you <i>will</i> need those two additional steps.</li>
</ul></li>
<li>To update your sources to the 5.1-18 release:
<pre>cd sm5
cvs up -r RELEASE_5_1_18</pre></li>
<li>To update any tagged release to the latest development code:
<pre>cd sm5
cvs up -A</pre></li>
</ul>
<b>Fourth Method - Install the Debian package (for machines using the
Debian GNU/Linux distribution)</b>
<ul>
<li>
The latest version of the smartmontools package in <i>.deb</i> format is
available at the <a href="http://packages.debian.org/unstable/utils/smartmontools.html">Debian smartmontools
package page</a>.
This package is for the (unreleased) <a href="http://www.debian.org/releases/">unstable</a>
distribution.</li>
<li>If you're running Debian <a
href="http://www.debian.org/releases/stable/">stable</a> please download the
package from <a
href="http://honk.physik.uni-konstanz.de/~agx/linux-i386/debian/smartmontools/">here</a>.</li>
<li>
You can then install the package using:
<pre>
dpkg -i smartmontools_5.1.18-1.agx0_i386.deb
</pre>
But the preferred method is to add the following line to your
<tt>/etc/apt/sources.list</tt>:
<pre>deb http://honk.physik.uni-konstanz.de/~agx/linux-i386/debian smartmontools/
</pre>
and type <pre>
apt-get update && apt-get install smartmontools
</pre> this will automatically download and install the package.
</li>
</ul>
<b>After installing it using Method 1, 2, 3 or 4 above, you can read the
man pages, and try out the commands:</b>
<pre>
man smartd.conf
man smartctl
man smartd
/usr/sbin/smartctl -s on -o on -S on /dev/hda (only root can do this)
/usr/sbin/smartctl -a /dev/hda (only root can do this)</pre>
<p>Note that the default location for the manual pages are
<tt>/usr/share/man/man5</tt> and <tt>/usr/share/man/man8</tt>.  If
"<tt>man</tt>" doesn't find them, then you may need to add
<tt>/usr/share/man</tt> to your <tt>MANPATH</tt> environment
variable.</p>
<hr size="2" />
<a name="PROBLEMS"></a><b>Serious Problem Reports</b>
<p>If a serious problem gets reported to us, it gets added to the <a
href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/smartmontools/sm5/WARNINGS?rev=HEAD&content-type=text/vnd.viewcvs-markup">
WARNINGS</a> file in smartmontools. So far there are only a few problem systems listed.</p>
<hr size="2" />
<a name="FAQ"></a><b>Frequently Asked Questions</b>
<p>If your question is not here, please <a href="mailto:smartmontools-support@lists.sourceforge.net">email
me</a>.</p>
<ul>
<li><b>What do I do if I have problems, or need support?  Suppose
I want to become a developer, or suggest some new extensions?</b>
<p>First, search the support mailing list archives to see if your
question has been answered. Instructions are in the following
paragraph. If you don't find an answer there, then please send an
email to the <a
href="http://lists.sourceforge.net/mailman/listinfo/smartmontools-support">smartmontools-support
mailing list</a>. This is a moderated forum: you are not
required to subscribe to the list in order to post your question.
</p>
<p>To search the email archives, first go to the <a
href="http://sourceforge.net/mailarchive/forum.php?forum=smartmontools-support">
mailing list archive</a>. In the top left corner you will see a
search box: use <b>Mailing List</b> as the type of search. This tool
works very well.</p>
<p>Note that from time to time SourceForge has mailing list problems
and you'll get a message telling you that <i>Either your mailing list
name was misspelled or your mailing list has not been archived yet. If
this list has just been created, please retry in 2-4 hours</i>. If
this happens, you'll have to try again later.
</p>
</li>
<li><b>What are the future plans for smartmontools?</b>
<p>My plan is that smartmontools-5.x will support ATA/ATAPI-5
disks.  Eventually, we'll do smartmontools-6.x to support
ATA/ATAPI-6 disks, smartmontools-7.x for the ATA/ATAPI-7 standard, and
so on.  The "x" will denote revision level, as bugs get found and
fixed, and as enhancements get added.  If it's possible to maintain
backwards compatibility, that would be nice, but I don't know if it will
be possible or practical.</p></li>
<li><b>Why are you doing this?</b>
<p>My research group at U. Wisconsin - Milwaukee runs a <a
href="http://www.lsc-group.phys.uwm.edu/beowulf/medusa/">beowulf
cluster</a> with 600 ATA-5 and -6 disks (300 IBM and 300
Maxtor).  We have more than 50 TB of data stored on the
system.  I also help out with a <a
href="http://pandora.aei.mpg.de/merlin/"> cluster</a> at the Albert
Einstein Institute that has another 300 IBM ATA-6 disks (36 TB
total). It's nice to have advanced warning when a disk is going to
fail.</p></li>
<li><b>I see some strange output from smartctl. What does it mean?</b>
<p>The raw SMART attributes (temperature, power-on lifetime, and so
on) are stored in vendor-specific structures.  Sometime these are
strange.  Hitachi disks (at least some of them) store power-on
lifetime in minutes, rather than hours (see next question below).  IBM disks (at least some
of them) have three temperatures stored in the raw structure, not just
one.  And so on.  If you find strange output, or unknown
attributes, please send an email to <a href="http://lists.sourceforge.net/mailman/listinfo/smartmontools-support">
smartmontools-support</a> and we'll help you try and figure it
out.</p></li>
<li><b>What Kernel Version is needed? (Linux)</b>
<p>
Kernel versions 2.4.0 or later should work. We recommend the latest
2.4 kernel.<br /><br />
Vanilla kernel.org 2.2.X kernels do not support the HDIO_DRIVE_TASK
ioctl(), which is needed for the ATA drive to execute the ATA SMART
RETURN STATUS command. So these kernels will not work.<br /><br />
Vendor-supplied 2.2.X kernels, and vanilla 2.2.X kernels patched with
<a href="http://www.funet.fi/pub/linux/kernel/people/hedrick/ide-2.2.20/">Andre
Hedrick's IDE patches</a> (available from your local kernel.org
mirror, not updated for 2.2.21 or later, and probably still containing
a few bugs) may support the needed ioctl().<br /><br />
If the configuration option CONFIG_IDE_TASK_IOCTL exists in your 2.2.X
kernel source code tree, then your 2.2.X kernel will probably support
smartmontools. Note that this kernel configuration option does
<i>not</i> need to be enabled. Its presence merely indicates that the
required HDIO_DRIVE_TASK ioctl() is supported.
</p></li>
<li><b>What attributes does smartmontools not yet recognize?</b>
<p>From Maxtor disks (99), (100), (101)
</p>
<p>If you can attach names/meanings to these attributes, please send a
note to <a
href="http://lists.sourceforge.net/mailman/listinfo/smartmontools-support">
smartmontools-support</a>. If you have access to other
SMART utilities (especially manufacturer-specific ones, see
below) and can send us comparison output from smartctl and the other
utility, that's especially useful.</p></li>
<li><b>My Maxtor/Hitachi/Fujitsu disk is only a few days old, yet smartctl reports its age (Attribute 9) as thousands of hours!</b>
<p>On some recent disks, Maxtor has started to use Attribute 9 to
store the lifetime in minutes rather than hours. In this case, use
the -m option (smartctl versions 5.0.X) or the
--vendorattribute=9,minutes (smartctl 5.1.X) option to correctly
display hours and minutes.
</p>
<p>Some models of Fujitsu disks are known to use Attribute 9
for lifetime in seconds. In that case, use the --vendorattribute=9,seconds
option to correctly display hours, minutes and seconds.</p>
</li>
<li><b>The power-on timer (Attribute 9 raw value) on my Maxtor disk acts strange.</b>
<p>There are three related problems with Maxtor's SMART firmware:
</p>
<p>
<b>1 - </b>
On some disks from 2001/2002, the raw value of Attribute 9 (Power On
Time) is <i>supposed</i> to be minutes. But it advances at an
unpredictable rate, always more slowly than one count per minute. One
(unconfirmed) theory is that when the disk is in idle mode, the
counter stops advancing. This is only supposed to happen in standby
mode.
</p>
<p>
<b>2 - </b> In Maxtor disks that use the raw value of Attribute 9 as a
minutes counter, only two bytes (of the six available) are used to
store the raw value. So it resets to zero once every 65536=2^16
minutes, or about once every 1092 hours. This is fixed in all Maxtor
disks manufactured after July 2003, where the raw value was extended
to four bytes.
</p>
<p>
<b>3 - </b> In Maxtor disks that use the raw value of Attribute 9 as a
minutes counter, the hour time-stamps in the self-test and ATA error
logs are calculated by right shifting 6 bits. This is equivalent to
dividing by 64 rather than by 60. As a result, the hour time stamps
in these logs advance 7% more slowly than they should. Thus, if you
do self-tests once per week at the same time, instead of the
time-stamps being 168 hours apart, they are 157 hours apart. This is
also fixed in all Maxtor disks manufactured after July 2003.
</p>
</li>
<li><b>Where can I find manufacturer-specific disk-testing utilities?</b>
<p>A good listing of such utilities can be found <a
href="http://www.benchmarkhq.ru/english.html?/be_hdd2.html">here</a>.
Unfortunately most of these are for MS operating systems, but most can
be run from an MS-DOS boot disk. Note: if you do run one of these
utilities, and it identifies the meanings of any SMART Attributes that
are not known to smartmontools, please report them to the mailing list
above.</p>
<p>These utilities have an important role to fill. If your disk has
bad sectors (for example, as revealed by running self-tests with
smartmontools) and the disk is not able to recover the data from those
sectors, then the disk will <i>not</i> automatically reallocate those
damaged sectors from its set of spare sectors, because
forcing the reallocation to take place may entail some loss of data.
Because the commands that force such reallocation are
<i>Vendor Specific</i>, most manufactuers provide a utility for this
purpose. It may cause data loss but can repair damaged sectors (at
least, until it runs out of replacement sectors).
</p>
</li>
<li><b>When I run <tt>smartd</tt>, the SYSLOG <tt>/var/log/messages</tt>
contains messages like this:</b>
<pre>smartd: Reading Device /dev/sdv
modprobe: modprobe: Can't locate module block-major-65</pre>
<p>This is because when <tt>smartd</tt> starts, it looks for all ATA and
SCSI devices to monitor (matching the pattern <tt>/dev/hd[a-z]</tt> or
<tt>/dev/sd[a-z]</tt>).  The log messages appear because your
system doesn't have most of these devices.</p>
<p>Recent releases of smartd can use a configuration file
<tt>/etc/smartd.conf</tt> to specify which devices to include or exclude
from start-up search.</p></li>
<li><b>What's the story on IBM SMART disks?</b>
<p>Apparently some of the older SMART firmware on IBM disks can
interfere with the regular operation of the disk.  If you have this
problem, here is an <a href="http://www.geocities.com/dtla_update/">IBM
DISK FIRMWARE UPGRADE</a> that fixes the problem.
</p></li>
<li><b>How can I check that the package hasn't been tampered with?</b>
<p>Since the <tt>smartmontools</tt> utilities run as root, you might
be concerned about something harmful being embedded within
them. Starting with release 5.19 of <tt>smartmontools</tt>, the .rpm
files and tarball have been GPG signed. The tarball's fingerprint is
given in a file on the release page with a name like
<tt>smartmontools-5.20.tar.gz.asc</tt>. Please verify these using
the <a href="SmartmontoolsSigningKey.txt">Smartmontools GPG Signing
Key</a>
</p></li>
<li><b>Is there a bootable standalone CD or floppy that contains smartmontools?</b>
<p>If you have a system that is showing signs of disk trouble (for
example, it's unbootable and the console is full of disk error
messages) it can be handy to have a version of smartmontools that can
be run off of a bootable CD or floppy to examine the disk's SMART data and run
self-tests. This is also useful if you want to run Captive Self-Tests
(the <b><tt>-<font size="+2">C</font></tt></b> option of
<b><tt>smartctl</tt></b> ) on disks that can not easily be unmounted,
such as those hosting the Operating System files. Or you can use
this to run <tt>smartctl</tt> on computers that don't use linux as the
day-to-day operating system.</p>
<p>At present I am only aware of three such bootable disks:</p>
<ul>
<li><a href="http://www.lnx-bbc.org/">LNX-BBC Bootable CD</a> </li>
<li><a href="http://www.stresslinux.org/">Stresslinux Bootable CD</a></li>
<li><a href="http://www.tux.org/pub/people/kent-robotti/looplinux/rip/">RIP (Recovery Is Possible) Bootable CD/Floppy</a></li>
</ul>
<p>
Please let me know if there are others, and I will add them to this
list.
</p>
</li>
<li><b>Can I monitor ATA disks behind SCSI RAID controllers?</b>
<p>
From release 5.1-16, smartmontools supports 3ware SCSI RAID
controllers that use ATA disks internally. To pass commands through
the 3ware controller, use the smartmontools <b>-d 3ware,N</b> option
or Directive.
</p>
<p>
In smartmontools release 5.1-16, the SMART HEALTH STATUS
(smartmontools <b>-H</b>) is not returned correctly for 3ware devices.
In this release, the ENABLE AUTOMATIC OFFLINE and ENABLE ATTRIBUTE
AUTOSAVE commands (smartmontools <b>-o on</b> and <b>-S on</b>) are
<i>disabled</i> for 3ware devices, because at the time 5.1-16 was
released, the 3w-xxxx driver could not pass these commands through to
the ATA disks.
</p>
<p>
Later smartmontools CVS code and releases
<i>do</i> correctly support <i>all</i> of these commands. You may:
</p>
<ul>
<li>use version <b>1.02.00.037</b> or greater of the 3w-xxxx driver, or</li>
<li><a href="3w-xxxx.txt">patch</a> earlier 3ware 3w-xxxx drivers so that
these commands reach the disks, or</li>
<li> use an <b>unpatched</b> earlier 3w-xxxx driver (which won't pass these
commands to the disks but will instead print
harmless warning messages to SYSLOG).</li>
</ul>
<p>
Since smartmontools 3ware support is new, please report positive or negative experiences to the <a
href="http://lists.sourceforge.net/lists/listinfo/smartmontools-support">support
mailing list</a>, particularly for 64-bit and/or big-endian
architectures.
</p>
</li>
<li><b>Does it work on Windows?</b>
<p>Currently not (but you can run it from a bootable CD - see above).
We would welcome a <a href="http://www.cygwin.com/">Cygwin</a> port.
<a
href="mailto:smartmontools-support@lists.sourceforge.net">Contact
us</a> if you're interested in porting it. Some code showing how to
access SMART data under Windows 98, NT 4, Windows 2000, and Windows XP
can be found <a
href="ftp://ftp.heise.de/pub/ct/listings/0207-218.zip">here</a>.
Additional information from Microsoft can be found <a
href="http://support.microsoft.com/default.aspx?scid=kb;en-us;Q208048">here</a>.
A related newsgroup thread (with pointers to additional documentation,
etc.) is <a
href="http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&oe=UTF-8&th=18cdac9d90f6bda1&rnum=1">here</a>.
</p> </li>
<li><b>Why has the versioning scheme changed?</b>
<p>It was non-standard. So with the move to GNU Autoconf and GNU
Automake it changed from 5.X-Y (where X and Y are one or more numbers)
to 5.Y. So the releases are numbered (starting with the oldest and
moving forward in time):
5.0-1,...,5.0-45,5.1-1,...,5.1-18,5.19,5.20,...
</p>
</li>
<li><b>My ATA drive is not in the smartctl/smartd database. How do I get it added?</b>
<p>
First use the command:<br/>
<tt>smartctl -t short /dev/hd?</tt><br/>
to run a short self-test on the drive,
and wait a few minutes for the test to complete.
The timestamp in the self-test log will help us to determine
whether Attribute 9 is being used to store the lifetime in hours,
minutes, or seconds. Then email the output from:<br/>
<tt>smartctl -a /dev/hd?</tt><br/>
to <a href="http://lists.sourceforge.net/mailman/listinfo/smartmontools-support">smartmontools-support</a>
as an email attachment. If you need to use any of the
vendor-specific display options (<b>-v</b> options) with this drive
or if any of the Attributes are behaving strangely please include
that information as well.
</p>
</li>
<li><b>My ATA drive is failing its self-tests, but its SMART health status is 'PASS'. What's going on?</b>
<p>
If your ATA drive supports self-tests, you should run them on a
regular basis, for example one per week:
<br/><tt>smartctl -t long /dev/hd?</tt><br/>
After the test has completed, you should examine the results with:
<br/><tt>smartctl -l selftest /dev/hd?</tt><br/>
</p>
<p>
If the drive fails a self-test, but still has 'PASS' SMART health
status, this usually means that there is a corrupted sector on the
disk, which can not be read. If the disk were able to read that
sector of data, even once, then the disk firmware would mark the
sector as 'bad' and then allocate a spare sectors to replace it. But
if the disk can't read the sector even once, then it won't reallocate
the sector, in hopes of being able, at some time in the future, to
read the data from it.
</p>
<p>
The disk still has passing health status because the firmware has not
found other signs of trouble, such as a failing servo.
</p>
<p>
Such disks can often be repaired by using the disk manufaturer's 'disk
evaluation and repair' utility. Beware: this may force reallocation
of the lost sector and thus corrupt or destroy any file system on the
disk.
</p>
</li>
<li><b>My computer's BIOS has a SMART enable/disable setting. What
does it do, and how should I set it?</b>
<p>
Some type of BIOS can check the SMART health status of a disk at
bootup: the equivalent of '<tt>smartctl -H /dev/hd?</tt>'. This one-time check on
bootup is done if the BIOS SMART setting is set to 'ENABLE', and is
not done if the setting is set to 'DISABLE'.
</p>
<p>
If this one-time check is done, and the disk's health status is found
to be 'FAIL', then typically the BIOS will display an error message
and refuse to boot the machine.
</p>
<p>
For the proper functioning of smartmontools, either BIOS setting may
be used.
</p>
</li>
</ul>
<hr size="2" /><a name="scsi"></a><b>SCSI disks and tapes
(TapeAlert)</b>
<p>Smartmontools for SCSI disks and tapes (including medium changers) is
discussed on a separate <a href="smartmontools_scsi.html">page</a>.
</p>
<hr size="2" /><a name="testinghelp"></a><b>FireWire, USB, and SATA
disks/systems</b>
<p>As for USB and FireWire (ieee1394) disks and tape drives, the news
is not good. They appear to Linux as SCSI devices but their
implementations do not usually support those SCSI commands needed by
smartmontools. The ieee1394 consortium recently certified the <span
style="font-style: italic;">first</span> external enclosure (containing
a ATA disk and a protocol bridge) as being compliant to the relevant
standards. Such devices have already been on the market for about 3
years and they tend to only support the bare minimum of commands
needed for device operation (i.e. SMART support is an unsupported
extra).<br />
</p>
<p>Smartmontools should work correctly with SATA drives under both
linux 2.4 and 2.6 kernels, <i>if</i> you use the standard IDE drivers
in <tt>drivers/ide</tt>. If you use the new <tt>libata</tt> drivers,
it won't work correctly because <tt>libata</tt> doesn't yet support
the needed ATA-passthrough ioctl() calls. Jeff Garzik, the
<tt>libata</tt> developer, says that this support will be added in the
future. When this happens, we'll add support to smartmontools for a
new SATA/libata device type <tt>'-d sata'</tt>.
</p>
<hr size="2" /><a name="differfromsmartsuite"></a><b>How does
smartmontools differ from smartsuite?</b>
<p>The smartsuite code was originally developed as a Senior Thesis by
Michael Cornwell at the Concurrent Systems Laboratory (now part of the
<a href="http://ssrc.soe.ucsc.edu/">Storage Systems Research
Center</a>), Jack Baskin School of Engineering, University of
California, Santa Cruz.
You can find some information about the original smartsuite project here:
<a href="http://www.ucsc.edu/news_events/press_releases/archive/99-00/09-99/smart_software.htm">Press Release 1</a>,
<a href="http://www.santa-cruz.com/archive/1999/September/22/local/stories/5local.htm">Press Release 2</a>,
<a href="http://www.ucsc.edu/currents/99-00/09-27/smart.html">Press Release 3</a>.
</p>
<p>Smartmontools was derived directly from smartsuite.  It differs
from smartsuite in that it supports the ATA/ATAPI-5 standard.  So
for example <tt>smartctl</tt> from smartsuite has no facility for
printing the SMART self-test logs, and doesn't print timestamp
information in the most usable way.  The <tt>smartctl</tt> utility
in smartmontools has added functionality for this (<tt>-q, -l selftest,-S,
-T, -v and -m</tt> options), updated documentation, and also fixes small
technical bugs in smartsuite. [One example: smartsuite does not actually use the
ATA SMART RETURN STATUS command to find out the health status of a disk. It instead tries to infer this from the
SMART Attribute values.]  See the
<a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/smartmontools/sm5/CHANGELOG?rev=HEAD&content-type=text/plain">CHANGELOG</a>
file in CVS for a summary of what's been done.  The <tt>smartd</tt>
utility differs from the smartsuite <tt>smartd</tt> in major ways. 
First, it prints somewhat more informative error messages to the syslog.
  Second, on startup it looks for a configuration file
<tt>/etc/smartd.conf</tt>, and if <tt>smartd</tt> finds this file, it
monitors the list of devices therein, rather than querying all IDE and
SCSI devices on your system.  (If the configuration file does not
exist, then it does query all IDE and SCSI devices.)  Also, it's
a well-behaved daemon and doesn't leave open file descriptors and other
detrius behind.  In addition, the <tt>smartmontools</tt> version of
<tt>smartd</tt> can be instructed (via Directives in the configuration
file) to monitor for changes in a number of different disk properties:
the SMART status, failure or prefailure attributes going below
threshold, new errors appearing in the ATA Error Log or the SMART
Self-Test Log, and so on. <tt>smartd</tt> can also send an email warning or run a
user-specified executable if it detects a problem with the disk.
</p>
<p>The other principle difference is that smartmontools is an OpenSource
development project, meaning that we keep the files in CVS, and that
other developers who wish to contribute can commit changes to the
archive.  If you would like to contribute, please write to to <a href="http://lists.sourceforge.net/mailman/listinfo/smartmontools-support">smartmontools-support</a>.</p>
<p>But the bottom line is that the code in smartmontools is derived
directly from smartsuite and is similar.  The smartsuite package
can be found <a href="http://sourceforge.net/projects/smartsuite/">here</a>.</p>
<hr size="2" /><a name="references"></a><b><big>Useful references on
SMART and the ATA/ATAPI standards</big></b>
<p><big>If you are having trouble understanding the output of smartctl
or smartd, please first read the manual pages:</big></p>
<pre>
man 5 smartd.conf
man 8 smartctl
man 8 smartd
</pre>
<p><big>If you'd like to know more about SMART, then the following
references may be helpful:</big></p>
<ul>
<li>The <a href="http://www.t13.org/project/d1321r1c.pdf"> ATAPI/ATA-5
Revision 1 specification</a> (start with Section 8.41)</li>
<li>The <a href="http://www.t13.org/docs2002/d1410r3b.pdf"> ATAPI/ATA-6
Revision 3b specification</a></li>
<li>The ATAPI/ATA-7
specification (Draft 2a) <a href="http://www.t13.org/docs2003/d1532v1r2a.pdf">Volume 1</a>,
<a href="http://www.t13.org/docs2003/d1532v2r2a.pdf">Volume 2</a>,
<a href="http://www.t13.org/docs2003/d1532v3r2a.pdf">Volume 3</a></li>
<li><a href="http://www.t13.org/#FTP_site">Earlier revisions
of the ATAPI/ATA Specs</a></li>
<li>SCSI References:
<ul>
<li>The <a href="http://www.t10.org">homepage of the T10 project</a>.</li>
<li>The <a href="ftp://ftp.t10.org/t10/drafts/s2/">SCSI-2 draft</a> by the T10 project.</li>
<li>See also other subdirectories <a href="ftp://ftp.t10.org/t10/drafts/">here</a>.</li>
</ul>
</li>
<li>
The original SMART specification is SFF-8035i from the <a href="http://www.sffcommittee.com/ns/">
Small Form Factors (SFF) Committee</a>. 
<ul>
<li>
Here is the SFF <a href="ftp://ftp.seagate.com/sff/INF-8035.TXT"> "link"</a>
(they have "expired" the document).
</li>
<li>
Version 1.0 of <a href="ftp://ftp.ds2.pg.gda.pl/pub/macro/S.M.A.R.T./SFF-8035i.pdf">
SFF-8035i "Self-Monitoring, Analysis and Reporting Technology (S.M.A.R.T.)". </a>
</li>
<li>
Revision 2.0 of <a href="ftp://ftp.ds2.pg.gda.pl/pub/macro/S.M.A.R.T./8035R2_0.PDF">
SFF-8035i "Self-Monitoring, Analysis and Reporting Technology (S.M.A.R.T.)". </a>
</li>
<li>
Revision 1.4 of <a href="ftp://ftp.ds2.pg.gda.pl/pub/macro/S.M.A.R.T./8055.PDF">
SFF-8055i "S.M.A.R.T. Applications Guide for the ATA and SCSI Interfaces" </a>
</li>
</ul>
</li>
<li>From the <a href="http://cmrr.ucsd.edu/smart/">UCSD SMART Project</a>:
<ul>
<li><a href="http://cmrr.ucsd.edu/smart/tech_papr/HamerlySmartPaper.pdf">Bayesian
Approaches to Failure Prediction for Disk Drives</a></li>
<li><a href="http://cmrr.ucsd.edu/smart/tech_papr/SmtPapTransReliFinalWeb.pdf">Improved
Disk-Drive Failure Warnings</a></li>
</ul>
</li>
<li>From the Seagate Corporation:
<ul>
<li><a href="http://www.seagate.com/newsinfo/docs/disc/drive_reliability.pdf" target="_blank">Estimating Drive Reliability in Desktop Computers and
Consumer Electronics Systems</a></li>
<li><a href="http://www.seagate.com/docs/pdf/whitepaper/enhanced_smart.pdf" target="_blank">Enhanced SMART - Get SMART For Reliability</a></li>
<li><a href="http://www.seagate.com/docs/pdf/whitepaper/smart_u8.pdf" target="_blank">Playing it SMART</a></li>
<li><a href="http://www.seagate.com/docs/pdf/whitepaper/Enhanced_DST_Tech_Paper.pdf" target="_blank">Enhanced Drive Self-Test</a></li>
</ul>
</li>
<li><a href="http://www.maxtor.com/products/DiamondMax/software/maxsafe.pdf" target="_blank">Drive reliability and safety system: MaxSafe</a> (Maxtor)</li>
<li><u>Specifying Reliability in the Disk Drive Industry: No More
MTBF's</u>, Jon G. Elerath (IBM Storage Systems Division) in
<i>Proceedings of the IEEE 2000 Annual Reliability and Maintainability
Symposium, pg 194, 0-7803-5848-1/00/$10.00.</i></li>
</ul>
<hr size="2" /><a name="sampleoutput"></a><b>Example output
from smartmontools smartctl utility:</b>
<ul>
<li><a href="examples/MAXTOR-0.txt">MAXTOR 4K080H4</a> 80 GB 5400 RPM</li>
<li><a href="examples/MAXTOR-1.txt">MAXTOR 4K080H4</a> 80 GB 5400 RPM (has failing SMART status - reallocated sector count)</li>
<li><a href="examples/MAXTOR-2.txt">MAXTOR 4K080H4</a> 80 GB 5400 RPM (has had failing SMART test in the past. Look at the Seek Error Rate)</li>
<li><a href="examples/MAXTOR-7.txt">MAXTOR 4K080H4</a> 80 GB 5400 RPM (has failing SMART status, some failed self-tests)</li>
<li><a href="examples/MAXTOR-8.txt">MAXTOR 4K080H4</a> 80 GB 5400 RPM (has failing SMART status - calibration retry count)</li>
<li><a href="examples/MAXTOR-9.txt">MAXTOR 4K080H4</a> 80 GB 5400 RPM (has failing SMART status - calibration retry count)</li>
<li><a href="examples/MAXTOR-10.txt">MAXTOR 4K080H4</a> 80 GB 5400 RPM (failing self-tests. Note Current_Pending_Sector raw value and Uncorrectable (UNC) read errors)</li>
<li><a href="examples/MAXTOR-3.txt">MAXTOR 6L080J4</a> 80 GB 7200 RPM</li>
<li><a href="examples/MAXTOR-4.txt">MAXTOR 6L080J4</a> 80 GB 7200 RPM</li>
<li><a href="examples/Maxtor-5.txt">Maxtor 98196H8</a> 80 GB 5400 RPM</li>
<li><a href="examples/MAXTOR-6.txt">Maxtor 4R080J0</a> Note: Attribute 9 (lifetime) stored in minutes!</li>
<li><a href="examples/IC35L120AVVA07-0-0.txt">IBM IC35L120AVVA07 (GXP 120 series)</a> 120 GB 7200 RPM (note 3 temperatures)</li>
<li><a href="examples/IC35L120AVVA07-0-1.txt">IBM IC35L120AVVA07 (GXP 120 series)</a> 120 GB 7200 RPM (note 3 temperatures)</li>
<li><a href="examples/IC35L120AVV207-0.txt">IBM IC35L120AVV207 (GXP 180 series)</a> 120 GB 7200 RPM (note 3 temperatures)</li>
<li><a href="examples/HITACHI_DK23BA-20-0.txt">HITACHI_DK23BA-20</a> Hitachi 20 GB Laptop Disk</li>
<li><a href="examples/TOSHIBA-0.txt">TOSHIBA MK2018GAS</a> Toshiba 20 GB Laptop Disk</li>
<li><a href="examples/TOSHIBA-MK6021GAS.txt">TOSHIBA MK6021GAS</a> Toshiba 60 GB Laptop Disk (note 3 temperatures)</li>
<li><a href="examples/FUJITSU1.txt">Fujitsu MHR2040AT</a> Fujitsu Laptop Disk (has failing SMART status - write error count)</li>
</ul>
<hr size="2" />
Maintained by: <a href="mailto:smartmontools-support@lists.sourceforge.net">Bruce Allen</a><br />
Last updated: <tt>$Date: 2003/11/16 06:19:03 $</tt><br />
CVS tag: <tt>$Id: index.html,v 1.104 2003/11/16 06:19:03 ballen4705 Exp $</tt>
<hr size="2" />
<div align="center">Hosted by</div>
<div align="center"><a href="http://sourceforge.net/"><img style="border:0;width=:88px;height:31px"
src="http://sourceforge.net/sflogo.php?group_id=64297&type=5" alt="SourceForge.net" /></a></div>
<br />
<div align="center"><a href="http://validator.w3.org/check/referer"><img style="border:0;width=:88px;height:31px"
src="http://www.w3.org/Icons/valid-xhtml10.png" alt="Valid XHTML 1.0!" /></a></div>
<br />
<div align="center"><a href="http://validator.w3.org/check?uri=http%3A%2F%2Fsmartmontools.sourceforge.net">
Validate XHTML 1.0 Transitional.</a></div>
</body>
</html>