]> git.proxmox.com Git - mirror_smartmontools-debian.git/blob - smartctl.8.in
Updated changelog
[mirror_smartmontools-debian.git] / smartctl.8.in
1 .ig
2 Copyright (C) 2002-10 Bruce Allen <smartmontools-support@lists.sourceforge.net>
3
4 $Id: smartctl.8.in 3530 2012-03-27 19:54:06Z chrfranke $
5
6 This program is free software; you can redistribute it and/or modify it
7 under the terms of the GNU General Public License as published by the Free
8 Software Foundation; either version 2, or (at your option) any later
9 version.
10
11 You should have received a copy of the GNU General Public License (for
12 example COPYING); if not, write to the Free Software Foundation, Inc., 675
13 Mass Ave, Cambridge, MA 02139, USA.
14
15 This code was originally developed as a Senior Thesis by Michael Cornwell
16 at the Concurrent Systems Laboratory (now part of the Storage Systems
17 Research Center), Jack Baskin School of Engineering, University of
18 California, Santa Cruz. http://ssrc.soe.ucsc.edu/
19
20 ..
21 .TH SMARTCTL 8 CURRENT_SVN_DATE CURRENT_SVN_VERSION CURRENT_SVN_DATE
22 .SH NAME
23 \fBsmartctl\fP \- Control and Monitor Utility for SMART Disks
24
25 .SH SYNOPSIS
26 .B smartctl [options] device
27
28 .\" %IF NOT OS Windows
29 .SH FULL PATH
30 .B /usr/local/sbin/smartctl
31
32 .\" %ENDIF NOT OS Windows
33 .SH PACKAGE VERSION
34 CURRENT_SVN_VERSION CURRENT_SVN_DATE CURRENT_SVN_REV
35
36 .SH DESCRIPTION
37 .\" %IF NOT OS ALL
38 .\"! [This man page is generated for the OS_MAN_FILTER version of smartmontools.
39 .\"! It does not contain info specific to other platforms.]
40 .\"! .PP
41 .\" %ENDIF NOT OS ALL
42 \fBsmartctl\fP controls the Self\-Monitoring, Analysis and Reporting
43 Technology (SMART) system built into many ATA\-3 and later ATA, IDE and
44 SCSI\-3 hard drives. The purpose of SMART is to monitor the reliability
45 of the hard drive and predict drive failures, and to carry out
46 different types of drive self\-tests. This version of \fBsmartctl\fP
47 is compatible with ATA/ATAPI\-7 and earlier standards (see REFERENCES
48 below)
49
50 \fBsmartctl\fP is a command line utility designed to perform SMART
51 tasks such as printing the SMART self\-test and error logs, enabling
52 and disabling SMART automatic testing, and initiating device
53 self\-tests. Note: if the user issues a SMART command that is
54 (apparently) not implemented by the device, \fBsmartctl\fP will print
55 a warning message but issue the command anyway (see the \fB\-T,
56 \-\-tolerance\fP option below). This should not cause problems: on
57 most devices, unimplemented SMART commands issued to a drive are
58 ignored and/or return an error.
59
60 \fBsmartctl\fP also provides support for polling TapeAlert messages
61 from SCSI tape drives and changers.
62
63 The user must specify the device to be controlled or interrogated as
64 the final argument to \fBsmartctl\fP. The command set used by the device
65 is often derived from the device path but may need help with the \'\-d\'
66 option (for more information see the section on "ATA, SCSI command sets
67 and SAT" below). Device paths are as follows:
68 .\" %IF OS Linux
69 .IP \fBLINUX\fP: 9
70 Use the forms \fB"/dev/hd[a\-t]"\fP for IDE/ATA devices, and
71 \fB"/dev/sd[a\-z]"\fP for SCSI devices. For SCSI Tape Drives and
72 Changers with TapeAlert support use the devices \fB"/dev/nst*"\fP and
73 \fB"/dev/sg*"\fP. For SATA disks accessed with libata, use
74 \fB"/dev/sd[a\-z]"\fP and append \fB"\-d ata"\fP. For disks behind
75 3ware controllers you may need \fB"/dev/sd[a\-z]"\fP or
76 \fB"/dev/twe[0\-9]"\fP, \fB"/dev/twa[0\-9]"\fP or \fB"/dev/twl[0\-9]"\fP: see details
77 below. For disks behind HighPoint RocketRAID controllers you may need
78 \fB"/dev/sd[a\-z]"\fP. For disks behind Areca SATA RAID controllers,
79 you need \fB"/dev/sg[2\-9]"\fP (note that smartmontools interacts with
80 the Areca controllers via a SCSI generic device which is different
81 than the SCSI device used for reading and writing data)!
82 .\" %ENDIF OS Linux
83 .\" %IF OS Darwin
84 .IP \fBDARWIN\fP: 9
85 Use the forms \fB/dev/disk[0\-9]\fP or equivalently \fBdisk[0\-9]\fP or equivalently
86 \fB/dev/rdisk[0\-9]\fP. Long forms are also available: please use \'\-h\' to see some
87 examples. Note that there is currently no Darwin SCSI support.
88 .\" %ENDIF OS Darwin
89 .\" %IF OS FreeBSD
90 .IP \fBFREEBSD\fP: 9
91 Use the forms \fB"/dev/ad[0\-9]+"\fP for IDE/ATA
92 devices and \fB"/dev/da[0\-9]+"\fP or \fB"/dev/pass[0\-9]+"\fP for SCSI devices.
93 For SATA devices on AHCI bus use \fB"/dev/ada[0\-9]+"\fP format.
94 .\" %ENDIF OS FreeBSD
95 .\" %IF OS NetBSD OpenBSD
96 .IP \fBNETBSD/OPENBSD\fP: 9
97 Use the form \fB"/dev/wd[0\-9]+c"\fP for IDE/ATA
98 devices. For SCSI disk and tape devices, use the device names
99 \fB"/dev/sd[0\-9]+c"\fP and \fB"/dev/st[0\-9]+c"\fP respectively.
100 Be sure to specify the correct "whole disk" partition letter for
101 your architecture.
102 .\" %ENDIF OS NetBSD OpenBSD
103 .\" %IF OS Solaris
104 .IP \fBSOLARIS\fP: 9
105 Use the forms \fB"/dev/rdsk/c?t?d?s?"\fP for IDE/ATA and SCSI disk
106 devices, and \fB"/dev/rmt/*"\fP for SCSI tape devices.
107 .\" %ENDIF OS Solaris
108 .\" %IF OS Windows
109 .IP \fBWINDOWS\ 9x/ME\fP: 9
110 Use the forms \fB"/dev/hd[a\-d]"\fP for standard IDE/ATA devices
111 accessed via SMARTVSD.VXD, and \fB"/dev/hd[e\-h]"\fP for additional devices
112 accessed via a patched SMARTVSE.VXD (see INSTALL file for details).
113 Use the form \fB"/dev/scsi[0\-9][0\-f]"\fP for SCSI devices via an aspi dll
114 on ASPI adapter 0\-9, ID 0\-15. The prefix \fB"/dev/"\fP is optional.
115 .\" %ENDIF OS Windows
116 .\" %IF OS Windows Cygwin
117 .IP \fBWINDOWS\ NT4/2000/XP/2003/Vista/Win7/2008\fP: 9
118 Use the forms \fB"/dev/sd[a\-z]"\fP for IDE/(S)ATA and SCSI disks
119 "\\\\.\\PhysicalDrive[0\-25]" (where "a" maps to "0").
120 These disks can also be referred to as \fB"/dev/pd[0\-255]"\fP for
121 "\\\\.\\PhysicalDrive[0\-255]".
122 ATA disks can also be referred to as \fB"/dev/hd[a\-z]"\fP for
123 "\\\\.\\PhysicalDrive[0\-25]".
124 Use one the forms \fB"/dev/tape[0\-255]"\fP, \fB"/dev/st[0\-255]"\fP,
125 or \fB"/dev/nst[0\-255]"\fP for SCSI tape drives "\\\\.\\Tape[0\-255]".
126
127 Alternatively, drive letters \fB"X:"\fP or \fB"X:\\"\fP may be used to
128 specify the (\'basic\') disk behind a mounted partition. This does
129 not work with \'dynamic\' disks.
130
131 For disks behind 3ware 9000 controllers use \fB"/dev/sd[a\-z],N"\fP where
132 N specifies the disk number (3ware \'port\') behind the controller
133 providing the logical drive (\'unit\') specified by \fB"/dev/sd[a\-z]"\fP.
134 Alternatively, use \fB"/dev/tw_cli/cx/py"\fP for controller x, port y
135 to run the \'tw_cli\' tool and parse the output. This provides limited
136 monitoring (\'\-i\', \'\-c\', \'\-A\' below) if SMART support is missing
137 in the driver. Use \fB"/dev/tw_cli/stdin"\fP or \fB"/dev/tw_cli/clip"\fP
138 to parse CLI or 3DM output from standard input or clipboard.
139 The option \'\-d 3ware,N\' is not necessary on Windows.
140
141 [NEW EXPERIMENTAL SMARTCTL FEATURE] For disks behind Intel Matrix RAID
142 driver use \fB"/dev/csmi[0\-9],N"\fP where N specifies the port behind
143 the logical scsi controller "\\\\.\\Scsi[0\-9]:".
144 The prefix \fB"/dev/"\fP is optional.
145 .\" %ENDIF OS Windows Cygwin
146 .\" %IF OS Cygwin
147 .IP \fBCYGWIN\fP: 9
148 See "WINDOWS NT4/2000/XP/2003/Vista/Win7/2008" above.
149 .\" %ENDIF OS Cygwin
150 .\" %IF OS OS2
151 .IP \fBOS/2,eComStation\fP: 9
152 Use the form \fB"/dev/hd[a\-z]"\fP for IDE/ATA devices.
153 .\" %ENDIF OS OS2
154 .PP
155 if \'\-\' is specified as the device path, \fBsmartctl\fP reads and
156 interprets it's own debug output from standard input.
157 See \'\-r ataioctl\' below for details.
158 .PP
159 Based on the device path, \fBsmartctl\fP will guess the device type
160 (ATA or SCSI). If necessary, the \'\-d\' option can be used to over\-ride
161 this guess
162
163 Note that the printed output of \fBsmartctl\fP displays most numerical
164 values in base 10 (decimal), but some values are displayed in base 16
165 (hexadecimal). To distinguish them, the base 16 values are always
166 displayed with a leading \fB"0x"\fP, for example: "0xff". This man
167 page follows the same convention.
168
169 .PP
170 .SH OPTIONS
171 .PP
172 The options are grouped below into several categories. \fBsmartctl\fP
173 will execute the corresponding commands in the order: INFORMATION,
174 ENABLE/DISABLE, DISPLAY DATA, RUN/ABORT TESTS.
175
176 .TP
177 .B SHOW INFORMATION OPTIONS:
178 .TP
179 .B \-h, \-\-help, \-\-usage
180 Prints a usage message to STDOUT and exits.
181 .TP
182 .B \-V, \-\-version, \-\-copyright, \-\-license
183 Prints version, copyright, license, home page and SVN revision
184 information for your copy of \fBsmartctl\fP to STDOUT and then exits.
185 Please include this information if you are reporting bugs or problems.
186 .TP
187 .B \-i, \-\-info
188 Prints the device model number, serial number, firmware version, and
189 ATA Standard version/revision information. Says if the device
190 supports SMART, and if so, whether SMART support is currently enabled
191 or disabled. If the device supports Logical Block Address mode (LBA
192 mode) print current user drive capacity in bytes. (If drive is has a
193 user protected area reserved, or is "clipped", this may be smaller
194 than the potential maximum drive capacity.) Indicates if the drive is
195 in the smartmontools database (see \'\-v\' options below). If so, the
196 drive model family may also be printed. If \'\-n\' (see below) is
197 specified, the power mode of the drive is printed.
198 .TP
199 .B \-a, \-\-all
200 Prints all SMART information about the disk, or TapeAlert information
201 about the tape drive or changer. For ATA devices this is equivalent
202 to
203 .nf
204 \'\-H \-i \-c \-A \-l error \-l selftest \-l selective\'
205 .fi
206 and for SCSI, this is equivalent to
207 .nf
208 \'\-H \-i \-A \-l error \-l selftest\'.
209 .fi
210 Note that for ATA disks this does \fBnot\fP enable the non-SMART options
211 and the SMART options which require support for 48-bit ATA commands.
212 .TP
213 .B \-x, \-\-xall
214 Prints all SMART and non-SMART information about the device. For ATA
215 devices this is equivalent to
216 .nf
217 \'\-H \-i \-g all \-c \-A \-f brief \-l xerror,error \-l xselftest,selftest
218 \-l selective \-l directory \-l scttemp \-l scterc \-l sataphy\'.
219 .fi
220 and for SCSI, this is equivalent to
221 .nf
222 \'\-H \-i \-A \-l error \-l selftest \-l background \-l sasphy\'.
223 .fi
224 .TP
225 .B \-\-scan
226 Scans for devices and prints each device name, device type and protocol
227 ([ATA] or [SCSI]) info. May be used in conjunction with \'\-d TYPE\'
228 to restrict the scan to a specific TYPE. See also info about platform
229 specific device scan and the \fBDEVICESCAN\fP directive on
230 \fBsmartd\fP(8) man page.
231 .TP
232 .B \-\-scan\-open
233 Same as \-\-scan, but also tries to open each device before printing
234 device info. The device open may change the device type due
235 to autodetection (see also \'\-d test\').
236
237 This option can be used to create a draft \fBsmartd.conf\fP file.
238 All options after \'\-\-\' are appended to each output line.
239 For example:
240 .nf
241 smartctl --scan-open -- -a -W 4,45,50 -m admin@work > smartd.conf
242 .fi
243 .TP
244 .B \-g NAME, \-\-get=NAME
245 Get non\-SMART device settings. See \'\-s, \-\-set\' below for further info.
246
247 .TP
248 .B RUN\-TIME BEHAVIOR OPTIONS:
249 .TP
250 .B \-q TYPE, \-\-quietmode=TYPE
251 Specifies that \fBsmartctl\fP should run in one of the two quiet modes
252 described here. The valid arguments to this option are:
253
254 .I errorsonly
255 \- only print: For the \'\-l error\' option, if nonzero, the number
256 of errors recorded in the SMART error log and the power\-on time when
257 they occurred; For the \'\-l selftest\' option, errors recorded in the device
258 self\-test log; For the \'\-H\' option, SMART "disk failing" status or device
259 Attributes (pre\-failure or usage) which failed either now or in the
260 past; For the \'\-A\' option, device Attributes (pre\-failure or usage)
261 which failed either now or in the past.
262
263 .I silent
264 \- print no output. The only way to learn about what was found is to
265 use the exit status of \fBsmartctl\fP (see RETURN VALUES below).
266
267 .I noserial
268 \- Do not print the serial number of the device.
269 .TP
270 .B \-d TYPE, \-\-device=TYPE
271 Specifies the type of the device.
272 The valid arguments to this option are:
273
274 .I auto
275 - attempt to guess the device type from the device name or from
276 controller type info provided by the operating system or from
277 a matching USB ID entry in the drive database.
278 This is the default.
279
280 .I test
281 - prints the guessed type, then opens the device and prints the
282 (possibly changed) TYPE name and then exists without performing
283 any further commands.
284
285 .I ata
286 \- the device type is ATA. This prevents
287 \fBsmartctl\fP
288 from issuing SCSI commands to an ATA device.
289
290 .\" %IF NOT OS Darwin
291 .I scsi
292 \- the device type is SCSI. This prevents
293 \fBsmartctl\fP
294 from issuing ATA commands to a SCSI device.
295
296 .I sat[,auto][,N]
297 \- the device type is SCSI to ATA Translation (SAT).
298 This is for ATA disks that have a SCSI to ATA Translation (SAT) Layer
299 (SATL) between the disk and the operating system.
300 SAT defines two ATA PASS THROUGH SCSI commands, one 12 bytes long and
301 the other 16 bytes long. The default is the 16 byte variant which can be
302 overridden with either \'\-d sat,12\' or \'\-d sat,16\'.
303
304 If \'-d sat,auto\' is specified, device type SAT (for ATA/SATA disks) is
305 only used if the SCSI INQUIRY data reports a SATL (VENDOR: "ATA ").
306 Otherwise device type SCSI (for SCSI/SAS disks) is used.
307
308 .I usbcypress
309 \- this device type is for ATA disks that are behind a Cypress USB to PATA
310 bridge. This will use the ATACB proprietary scsi pass through command.
311 The default SCSI operation code is 0x24, but although it can be overridden
312 with \'\-d usbcypress,0xN\', where N is the scsi operation code,
313 you're running the risk of damage to the device or filesystems on it.
314
315 .I usbjmicron
316 - this device type is for SATA disks that are behind a JMicron USB to
317 PATA/SATA bridge. The 48-bit ATA commands (required e.g. for \'\-l xerror\',
318 see below) do not work with all of these bridges and are therefore disabled by
319 default. These commands can be enabled by \'\-d usbjmicron,x\'.
320 If two disks are connected to a bridge with two ports, an error message is printed
321 if no PORT is specified.
322 The port can be specified by \'\-d usbjmicron[,x],PORT\' where PORT is 0
323 (master) or 1 (slave). This is not necessary if the device uses a port
324 multiplier to connect multiple disks to one port. The disks appear under
325 separate /dev/ice names then.
326 CAUTION: Specifying \',x\' for a device which does not support it results
327 in I/O errors and may disconnect the drive. The same applies if the specified
328 PORT does not exist or is not connected to a disk.
329
330 .I usbsunplus
331 \- this device type is for SATA disks that are behind a SunplusIT USB to SATA
332 bridge.
333
334 .\" %ENDIF NOT OS Darwin
335 .\" %IF OS Linux
336 .I marvell
337 \- [Linux only] interact with SATA disks behind Marvell chip-set
338 controllers (using the Marvell rather than libata driver).
339
340 .I megaraid,N
341 \- [Linux only] the device consists of one or more SCSI/SAS disks connected
342 to a MegaRAID controller. The non-negative integer N (in the range of 0 to
343 127 inclusive) denotes which disk on the controller is monitored.
344 Use syntax such as:
345 .nf
346 \fBsmartctl \-a \-d megaraid,2 /dev/sda\fP
347 .fi
348 .nf
349 \fBsmartctl \-a \-d megaraid,0 /dev/sdb\fP
350 .fi
351 This interface will also work for Dell PERC controllers.
352 The following /dev/XXX entry must exist:
353 .fi
354 For PERC2/3/4 controllers: \fB/dev/megadev0\fP
355 .fi
356 For PERC5/6 controllers: \fB/dev/megaraid_sas_ioctl_node\fP
357
358 .\" %ENDIF OS Linux
359 .\" %IF OS FreeBSD Linux
360 .I 3ware,N
361 \- [FreeBSD and Linux only] the device consists of one or more ATA disks
362 connected to a 3ware RAID controller. The non-negative integer N
363 (in the range from 0 to 127 inclusive) denotes which disk on the controller
364 is monitored.
365 Use syntax such as:
366 .nf
367 \fBsmartctl \-a \-d 3ware,2 /dev/sda\fP
368 .fi
369 .nf
370 \fBsmartctl \-a \-d 3ware,0 /dev/twe0\fP
371 .fi
372 .nf
373 \fBsmartctl \-a \-d 3ware,1 /dev/twa0\fP
374 .fi
375 .nf
376 \fBsmartctl \-a \-d 3ware,1 /dev/twl0\fP
377 .fi
378 The first two forms, which refer to devices /dev/sda\-z and /dev/twe0\-15,
379 may be used with 3ware series 6000, 7000, and 8000 series controllers
380 that use the 3x\-xxxx driver.
381 \fBNote that the /dev/sda\-z form is deprecated\fP starting with
382 the Linux 2.6 kernel series and may not be supported by the Linux
383 kernel in the near future. The final form, which refers to devices
384 /dev/twa0\-15, must be used with 3ware 9000 series controllers, which
385 use the 3w\-9xxx driver.
386
387 The devices /dev/twl0\-15 must be used with the 3ware/LSI 9750 series
388 controllers which use the 3w-sas driver.
389
390 Note that if the special character device nodes /dev/twl?, /dev/twa?
391 and /dev/twe? do not exist, or exist with the incorrect major or minor
392 numbers, smartctl will recreate them on the fly. Typically /dev/twa0
393 refers to the first 9000\-series controller, /dev/twa1 refers to the
394 second 9000 series controller, and so on. The /dev/twl0 devices refers
395 to the first 9750 series controller, /dev/twl1 resfers to the second
396 9750 series controller, and so on. Likewise /dev/twe0 refers to
397 the first 6/7/8000\-series controller, /dev/twe1 refers to the second
398 6/7/8000 series controller, and so on.
399
400 Note that for the 6/7/8000 controllers, \fBany\fP of the physical
401 disks can be queried or examined using \fBany\fP of the 3ware's SCSI
402 logical device /dev/sd? entries. Thus, if logical device /dev/sda is
403 made up of two physical disks (3ware ports zero and one) and logical
404 device /dev/sdb is made up of two other physical disks (3ware ports
405 two and three) then you can examine the SMART data on \fBany\fP of the
406 four physical disks using \fBeither\fP SCSI device /dev/sda \fBor\fP
407 /dev/sdb. If you need to know which logical SCSI device a particular
408 physical disk (3ware port) is associated with, use the dmesg or SYSLOG
409 output to show which SCSI ID corresponds to a particular 3ware unit,
410 and then use the 3ware CLI or 3dm tool to determine which ports
411 (physical disks) correspond to particular 3ware units.
412
413 If the value of N corresponds to a port that does \fBnot\fP exist on
414 the 3ware controller, or to a port that does not physically have a
415 disk attached to it, the behavior of \fBsmartctl\fP depends upon the
416 specific controller model, firmware, Linux kernel and platform. In
417 some cases you will get a warning message that the device does not
418 exist. In other cases you will be presented with \'void\' data for a
419 non\-existent device.
420
421 Note that if the /dev/sd? addressing form is used, then older 3w\-xxxx
422 drivers do not pass the "Enable Autosave"
423 (\'\fB\-S on\fP\') and "Enable Automatic Offline" (\'\fB\-o on\fP\')
424 commands to the disk, and produce these types of harmless syslog error
425 messages instead: "\fB3w\-xxxx: tw_ioctl(): Passthru size (123392) too
426 big\fP". This can be fixed by upgrading to version 1.02.00.037 or
427 later of the 3w\-xxxx driver, or by applying a patch to older
428 versions. Alternatively, use the character device /dev/twe0\-15 interface.
429
430 The selective self\-test functions (\'\-t select,A\-B\') are only supported
431 using the character device interface /dev/twl0\-15, /dev/twa0\-15 and /dev/twe0\-15.
432 The necessary WRITE LOG commands can not be passed through the SCSI
433 interface.
434
435 .\" %ENDIF OS FreeBSD Linux
436 .\" %IF OS Linux FreeBSD
437 .I areca,N
438 \- [Linux and FreeBSD only] the device consists of one or more SATA disks connected to an
439 Areca SATA RAID controller. The positive integer N (in the range from 1 to
440 24 inclusive) denotes which disk on the controller is monitored.
441 .\" %ENDIF OS Linux FreeBSD
442 .\" %IF OS Linux
443 On Linux use syntax such as:
444 .nf
445 \fBsmartctl \-a \-d areca,2 /dev/sg2\fP
446 .fi
447 .nf
448 \fBsmartctl \-a \-d areca,3 /dev/sg3\fP
449 .fi
450 .\" %ENDIF OS Linux
451 .\" %IF OS FreeBSD
452 On FreeBSD use syntax such as:
453 .nf
454 \fBsmartctl \-a \-d areca,2 /dev/arcmsr1\fP
455 .fi
456 .nf
457 \fBsmartctl \-a \-d areca,3 /dev/arcmsr2\fP
458 .fi
459 .\" %ENDIF OS FreeBSD
460 The first line above addresses the second disk on the first Areca RAID controller.
461 The second line addresses the third disk on the second Areca RAID
462 controller.
463 .\" %IF OS Linux
464 To help identify the correct device on Linus, use the command:
465 .nf
466 \fBcat /proc/scsi/sg/device_hdr /proc/scsi/sg/devices\fP
467 .fi
468 to show the SCSI generic devices (one per line, starting with
469 /dev/sg0). The correct SCSI generic devices to address for
470 smartmontools are the ones with the type field equal to 3. If the
471 incorrect device is addressed, please read the warning/error messages
472 carefully. They should provide hints about what devices to use.
473 .\" %ENDIF OS Linux
474
475 .\" %IF OS Linux FreeBSD
476 Important: the Areca controller must have firmware version 1.46 or
477 later. Lower-numbered firmware versions will give (harmless) SCSI
478 error messages and no SMART information.
479
480 .\" %ENDIF OS Linux FreeBSD
481 .\" %IF OS FreeBSD Linux
482 .I cciss,N
483 \- [FreeBSD and Linux only] the device consists of one or more SCSI/SAS disks
484 connected to a cciss RAID controller. The non-negative integer N (in the range
485 from 0 to 15 inclusive) denotes which disk on the controller is monitored.
486
487 If the controller firmware or driver provides a SAT Layer it may be possible
488 to monitor also SATA disks by specifiying \'\-d sat+cciss,N\'.
489
490 .I hpt,L/M/N
491 \- [FreeBSD and Linux only] the device consists of one or more ATA disks
492 connected to a HighPoint RocketRAID controller. The integer L is the
493 controller id, the integer M is the channel number, and the integer N
494 is the PMPort number if it is available. The allowed values of L are
495 from 1 to 4 inclusive, M are from 1 to 16 inclusive and N from 1 to 4
496 if PMPort available. And also these values are limited by the model
497 of the HighPoint RocketRAID controller.
498 Use syntax such as:
499 .\" %ENDIF OS FreeBSD Linux
500 .\" %IF OS Linux
501 .nf
502 \fBsmartctl \-a \-d hpt,1/3 /dev/sda\fP (under Linux)
503 .fi
504 .nf
505 \fBsmartctl \-a \-d hpt,1/2/3 /dev/sda\fP (under Linux)
506 .fi
507 .\" %ENDIF OS Linux
508 .\" %IF OS FreeBSD
509 .nf
510 \fBsmartctl \-a \-d hpt,1/3 /dev/hptrr\fP (under FreeBSD)
511 .fi
512 .nf
513 \fBsmartctl \-a \-d hpt,1/2/3 /dev/hptrr\fP (under FreeBSD)
514 .fi
515 .\" %ENDIF OS FreeBSD
516 .\" %IF OS FreeBSD Linux
517 Note that the /dev/sda\-z form should be the device node which stands for
518 the disks derived from the HighPoint RocketRAID controllers under Linux and
519 under FreeBSD, it is the character device which the driver registered (eg,
520 /dev/hptrr, /dev/hptmv6).
521 .\" %ENDIF OS FreeBSD Linux
522 .TP
523 .B \-T TYPE, \-\-tolerance=TYPE
524 [ATA only] Specifies how tolerant \fBsmartctl\fP should be of ATA and SMART
525 command failures.
526
527 The behavior of \fBsmartctl\fP depends upon whether the command is
528 "\fBoptional\fP" or "\fBmandatory\fP". Here "\fBmandatory\fP" means
529 "required by the ATA/ATAPI\-5 Specification if the device implements
530 the SMART command set" and "\fBoptional\fP" means "not required by the
531 ATA/ATAPI\-5 Specification even if the device implements the SMART
532 command set." The "\fBmandatory\fP" ATA and SMART commands are: (1)
533 ATA IDENTIFY DEVICE, (2) SMART ENABLE/DISABLE ATTRIBUTE AUTOSAVE, (3)
534 SMART ENABLE/DISABLE, and (4) SMART RETURN STATUS.
535
536 The valid arguments to this option are:
537
538 .I normal
539 \- exit on failure of any \fBmandatory\fP SMART command, and ignore
540 all failures of \fBoptional\fP SMART commands. This is the default.
541 Note that on some devices, issuing unimplemented optional SMART
542 commands doesn\'t cause an error. This can result in misleading
543 \fBsmartctl\fP messages such as "Feature X not implemented", followed
544 shortly by "Feature X: enabled". In most such cases, contrary to the
545 final message, Feature X is \fBnot\fP enabled.
546
547 .I conservative
548 \- exit on failure of any \fBoptional\fP SMART command.
549
550 .I permissive
551 \- ignore failure(s) of \fBmandatory\fP SMART commands. This option
552 may be given more than once. Each additional use of this option will
553 cause one more additional failure to be ignored. Note that the use of
554 this option can lead to messages like "Feature X not implemented",
555 followed shortly by "Error: unable to enable Feature X". In a few
556 such cases, contrary to the final message, Feature X \fBis\fP enabled.
557
558 .I verypermissive
559 \- equivalent to giving a large number of \'\-T permissive\' options:
560 ignore failures of \fBany number\fP of \fBmandatory\fP SMART commands.
561 Please see the note above.
562 .TP
563 .B \-b TYPE, \-\-badsum=TYPE
564 [ATA only] Specifies the action \fBsmartctl\fP should take if a checksum
565 error is detected in the: (1) Device Identity Structure, (2) SMART
566 Self\-Test Log Structure, (3) SMART Attribute Value Structure, (4) SMART
567 Attribute Threshold Structure, or (5) ATA Error Log Structure.
568
569 The valid arguments to this option are:
570
571 .I warn
572 \- report the incorrect checksum but carry on in spite of it. This is the
573 default.
574
575 .I exit
576 \- exit \fBsmartctl\fP.
577
578 .I ignore
579 \- continue silently without issuing a warning.
580 .TP
581 .B \-r TYPE, \-\-report=TYPE
582 Intended primarily to help \fBsmartmontools\fP developers understand
583 the behavior of \fBsmartmontools\fP on non\-conforming or poorly
584 conforming hardware. This option reports details of \fBsmartctl\fP
585 transactions with the device. The option can be used multiple times.
586 When used just once, it shows a record of the ioctl() transactions
587 with the device. When used more than once, the detail of these
588 ioctl() transactions are reported in greater detail. The valid
589 arguments to this option are:
590
591 .I ioctl
592 \- report all ioctl() transactions.
593
594 .I ataioctl
595 \- report only ioctl() transactions with ATA devices.
596
597 .I scsiioctl
598 \- report only ioctl() transactions with SCSI devices. Invoking this once
599 shows the SCSI commands in hex and the corresponding status. Invoking
600 it a second time adds a hex listing of the first 64 bytes of data send to,
601 or received from the device.
602
603 Any argument may include a positive integer to specify the level of detail
604 that should be reported. The argument should be followed by a comma then
605 the integer with no spaces. For example,
606 .I ataioctl,2
607 The default
608 level is 1, so \'\-r ataioctl,1\' and \'\-r ataioctl\' are equivalent.
609
610 For testing purposes, the output of \'\-r ataioctl,2\' can later be parsed
611 by \fBsmartctl\fP itself if \'\-\' is used as device path argument.
612 The ATA command input parameters, sector data and return values are
613 reconstructed from the debug report read from stdin.
614 Then \fBsmartctl\fP internally simulates an ATA device with the same
615 behaviour. This is does not work for SCSI devices yet.
616 .TP
617 .B \-n POWERMODE, \-\-nocheck=POWERMODE
618 [ATA only] Specifies if \fBsmartctl\fP should exit before performing any
619 checks when the device is in a low\-power mode. It may be used to prevent
620 a disk from being spun\-up by \fBsmartctl\fP. The power mode is ignored by
621 default. A nonzero exit status is returned if the device is in one of the
622 specified low\-power modes (see RETURN VALUES below).
623
624 Note: If this option is used it may also be necessary to specify the device
625 type with the \'-d\' option. Otherwise the device may spin up due to
626 commands issued during device type autodetection.
627
628 The valid arguments to this option are:
629
630 .I never
631 \- check the device always, but print the power mode if \'\-i\' is
632 specified.
633
634 .I sleep
635 \- check the device unless it is in SLEEP mode.
636
637 .I standby
638 \- check the device unless it is in SLEEP or STANDBY mode. In
639 these modes most disks are not spinning, so if you want to prevent
640 a disk from spinning up, this is probably what you want.
641
642 .I idle
643 \- check the device unless it is in SLEEP, STANDBY or IDLE mode.
644 In the IDLE state, most disks are still spinning, so this is probably
645 not what you want.
646
647 .TP
648 .B SMART FEATURE ENABLE/DISABLE COMMANDS:
649 .IP
650 .B Note:
651 if multiple options are used to both enable and disable a
652 feature, then
653 .B both
654 the enable and disable commands will be issued. The enable command
655 will always be issued
656 .B before
657 the corresponding disable command.
658 .TP
659 .B \-s VALUE, \-\-smart=VALUE
660 Enables or disables SMART on device. The valid arguments to
661 this option are \fIon\fP and \fIoff\fP. Note that the command \'\-s on\'
662 (perhaps used with with the \'\-o on\' and \'\-S on\' options) should be
663 placed in a start\-up script for your machine, for example in rc.local or
664 rc.sysinit. In principle the SMART feature settings are preserved over
665 power\-cycling, but it doesn\'t hurt to be sure. It is not necessary (or
666 useful) to enable SMART to see the TapeAlert messages.
667 .TP
668 .B \-o VALUE, \-\-offlineauto=VALUE
669 [ATA only] Enables or disables SMART automatic offline test, which scans the
670 drive every four hours for disk defects. This command can be given during
671 normal system operation. The valid arguments to this option are \fIon\fP
672 and \fIoff\fP.
673
674 Note that the SMART automatic offline test command is listed as
675 "Obsolete" in every version of the ATA and ATA/ATAPI Specifications.
676 It was originally part of the SFF\-8035i Revision 2.0 specification,
677 but was never part of any ATA specification. However it is
678 implemented and used by many vendors. [Good documentation can be found
679 in IBM\'s Official Published Disk Specifications. For example the IBM
680 Travelstar 40GNX Hard Disk Drive Specifications (Revision 1.1, 22
681 April 2002, Publication # 1541, Document S07N\-7715\-02) page 164. You
682 can also read the SFF\-8035i Specification \-\- see REFERENCES below.]
683 You can tell if automatic offline testing is supported by seeing if
684 this command enables and disables it, as indicated by the \'Auto
685 Offline Data Collection\' part of the SMART capabilities report
686 (displayed with \'\-c\').
687
688 SMART provides \fBthree\fP basic categories of testing. The
689 \fBfirst\fP category, called "online" testing, has no effect on the
690 performance of the device. It is turned on by the \'\-s on\' option.
691
692 The \fBsecond\fP category of testing is called "offline" testing. This
693 type of test can, in principle, degrade the device performance. The
694 \'\-o on\' option causes this offline testing to be carried out,
695 automatically, on a regular scheduled basis. Normally, the disk will
696 suspend offline testing while disk accesses are taking place, and then
697 automatically resume it when the disk would otherwise be idle, so in
698 practice it has little effect. Note that a one\-time offline test can
699 also be carried out immediately upon receipt of a user command. See
700 the \'\-t offline\' option below, which causes a one\-time offline test
701 to be carried out immediately.
702
703 The choice (made by the SFF\-8035i and ATA specification authors) of
704 the word \fItesting\fP for these first two categories is unfortunate,
705 and often leads to confusion. In fact these first two categories of
706 online and offline testing could have been more accurately described
707 as online and offline \fBdata collection\fP.
708
709 The results of this automatic or immediate offline testing (data
710 collection) are reflected in the values of the SMART Attributes.
711 Thus, if problems or errors are detected, the values of these
712 Attributes will go below their failure thresholds; some types of
713 errors may also appear in the SMART error log. These are visible with
714 the \'\-A\' and \'\-l error\' options respectively.
715
716 Some SMART attribute values are updated only during off\-line data
717 collection activities; the rest are updated during normal operation of
718 the device or during both normal operation and off\-line testing. The
719 Attribute value table produced by the \'\-A\' option indicates this in
720 the UPDATED column. Attributes of the first type are labeled
721 "Offline" and Attributes of the second type are labeled "Always".
722
723 The \fBthird\fP category of testing (and the \fIonly\fP category for
724 which the word \'testing\' is really an appropriate choice) is "self"
725 testing. This third type of test is only performed (immediately) when
726 a command to run it is issued. The \'\-t\' and \'\-X\' options can be
727 used to carry out and abort such self\-tests; please see below for
728 further details.
729
730 Any errors detected in the self testing will be shown in the
731 SMART self\-test log, which can be examined using the \'\-l selftest\'
732 option.
733
734 \fBNote:\fP in this manual page, the word \fB"Test"\fP is used in
735 connection with the second category just described, e.g. for the
736 "offline" testing. The words \fB"Self\-test"\fP are used in
737 connection with the third category.
738 .TP
739 .B \-S VALUE, \-\-saveauto=VALUE
740 [ATA] Enables or disables SMART autosave of device vendor\-specific
741 Attributes. The valid arguments to this option are \fIon\fP
742 and \fIoff\fP. Note that this feature is preserved across disk power
743 cycles, so you should only need to issue it once.
744
745 The ATA standard does not specify a method to check whether SMART
746 autosave is enabled. Unlike SCSI (below), smartctl is unable to print
747 a warning if autosave is disabled.
748
749 [SCSI] For SCSI devices this toggles the value of the Global Logging
750 Target Save Disabled (GLTSD) bit in the Control Mode Page. Some disk
751 manufacturers set this bit by default. This prevents error counters,
752 power\-up hours and other useful data from being placed in non\-volatile
753 storage, so these values may be reset to zero the next time the device
754 is power\-cycled. If the GLTSD bit is set then \'smartctl \-a\' will
755 issue a warning. Use \fIon\fP to clear the GLTSD bit and thus enable
756 saving counters to non\-volatile storage. For extreme streaming\-video
757 type applications you might consider using \fIoff\fP to set the GLTSD
758 bit.
759 .TP
760 .B \-g NAME, \-\-get=NAME, \-s NAME[,VALUE], \-\-set=NAME[,VALUE]
761 [NEW EXPERIMENTAL SMARTCTL FEATURE] Gets/sets non\-SMART device settings.
762 Note that the \'\-\-set\' option shares its short option \'\-s\' with
763 \'\-\-smart\'. Valid arguments are:
764
765 .I all
766 \- Gets all values. This is equivalent to
767 .nf
768 \'-g aam -g apm -g lookahead -g security -g wcache\'
769 .fi
770
771 .I aam[,N|off]
772 \- [ATA only] Gets/sets the Automatic Acoustic Management (AAM) feature
773 (if supported). A value of 128 sets the most quiet (slowest) mode and 254
774 the fastest (loudest) mode, \'off\' disables AAM. Devices may support
775 intermediate levels. Values below 128 are defined as vendor specific (0)
776 or retired (1\-127). Note that the AAM feature was declared obsolete in
777 ATA ACS-2 Revision 4a (Dec 2010).
778
779 .I apm[,N|off]
780 \- [ATA only] Gets/sets the Advanced Power Management (APM) feature on
781 device (if supported). If a value between 1 and 254 is provided, it will
782 attempt to enable APM and set the specified value, \'off\' disables APM.
783 Note the actual behavior depends on the drive, for example some drives disable
784 APM if their value is set above 128. Values below 128 are supposed to allow
785 drive spindown, values 128 and above adjust only head-parking frequency,
786 although the actual behavior defined is also vendor-specific.
787
788 .I lookahead[,on|off]
789 \- [ATA only] Gets/sets the read look-ahead feature (if supported).
790 Read look-ahead is usually enabled by default.
791
792 .I security
793 \- [ATA only] Gets the status of ATA Security feature (if supported).
794 If ATA Security is enabled an ATA user password is set. The drive will be
795 locked on next reset then.
796
797 .I security-freeze
798 \- [ATA only] Sets ATA Security feature to frozen mode. This prevents that
799 the drive accepts any security commands until next reset. Note that the
800 frozen mode may already be set by BIOS or OS.
801
802 .I standby,[N|off]
803 \- [ATA only] Sets the standby (spindown) timer and places the drive in the
804 IDLE mode. A value of 0 or \'off\' disables the standby timer.
805 Values from 1 to 240 specify timeouts from 5 seconds to 20 minutes in 5
806 second increments. Values from 241 to 251 specify timeouts from 30 minutes
807 to 330 minutes in 30 minute increments. Value 252 specifies 21 minutes.
808 Value 253 specifies a vendor specific time between 8 and 12 hours. Value
809 255 specifies 21 minutes and 15 seconds. Some drives may use a vendor
810 specific interpretation for the values. Note that there is no get option
811 because ATA standards do not specify a method to read the standby timer.
812
813 .I standby,now
814 \- [ATA only] Places the drive in the STANDBY mode. This usually spins down
815 the drive. The setting of the standby timer is not affected.
816
817 .I wcache[,on|off]
818 \- [ATA only] Gets/sets the volatile write cache feature (if supported).
819 The write cache is usually enabled by default.
820
821 .TP
822 .B SMART READ AND DISPLAY DATA OPTIONS:
823 .TP
824 .B \-H, \-\-health
825 Check: Ask the device to report its SMART health status or pending
826 TapeAlert messages. SMART status is based on
827 information that it has gathered from online and offline
828 tests, which were used to determine/update its
829 SMART vendor\-specific Attribute values. TapeAlert status is obtained
830 by reading the TapeAlert log page.
831
832 If the device reports failing health status, this means
833 .B either
834 that the device has already failed,
835 .B or
836 that it is predicting its own failure within the next 24 hours. If
837 this happens, use the \'\-a\' option to get more information, and
838 .B get your data off the disk and to someplace safe as soon as you can.
839 .TP
840 .B \-c, \-\-capabilities
841 [ATA only] Prints only the generic SMART capabilities. These
842 show what SMART features are implemented and how the device will
843 respond to some of the different SMART commands. For example it
844 shows if the device logs errors, if it supports offline surface
845 scanning, and so on. If the device can carry out self\-tests, this
846 option also shows the estimated time required to run those tests.
847
848 Note that the time required to run the Self\-tests (listed in minutes)
849 are fixed. However the time required to run the Immediate Offline
850 Test (listed in seconds) is variable. This means that if you issue a
851 command to perform an Immediate Offline test with the \'\-t offline\' option,
852 then the time may jump to a larger value and then count down as the
853 Immediate Offline Test is carried out. Please see REFERENCES below
854 for further information about the the flags and capabilities described
855 by this option.
856 .TP
857 .B \-A, \-\-attributes
858 [ATA] Prints only the vendor specific SMART Attributes. The Attributes
859 are numbered from 1 to 253 and have specific names and ID numbers. For
860 example Attribute 12 is "power cycle count": how many times has the
861 disk been powered up.
862
863 Each Attribute has a "Raw" value, printed under the heading
864 "RAW_VALUE", and a "Normalized" value printed under the heading
865 "VALUE". [Note: \fBsmartctl\fP prints these values in base\-10.] In
866 the example just given, the "Raw Value" for Attribute 12 would be the
867 actual number of times that the disk has been power\-cycled, for
868 example 365 if the disk has been turned on once per day for exactly
869 one year. Each vendor uses their own algorithm to convert this "Raw"
870 value to a "Normalized" value in the range from 1 to 254. Please keep
871 in mind that \fBsmartctl\fP only reports the different Attribute
872 types, values, and thresholds as read from the device. It does
873 \fBnot\fP carry out the conversion between "Raw" and "Normalized"
874 values: this is done by the disk\'s firmware.
875
876 The conversion from Raw value to a quantity with physical units is
877 not specified by the SMART standard. In most cases, the values printed
878 by \fBsmartctl\fP are sensible. For example the temperature Attribute
879 generally has its raw value equal to the temperature in Celsius.
880 However in some cases vendors use unusual conventions. For example
881 the Hitachi disk on my laptop reports its power\-on hours in minutes,
882 not hours. Some IBM disks track three temperatures rather than one, in
883 their raw values. And so on.
884
885 Each Attribute also has a Threshold value (whose range is 0 to 255)
886 which is printed under the heading "THRESH". If the Normalized value
887 is \fBless than or equal to\fP the Threshold value, then the Attribute
888 is said to have failed. If the Attribute is a pre\-failure Attribute,
889 then disk failure is imminent.
890
891 Each Attribute also has a "Worst" value shown under the heading
892 "WORST". This is the smallest (closest to failure) value that the
893 disk has recorded at any time during its lifetime when SMART was
894 enabled. [Note however that some vendors firmware may actually
895 \fBincrease\fP the "Worst" value for some "rate\-type" Attributes.]
896
897 The Attribute table printed out by \fBsmartctl\fP also shows the
898 "TYPE" of the Attribute. Attributes are one of two possible types:
899 Pre\-failure or Old age. Pre\-failure Attributes are ones which, if
900 less than or equal to their threshold values, indicate pending disk
901 failure. Old age, or usage Attributes, are ones which indicate
902 end\-of\-product life from old\-age or normal aging and wearout, if
903 the Attribute value is less than or equal to the threshold. \fBPlease
904 note\fP: the fact that an Attribute is of type 'Pre\-fail' does
905 \fBnot\fP mean that your disk is about to fail! It only has this
906 meaning if the Attribute\'s current Normalized value is less than or
907 equal to the threshold value.
908
909 If the Attribute\'s current Normalized value is less than or equal to
910 the threshold value, then the "WHEN_FAILED" column will display
911 "FAILING_NOW". If not, but the worst recorded value is less than or
912 equal to the threshold value, then this column will display
913 "In_the_past". If the "WHEN_FAILED" column has no entry (indicated by
914 a dash: \'\-\') then this Attribute is OK now (not failing) and has
915 also never failed in the past.
916
917 The table column labeled "UPDATED" shows if the SMART Attribute values
918 are updated during both normal operation and off\-line testing, or
919 only during offline testing. The former are labeled "Always" and the
920 latter are labeled "Offline".
921
922 So to summarize: the Raw Attribute values are the ones that might have
923 a real physical interpretation, such as "Temperature Celsius",
924 "Hours", or "Start\-Stop Cycles". Each manufacturer converts these,
925 using their detailed knowledge of the disk\'s operations and failure
926 modes, to Normalized Attribute values in the range 1\-254. The
927 current and worst (lowest measured) of these Normalized Attribute
928 values are stored on the disk, along with a Threshold value that the
929 manufacturer has determined will indicate that the disk is going to
930 fail, or that it has exceeded its design age or aging limit.
931 \fBsmartctl\fP does \fBnot\fP calculate any of the Attribute values,
932 thresholds, or types, it merely reports them from the SMART data on
933 the device.
934
935 Note that starting with ATA/ATAPI\-4, revision 4, the meaning of these
936 Attribute fields has been made entirely vendor\-specific. However most
937 ATA/ATAPI\-5 disks seem to respect their meaning, so we have retained
938 the option of printing the Attribute values.
939
940 [SCSI] For SCSI devices the "attributes" are obtained from the temperature
941 and start\-stop cycle counter log pages. Certain vendor specific
942 attributes are listed if recognised. The attributes are output in a
943 relatively free format (compared with ATA disk attributes).
944 .TP
945 .B \-f FORMAT, \-\-format=FORMAT
946 [ATA only] Selects the output format of the attributes:
947
948 .I old
949 \- Old smartctl format. This is the default unless the \'\-x\' option is
950 specified.
951
952 .I brief
953 \- New format which fits into 80 colums (except in some rare cases).
954 This format also decodes four additional attribute flags.
955 This is the default if the '\-x\' option is specified.
956
957 .I hex,id
958 \- Print all attribute IDs as hexadecimal numbers.
959
960 .I hex,val
961 \- Print all normalized values as hexadecimal numbers.
962
963 .I hex
964 \- Same as \'\-f hex,id \-f hex,val\'.
965 .TP
966 .B \-l TYPE, \-\-log=TYPE
967 Prints either the SMART Error Log, the SMART Self\-Test Log, the SMART
968 Selective Self\-Test Log [ATA only], the Log Directory [ATA only], or
969 the Background Scan Results Log [SCSI only].
970 The valid arguments to this option are:
971
972 .I error
973 \- [ATA] prints the Summary SMART error log. SMART disks maintain a log
974 of the most recent five non\-trivial errors. For each of these errors, the
975 disk power\-on lifetime at which the error occurred is recorded, as is
976 the device status (idle, standby, etc) at the time of the error. For
977 some common types of errors, the Error Register (ER) and Status
978 Register (SR) values are decoded and printed as text. The meanings of these
979 are:
980 .nf
981 \fBABRT\fP: Command \fBAB\fPo\fBRT\fPed
982 \fBAMNF\fP: \fBA\fPddress \fBM\fPark \fBN\fPot \fBF\fPound
983 \fBCCTO\fP: \fBC\fPommand \fBC\fPompletion \fBT\fPimed \fBO\fPut
984 \fBEOM\fP: \fBE\fPnd \fBO\fPf \fBM\fPedia
985 \fBICRC\fP: \fBI\fPnterface \fBC\fPyclic \fBR\fPedundancy \fBC\fPode (CRC) error
986 \fBIDNF\fP: \fBID\fPentity \fBN\fPot \fBF\fPound
987 \fBILI\fP: (packet command\-set specific)
988 \fBMC\fP: \fBM\fPedia \fBC\fPhanged
989 \fBMCR\fP: \fBM\fPedia \fBC\fPhange \fBR\fPequest
990 \fBNM\fP: \fBN\fPo \fBM\fPedia
991 \fBobs\fP: \fBobs\fPolete
992 \fBTK0NF\fP: \fBT\fPrac\fBK 0 N\fPot \fBF\fPound
993 \fBUNC\fP: \fBUNC\fPorrectable Error in Data
994 \fBWP\fP: Media is \fBW\fPrite \fBP\fProtected
995 .fi
996 In addition, up to the last five commands that preceded the error are
997 listed, along with a timestamp measured from the start of the
998 corresponding power cycle. This is displayed in the form
999 Dd+HH:MM:SS.msec where D is the number of days, HH is hours, MM is
1000 minutes, SS is seconds and msec is milliseconds. [Note: this time
1001 stamp wraps after 2^32 milliseconds, or 49 days 17 hours 2 minutes and
1002 47.296 seconds.] The key ATA disk registers are also recorded in the
1003 log. The final column of the error log is a text\-string description
1004 of the ATA command defined by the Command Register (CR) and Feature
1005 Register (FR) values. Commands that are obsolete in the most current
1006 (ATA\-7) spec are listed like this: \fBREAD LONG (w/ retry) [OBS\-4]\fP,
1007 indicating that the command became obsolete with or in the ATA\-4
1008 specification. Similarly, the notation \fB[RET\-\fP\fIN\fP\fB]\fP is
1009 used to indicate that a command was retired in the ATA\-\fIN\fP
1010 specification. Some commands are not defined in any version of the
1011 ATA specification but are in common use nonetheless; these are marked
1012 \fB[NS]\fP, meaning non\-standard.
1013
1014 The ATA Specification (ATA\-5 Revision 1c, Section 8.41.6.8.2) says:
1015 \fB"Error log structures shall include UNC errors, IDNF errors for
1016 which the address requested was valid, servo errors, write fault
1017 errors, etc. Error log data structures shall not include errors
1018 attributed to the receipt of faulty commands such as command codes not
1019 implemented by the device or requests with invalid parameters or
1020 invalid addresses."\fP The definitions of these terms are:
1021 .br
1022 \fBUNC\fP (\fBUNC\fPorrectable): data is uncorrectable. This refers
1023 to data which has been read from the disk, but for which the Error
1024 Checking and Correction (ECC) codes are inconsistent. In effect, this
1025 means that the data can not be read.
1026 .br
1027 \fBIDNF\fP (\fBID N\fPot \fBF\fPound): user\-accessible address could
1028 not be found. For READ LOG type commands, \fBIDNF\fP can also indicate
1029 that a device data log structure checksum was incorrect.
1030
1031 If the command that caused the error was a READ or WRITE command, then
1032 the Logical Block Address (LBA) at which the error occurred will be
1033 printed in base 10 and base 16. The LBA is a linear address, which
1034 counts 512\-byte sectors on the disk, starting from zero. (Because of
1035 the limitations of the SMART error log, if the LBA is greater than
1036 0xfffffff, then either no error log entry will be made, or the error
1037 log entry will have an incorrect LBA. This may happen for drives with
1038 a capacity greater than 128 GiB or 137 GB.) On Linux systems the
1039 smartmontools web page has instructions about how to convert the LBA
1040 address to the name of the disk file containing the erroneous disk
1041 sector.
1042
1043 Please note that some manufacturers \fBignore\fP the ATA
1044 specifications, and make entries in the error log if the device
1045 receives a command which is not implemented or is not valid.
1046
1047 .I error
1048 \- [SCSI] prints the error counter log pages for reads, write and verifies.
1049 The verify row is only output if it has an element other than zero.
1050
1051 .I xerror[,NUM][,error]
1052 \- [ATA only] prints the Extended Comprehensive SMART error log
1053 (General Purpose Log address 0x03). Unlike the Summary SMART error
1054 log (see \'\-l error\' above), it provides sufficient space to log
1055 the contents of the 48-bit LBA register set introduced with ATA-6.
1056 It also supports logs with more than one sector. Each sector holds
1057 up to 4 log entries. The actual number of log sectors is vendor
1058 specific, typical values for HDD are 2 (Samsung), 5 (Seagate) or
1059 6 (WD). Some recent SSD devices have much larger error logs.
1060
1061 Only the 8 most recent error log entries are printed by default.
1062 This number can be changed by the optional parameter NUM.
1063
1064 If ',error' is appended and the Extended Comprehensive SMART error
1065 log is not supported, the Summary SMART self-test log is printed.
1066
1067 Please note that some recent (e.g. Samsung) drives report errors only
1068 in the Extended Comprehensive SMART error log. The Summary SMART error
1069 log can be read but is always empty.
1070
1071 .I selftest
1072 \- [ATA] prints the SMART self\-test log. The disk maintains a self\-test
1073 log showing the results of the self tests, which can be run using the
1074 \'\-t\' option described below. For each of the most recent
1075 twenty\-one self\-tests, the log shows the type of test (short or
1076 extended, off\-line or captive) and the final status of the test. If
1077 the test did not complete successfully, then the percentage of the
1078 test remaining is shown. The time at which the test took place,
1079 measured in hours of disk lifetime, is also printed. [Note: this time
1080 stamp wraps after 2^16 hours, or 2730 days and 16 hours, or about 7.5
1081 years.] If any errors were detected, the Logical Block Address (LBA)
1082 of the first error is printed in decimal notation. On Linux systems the
1083 smartmontools web page has instructions about how to convert this LBA
1084 address to the name of the disk file containing the erroneous block.
1085
1086 .I selftest
1087 \- [SCSI] the self\-test log for a SCSI device has a slightly different
1088 format than for an ATA device. For each of the most recent twenty
1089 self\-tests, it shows the type of test and the status (final or in
1090 progress) of the test. SCSI standards use the terms "foreground" and
1091 "background" (rather than ATA\'s corresponding "captive" and
1092 "off\-line") and "short" and "long" (rather than ATA\'s corresponding
1093 "short" and "extended") to describe the type of the test. The printed
1094 segment number is only relevant when a test fails in the third or
1095 later test segment. It identifies the test that failed and consists
1096 of either the number of the segment that failed during the test, or
1097 the number of the test that failed and the number of the segment in
1098 which the test was run, using a vendor\-specific method of putting both
1099 numbers into a single byte. The Logical Block Address (LBA) of the
1100 first error is printed in hexadecimal notation. On Linux systems the
1101 smartmontools web page has instructions about how to convert this LBA
1102 address to the name of the disk file containing the erroneous block.
1103 If provided, the SCSI Sense Key (SK), Additional Sense Code (ASC) and
1104 Additional Sense Code Qualifier (ASQ) are also printed. The self tests
1105 can be run using the \'\-t\' option described below (using the ATA
1106 test terminology).
1107
1108 .I xselftest[,NUM][,selftest]
1109 \- [ATA only] prints the Extended SMART self\-test log (General Purpose
1110 Log address 0x07). Unlike the SMART self\-test log (see \'\-l selftest\'
1111 above), it supports 48-bit LBA and logs with more than one sector.
1112 Each sector holds up to 19 log entries. The actual number of log sectors
1113 is vendor specific, typical values are 1 (Seagate) or 2 (Samsung).
1114
1115 Only the 25 most recent log entries are printed by default. This number
1116 can be changed by the optional parameter NUM.
1117
1118 If ',selftest' is appended and the Extended SMART self-test log is not
1119 supported, the old SMART self-test log is printed.
1120
1121 .I selective
1122 \- [ATA only] Please see the \'\-t select\' option below for a
1123 description of selective self\-tests. The selective self\-test log
1124 shows the start/end Logical Block Addresses (LBA) of each of the five
1125 test spans, and their current test status. If the span is being
1126 tested or the remainder of the disk is being read\-scanned, the
1127 current 65536\-sector block of LBAs being tested is also displayed.
1128 The selective self\-test log also shows if a read\-scan of the
1129 remainder of the disk will be carried out after the selective
1130 self\-test has completed (see \'\-t afterselect\' option) and the time
1131 delay before restarting this read\-scan if it is interrupted (see
1132 \'\-t pending\' option). This is a new smartmontools feature; please
1133 report unusual or incorrect behavior to the smartmontools\-support
1134 mailing list.
1135
1136 .I directory[,gs]
1137 \- [ATA only] if the device supports the General Purpose Logging feature
1138 set (ATA\-6 and above) then this prints the Log Directory (the log at
1139 address 0). The Log Directory shows what logs are available and their
1140 length in sectors (512 bytes). The contents of the logs at address 1
1141 [Summary SMART error log] and at address 6 [SMART self\-test log] may
1142 be printed using the previously\-described
1143 .I error
1144 and
1145 .I selftest
1146 arguments to this option.
1147 If your version of smartctl supports 48-bit ATA commands, both the
1148 General Purpose Log (GPL) and SMART Log (SL) directories are printed in
1149 one combined table. The output can be restricted to the GPL directory or
1150 SL directory by \'\-l directory,q\' or \'\-l directory,s\' respectively.
1151
1152 .I background
1153 \- [SCSI only] the background scan results log outputs information derived
1154 from Background Media Scans (BMS) done after power up and/or periodocally
1155 (e.g. every 24 hours) on recent SCSI disks. If supported, the BMS status
1156 is output first, indicating whether a background scan is currently
1157 underway (and if so a progress percentage), the amount of time the disk
1158 has been powered up and the number of scans already completed. Then there
1159 is a header and a line for each background scan "event". These will
1160 typically be either recovered or unrecoverable errors. That latter group
1161 may need some attention. There is a description of the background scan
1162 mechansim in section 4.18 of SBC\-3 revision 6 (see www.t10.org ).
1163
1164 .I scttemp, scttempsts, scttemphist
1165 \- [ATA only] prints the disk temperature information provided by the
1166 SMART Command Transport (SCT) commands.
1167 The option \'scttempsts\' prints current temperature and temperature
1168 ranges returned by the SCT Status command, \'scttemphist\' prints
1169 temperature limits and the temperature history table returned by
1170 the SCT Data Table command, and \'scttemp\' prints both.
1171 The temperature values are preserved across power cycles.
1172 The logging interval can be configured with the
1173 \'\-l scttempint,N[,p]\' option, see below.
1174 The SCT commands were introduced in ATA\-8 ACS and were also
1175 supported by in many ATA\-7 disks.
1176
1177 .I scttempint,N[,p]
1178 \- [ATA only] clears the SCT temperature history table and sets the
1179 time interval for temperature logging to N minutes.
1180 If \',p\' is specified, the setting is preserved across power cycles.
1181 Otherwise, the setting is volatile and will be reverted to the last
1182 non-volatile setting by the next hard reset. The default interval
1183 is vendor specific, typical values are 1, 2, or 5 minutes.
1184
1185 .I scterc[,READTIME,WRITETIME]
1186 \- [ATA only] prints values and descriptions of the SCT Error Recovery
1187 Control settings. These are equivalent to TLER (as used by Western
1188 Digital), CCTL (as used by Samsung and Hitachi) and ERC (as used by
1189 Seagate). READTIME and WRITETIME arguments (deciseconds) set the
1190 specified values. Values of 0 disable the feature, other values less
1191 than 65 are probably not supported. For RAID configurations, this is
1192 typically set to 70,70 deciseconds.
1193
1194 .I devstat[,PAGE]
1195 \- [ATA only] [NEW EXPERIMENTAL SMARTCTL FEATURE] prints values
1196 and descriptions of the ATA Device Statistics log pages
1197 (General Purpose Log address 0x04). If no PAGE number is specified,
1198 entries from all supported pages are printed. If PAGE 0 is specified,
1199 the list of supported pages is printed. Device Statistics was
1200 introduced in ATA\-8 ACS and is only supported by some recent devices
1201 (e.g. Intel 320 and 710 Series SSDs).
1202
1203 .I sataphy[,reset]
1204 \- [SATA only] prints values and descriptions of the SATA Phy Event
1205 Counters (General Purpose Log address 0x11). If \'\-l sataphy,reset\'
1206 is specified, all counters are reset after reading the values.
1207
1208 .I sasphy[,reset]
1209 \- [SAS (SCSI) only] prints values and descriptions of the SAS (SSP)
1210 Protocol Specific log page (log page 0x18). If \'\-l sasphy,reset\'
1211 is specified, all counters are reset after reading the values.
1212
1213 .I gplog,ADDR[,FIRST[\-LAST|+SIZE]]
1214 \- [ATA only] prints a hex dump of any log accessible via General
1215 Purpose Logging (GPL) feature. The log address ADDR is the hex address
1216 listed in the log directory (see \'\-l directory\' above).
1217 The range of log sectors (pages) can be specified by decimal values
1218 FIRST\-LAST or FIRST+SIZE. FIRST defaults to 0, SIZE defaults to 1.
1219 LAST can be set to \'max\' to specify the last page of the log.
1220
1221 .I smartlog,ADDR[,FIRST[\-LAST|+SIZE]]
1222 \- [ATA only] prints a hex dump of any log accessible via SMART Read
1223 Log command. See \'\-l gplog,...\' above for parameter syntax.
1224
1225 For example, all these commands:
1226 .nf
1227 smartctl \-l gplog,0x80,10-15 /dev/sda
1228 smartctl \-l gplog,0x80,10+6 /dev/sda
1229 smartctl \-l smartlog,0x80,10-15 /dev/sda
1230 .fi
1231 print pages 10-15 of log 0x80 (first host vendor specific log).
1232
1233 The hex dump format is compatible with the \'xxd \-r\' command.
1234 This command:
1235 .nf
1236 smartctl \-l gplog,0x11 /dev/sda | grep ^0 | xxd -r >log.bin
1237 .fi
1238 writes a binary representation of the one sector log 0x11
1239 (SATA Phy Event Counters) to file log.bin.
1240
1241 .I ssd
1242 \- [ATA] prints the Solid State Device Statistics log page.
1243 This has the same effect as \'\-l devstat,7\', see above.
1244
1245 .I ssd
1246 \- [SCSI] prints the Solid State Media percentage used endurance
1247 indicator. A value of 0 indicates as new condition while 100
1248 indicates the device is at the end of its lifetime as projected by the
1249 manufacturer. The value may reach 255.
1250 .TP
1251 .B \-v ID,FORMAT[:BYTEORDER][,NAME], \-\-vendorattribute=ID,FORMAT[:BYTEORDER][,NAME]
1252 [ATA only] Sets a vendor\-specific raw value print FORMAT, an optional
1253 BYTEORDER and an optional NAME for Attribute ID.
1254 This option may be used multiple times.
1255
1256 The Attribute ID can be in the range 1 to 255. If \'N\' is specified as
1257 ID, the settings for all Attributes are changed.
1258
1259 The optional BYTEORDER consists of 1 to 8 characters from the
1260 set \'012345rvwz\'. The characters \'0\' to \'5\' select the byte 0
1261 to 5 from the 48\-bit raw value, \'r\' selects the reserved byte of
1262 the attribute data block, \'v\' selects the normalized value, \'w\'
1263 selects the worst value and \'z\' inserts a zero byte.
1264 The default BYTEORDER is \'543210\' for all 48\-bit formats, \'r543210\'
1265 for the 54\-bit formats, and \'543210wv\' for the 64\-bit formats.
1266 For example, \'\-v 5,raw48:012345\' prints the raw value of
1267 attribute 5 with big endian instead of little endian
1268 byte ordering.
1269
1270 The NAME is a string of letters, digits and underscore. Its length should
1271 not exceed 23 characters. The \'\-P showall\' option reports an error if
1272 this is the case.
1273
1274 .I \-v help
1275 \- Prints (to STDOUT) a list of all valid arguments to this option,
1276 then exits.
1277
1278 Valid arguments for FORMAT are:
1279
1280 .I raw8
1281 \- Print the Raw value as six 8\-bit unsigned base\-10 integers.
1282 This may be useful for decoding the meaning of the Raw value.
1283
1284 .I raw16
1285 \- Print the Raw value as three 16\-bit unsigned base\-10 integers.
1286 This may be useful for decoding the meaning of the Raw value.
1287
1288 .I raw48
1289 \- Print the Raw value as a 48\-bit unsigned base\-10 integer.
1290 This is the default for most attributes.
1291
1292 .I hex48
1293 \- Print the Raw value as a 12 digit hexadecimal number.
1294 This may be useful for decoding the meaning of the Raw value.
1295
1296 .I raw56
1297 \- Print the Raw value as a 54\-bit unsigned base\-10 integer.
1298 This includes the reserved byte which follows the 48\-bit raw value.
1299
1300 .I hex56
1301 \- Print the Raw value as a 14 digit hexadecimal number.
1302 This includes the reserved byte which follows the 48\-bit raw value.
1303
1304 .I raw64
1305 \- Print the Raw value as a 64\-bit unsigned base\-10 integer.
1306 This includes two bytes from the normalized and worst attribute value.
1307 This raw format is used by some SSD devices with Indilinx controller.
1308
1309 .I hex64
1310 \- Print the Raw value as a 16 digit hexadecimal number.
1311 This includes two bytes from the normalized and worst attribute value.
1312 This raw format is used by some SSD devices with Indilinx controller.
1313
1314 .I min2hour
1315 \- Raw Attribute is power\-on time in minutes. Its raw value
1316 will be displayed in the form "Xh+Ym". Here X is hours, and Y is
1317 minutes in the range 0\-59 inclusive. Y is always printed with two
1318 digits, for example "06" or "31" or "00".
1319
1320 .I sec2hour
1321 \- Raw Attribute is power\-on time in seconds. Its raw value
1322 will be displayed in the form "Xh+Ym+Zs". Here X is hours, Y is
1323 minutes in the range 0\-59 inclusive, and Z is seconds in the range
1324 0\-59 inclusive. Y and Z are always printed with two digits, for
1325 example "06" or "31" or "00".
1326
1327 .I halfmin2hour
1328 \- Raw Attribute is power\-on time, measured in units of 30
1329 seconds. This format is used by some Samsung disks. Its raw value
1330 will be displayed in the form "Xh+Ym". Here X is hours, and Y is
1331 minutes in the range 0\-59 inclusive. Y is always printed with two
1332 digits, for example "06" or "31" or "00".
1333
1334 .I msec24hour32
1335 \- Raw Attribute is power\-on time measured in 32\-bit hours and 24\-bit
1336 milliseconds since last hour update. It will be displayed in the form
1337 "Xh+Ym+Z.Ms". Here X is hours, Y is minutes, Z is seconds and M is
1338 milliseconds.
1339
1340 .I tempminmax
1341 \- Raw Attribute is the disk temperature in Celsius. Info about
1342 Min/Max temperature is printed if available. This is the default
1343 for Attributes 190 and 194. The recording interval (lifetime,
1344 last power cycle, last soft reset) of the min/max values is device
1345 specific.
1346
1347 .I temp10x
1348 \- Raw Attribute is ten times the disk temperature in Celsius.
1349
1350 .I raw16(raw16)
1351 \- Print the raw attribute as a 16\-bit value and two optional
1352 16\-bit values if these words are nonzero. This is the default
1353 for Attributes 5 and 196.
1354
1355 .I raw16(avg16)
1356 \- Raw attribute is spin-up time. It is printed as a 16-bit value
1357 and an optional "Average" 16-bit value if the word is nonzero.
1358 This is the default for Attribute 3.
1359
1360 .I raw24(raw8)
1361 \- Print the raw attribute as a 24\-bit value and three optional
1362 8\-bit values if these bytes are nonzero. This is the default
1363 for Attribute 9.
1364
1365 .I raw24/raw24
1366 \- Raw Attribute contains two 24\-bit values. The first is the
1367 number of load cycles. The second is the number of unload cycles.
1368 The difference between these two values is the number of times that
1369 the drive was unexpectedly powered off (also called an emergency
1370 unload). As a rule of thumb, the mechanical stress created by one
1371 emergency unload is equivalent to that created by one hundred normal
1372 unloads.
1373
1374 .I raw24/raw32
1375 \- Raw attribute is an error rate which consists of a 24\-bit error
1376 count and a 32\-bit total count.
1377
1378 The following old arguments to \'\-v\' are also still valid:
1379
1380 .I 9,minutes
1381 \- same as:
1382 .I 9,min2hour,Power_On_Minutes.
1383
1384 .I 9,seconds
1385 \- same as:
1386 .I 9,sec2hour,Power_On_Seconds.
1387
1388 .I 9,halfminutes
1389 \- same as:
1390 .I 9,halfmin2hour,Power_On_Half_Minutes.
1391
1392 .I 9,temp
1393 \- same as:
1394 .I 9,tempminmax,Temperature_Celsius.
1395
1396 .I 192,emergencyretractcyclect
1397 \- same as:
1398 .I 192,raw48,Emerg_Retract_Cycle_Ct
1399
1400 .I 193,loadunload
1401 \- same as:
1402 .I 193,raw24/raw24.
1403
1404 .I 194,10xCelsius
1405 \- same as:
1406 .I 194,temp10x,Temperature_Celsius_x10.
1407
1408 .I 194,unknown
1409 \- same as:
1410 .I 194,raw48,Unknown_Attribute.
1411
1412 .I 197,increasing
1413 \- same as:
1414 .I 197,raw48,Total_Pending_Sectors.
1415 Also means that Attribute number 197 (Current Pending Sector Count)
1416 is not reset if uncorrectable sectors are reallocated
1417 (see \fBsmartd.conf\fP(5) man page).
1418
1419 .I 198,increasing
1420 \- same as:
1421 .I 198,raw48,Total_Offl_Uncorrectabl.
1422 Also means that Attribute number 198 (Offline Uncorrectable Sector Count)
1423 is not reset if uncorrectable sectors are reallocated
1424 (see \fBsmartd.conf\fP(5) man page).
1425
1426 .I 198,offlinescanuncsectorct
1427 \- same as:
1428 .I 198,raw48,Offline_Scan_UNC_SectCt.
1429
1430 .I 200,writeerrorcount
1431 \- same as:
1432 .I 200,raw48,Write_Error_Count.
1433
1434 .I 201,detectedtacount
1435 \- same as:
1436 .I 201,raw48,Detected_TA_Count.
1437
1438 .I 220,temp
1439 \- same as:
1440 .I 220,raw48,Temperature_Celsius.
1441
1442 Note: a table of hard drive models, listing which Attribute
1443 corresponds to temperature, can be found at:
1444 \fBhttp://www.guzu.net/linux/hddtemp.db\fP
1445 .TP
1446 .B \-F TYPE, \-\-firmwarebug=TYPE
1447 [ATA only] Modifies the behavior of \fBsmartctl\fP to compensate for some
1448 known and understood device firmware or driver bug. Except \'swapid\',
1449 the arguments to this option are exclusive, so that only the final
1450 option given is used. The valid values are:
1451
1452 .I none
1453 \- Assume that the device firmware obeys the ATA specifications. This
1454 is the default, unless the device has presets for \'\-F\' in the
1455 device database (see note below).
1456
1457 .I samsung
1458 \- In some Samsung disks (example: model SV4012H Firmware Version:
1459 RM100\-08) some of the two\- and four\-byte quantities in the SMART data
1460 structures are byte\-swapped (relative to the ATA specification).
1461 Enabling this option tells \fBsmartctl\fP to evaluate these quantities
1462 in byte\-reversed order. Some signs that your disk needs this option
1463 are (1) no self\-test log printed, even though you have run self\-tests;
1464 (2) very large numbers of ATA errors reported in the ATA error log;
1465 (3) strange and impossible values for the ATA error log timestamps.
1466
1467 .I samsung2
1468 \- In some Samsung disks the number of ATA errors reported is byte swapped.
1469 Enabling this option tells \fBsmartctl\fP to evaluate this quantity in
1470 byte\-reversed order. An indication that your Samsung disk needs this
1471 option is that the self\-test log is printed correctly, but there are a
1472 very large number of errors in the SMART error log. This is because
1473 the error count is byte swapped. Thus a disk with five errors
1474 (0x0005) will appear to have 20480 errors (0x5000).
1475
1476 .I samsung3
1477 \- Some Samsung disks (at least SP2514N with Firmware VF100\-37) report
1478 a self\-test still in progress with 0% remaining when the test was already
1479 completed. Enabling this option modifies the output of the self\-test
1480 execution status (see options \'\-c\' or \'\-a\' above) accordingly.
1481
1482 Note that an explicit \'\-F\' option on the command line will
1483 over\-ride any preset values for \'\-F\' (see the \'\-P\' option
1484 below).
1485
1486 .I swapid
1487 \- Fixes byte swapped ATA identify strings (device name, serial number,
1488 firmware version) returned by some buggy device drivers.
1489 .TP
1490 .B \-P TYPE, \-\-presets=TYPE
1491 [ATA only] Specifies whether \fBsmartctl\fP should use any preset options
1492 that are available for this drive. By default, if the drive is recognized
1493 in the \fBsmartmontools\fP database, then the presets are used.
1494
1495 \fBsmartctl\fP can automatically set appropriate options for known
1496 drives. For example, the Maxtor 4D080H4 uses Attribute 9 to stores
1497 power\-on time in minutes whereas most drives use that Attribute to
1498 store the power\-on time in hours. The command\-line option \'\-v
1499 9,minutes\' ensures that \fBsmartctl\fP correctly interprets Attribute
1500 9 in this case, but that option is preset for the Maxtor 4D080H4 and
1501 so need not be specified by the user on the \fBsmartctl\fP command
1502 line.
1503
1504 The argument
1505 .I show
1506 will show any preset options for your drive and the argument
1507 .I showall
1508 will show all known drives in the \fBsmartmontools\fP database, along
1509 with their preset options. If there are no presets for your drive and
1510 you think there should be (for example, a \-v or \-F option is needed
1511 to get \fBsmartctl\fP to display correct values) then please contact
1512 the \fBsmartmontools\fP developers so that this information can be
1513 added to the \fBsmartmontools\fP database. Contact information is at the
1514 end of this man page.
1515
1516 The valid arguments to this option are:
1517
1518 .I use
1519 \- if a drive is recognized, then use the stored presets for it. This
1520 is the default. Note that presets will NOT over\-ride additional
1521 Attribute interpretation (\'\-v N,something\') command\-line options or
1522 explicit \'\-F\' command\-line options..
1523
1524 .I ignore
1525 \- do not use presets.
1526
1527 .I show
1528 \- show if the drive is recognized in the database, and if so, its
1529 presets, then exit.
1530
1531 .I showall
1532 \- list all recognized drives, and the presets that are set for them,
1533 then exit. This also checks the drive database regular expressions
1534 and settings for syntax errors.
1535
1536 The \'\-P showall\' option takes up to two optional arguments to
1537 match a specific drive type and firmware version. The command:
1538 .nf
1539 smartctl \-P showall
1540 .fi
1541 lists all entries, the command:
1542 .nf
1543 smartctl \-P showall \'MODEL\'
1544 .fi
1545 lists all entries matching MODEL, and the command:
1546 .nf
1547 smartctl \-P showall \'MODEL\' \'FIRMWARE\'
1548 .fi
1549 lists all entries for this MODEL and a specific FIRMWARE version.
1550 .TP
1551 .B \-B [+]FILE, \-\-drivedb=[+]FILE
1552 [ATA only] Read the drive database from FILE. The new database replaces
1553 the built in database by default. If \'+\' is specified, then the new
1554 entries prepend the built in entries.
1555
1556 Optional entries are read from the file
1557 .\" %IF NOT OS Windows
1558 \fB/usr/local/etc/smart_drivedb.h\fP
1559 .\" %ENDIF NOT OS Windows
1560 .\" %IF OS ALL
1561 (Windows: \fBEXEDIR/drivedb-add.h\fP)
1562 .\" %ENDIF OS ALL
1563 .\" %IF OS Windows
1564 .\"! \fBEXEDIR/drivedb-add.h\fP.
1565 .\" %ENDIF OS Windows
1566 .\" %IF ENABLE_DRIVEDB
1567 if this option is not specified.
1568
1569 If
1570 .\" %IF NOT OS Windows
1571 \fB/usr/local/share/smartmontools/drivedb.h\fP
1572 .\" %ENDIF NOT OS Windows
1573 .\" %IF OS ALL
1574 (Windows: \fBEXEDIR/drivedb.h\fP)
1575 .\" %ENDIF OS ALL
1576 .\" %IF OS Windows
1577 .\"! \fBEXEDIR/drivedb.h\fP
1578 .\" %ENDIF OS Windows
1579 is present, the contents of this file is used instead of the built in table.
1580
1581 Run
1582 .\" %IF NOT OS Windows
1583 \fB/usr/local/sbin/update-smart-drivedb\fP
1584 .\" %ENDIF NOT OS Windows
1585 .\" %IF OS ALL
1586 (Windows: \fBEXEDIR/update-smart-drivedb.exe\fP)
1587 .\" %ENDIF OS ALL
1588 .\" %IF OS Windows
1589 .\"! \fBEXEDIR/update-smart-drivedb.exe\fP
1590 .\" %ENDIF OS Windows
1591 to update this file from the smartmontools SVN repository.
1592 .\" %ENDIF ENABLE_DRIVEDB
1593
1594 The database files use the same C/C++ syntax that is used to initialize
1595 the built in database array. C/C++ style comments are allowed.
1596 Example:
1597
1598 .nf
1599 /* Full entry: */
1600 {
1601 "Model family", // Info about model family/series.
1602 "MODEL1.*REGEX", // Regular expression to match model of device.
1603 "VERSION.*REGEX", // Regular expression to match firmware version(s).
1604 "Some warning", // Warning message.
1605 "\-v 9,minutes" // String of preset \-v and \-F options.
1606 },
1607 /* Minimal entry: */
1608 {
1609 "", // No model family/series info.
1610 "MODEL2.*REGEX", // Regular expression to match model of device.
1611 "", // All firmware versions.
1612 "", // No warning.
1613 "" // No options preset.
1614 },
1615 /* USB ID entry: */
1616 {
1617 "USB: Device; Bridge", // Info about USB device and bridge name.
1618 "0x1234:0xabcd", // Regular expression to match vendor:product ID.
1619 "0x0101", // Regular expression to match bcdDevice.
1620 "", // Not used.
1621 "\-d sat" // String with device type option.
1622 },
1623 /* ... */
1624 .fi
1625
1626 .TP
1627 .B SMART RUN/ABORT OFFLINE TEST AND SELF\-TEST OPTIONS:
1628 .TP
1629 .B \-t TEST, \-\-test=TEST
1630 Executes TEST immediately. The \'\-C\' option can be used in
1631 conjunction with this option to run the short or long (and also for
1632 ATA devices, selective or conveyance) self\-tests in captive mode
1633 (known as "foreground mode" for SCSI devices). Note that only one
1634 test type can be run at a time, so only one test type should be
1635 specified per command line. Note also that if a computer is shutdown
1636 or power cycled during a self\-test, no harm should result. The
1637 self\-test will either be aborted or will resume automatically.
1638
1639 The valid arguments to this option are:
1640
1641 .I offline
1642 \- [ATA] runs SMART Immediate Offline Test. This immediately
1643 starts the test described above. This command can be given during
1644 normal system operation. The effects of this test are visible only in
1645 that it updates the SMART Attribute values, and if errors are
1646 found they will appear in the SMART error log, visible with the \'\-l error\'
1647 option.
1648
1649 If the \'\-c\' option to \fBsmartctl\fP shows that the device has the
1650 "Suspend Offline collection upon new command" capability then you can
1651 track the progress of the Immediate Offline test using the \'\-c\'
1652 option to \fBsmartctl\fP. If the \'\-c\' option show that the device
1653 has the "Abort Offline collection upon new command" capability then
1654 most commands will abort the Immediate Offline Test, so you should not
1655 try to track the progress of the test with \'\-c\', as it will abort
1656 the test.
1657
1658 .I offline
1659 \- [SCSI] runs the default self test in foreground. No entry is placed
1660 in the self test log.
1661
1662 .I short
1663 \- [ATA] runs SMART Short Self Test (usually under ten minutes).
1664 This command can be given during normal system operation (unless run in
1665 captive mode \- see the \'\-C\' option below). This is a
1666 test in a different category than the immediate or automatic offline
1667 tests. The "Self" tests check the electrical and mechanical
1668 performance as well as the read performance of the disk. Their
1669 results are reported in the Self Test Error Log, readable with
1670 the \'\-l selftest\' option. Note that on some disks the progress of the
1671 self\-test can be monitored by watching this log during the self\-test; with other disks
1672 use the \'\-c\' option to monitor progress.
1673
1674 .I short
1675 \- [SCSI] runs the "Background short" self\-test.
1676
1677 .I long
1678 \- [ATA] runs SMART Extended Self Test (tens of minutes). This is a
1679 longer and more thorough version of the Short Self Test described
1680 above. Note that this command can be given during normal
1681 system operation (unless run in captive mode \- see the \'\-C\' option below).
1682
1683 .I long
1684 \- [SCSI] runs the "Background long" self\-test.
1685
1686 .I conveyance
1687 \- [ATA only] runs a SMART Conveyance Self Test (minutes). This
1688 self\-test routine is intended to identify damage incurred during
1689 transporting of the device. This self\-test routine should take on the
1690 order of minutes to complete. Note that this command can be given
1691 during normal system operation (unless run in captive mode \- see the
1692 \'\-C\' option below).
1693
1694 .I select,N\-M, select,N+SIZE
1695 \- [ATA only] runs a SMART Selective Self Test, to test a \fBrange\fP
1696 of disk Logical Block Addresses (LBAs), rather than the entire disk.
1697 Each range of LBAs that is checked is called a "span" and is specified
1698 by a starting LBA (N) and an ending LBA (M) with N less than or equal
1699 to M. The range can also be specified as N+SIZE. A span at the end of
1700 a disk can be specified by N\-\fBmax\fP.
1701
1702 For example the commands:
1703 .nf
1704 smartctl \-t select,10\-20 /dev/hda
1705 smartctl \-t select,10+11 /dev/hda
1706 .fi
1707 both runs a self test on one span consisting of LBAs ten to twenty
1708 (inclusive). The command:
1709 .nf
1710 smartctl \-t select,100000000\-max /dev/hda
1711 .fi
1712 run a self test from LBA 100000000 up to the end of the disk.
1713 The \'\-t\' option can be given up to five times, to test
1714 up to five spans. For example the command:
1715 .nf
1716 smartctl \-t select,0\-100 \-t select,1000\-2000 /dev/hda
1717 .fi
1718 runs a self test on two spans. The first span consists of 101 LBAs
1719 and the second span consists of 1001 LBAs. Note that the spans can
1720 overlap partially or completely, for example:
1721 .nf
1722 smartctl \-t select,0\-10 \-t select,5\-15 \-t select,10\-20 /dev/hda
1723 .fi
1724 The results of the selective self\-test can be obtained (both during
1725 and after the test) by printing the SMART self\-test log, using the
1726 \'\-l selftest\' option to smartctl.
1727
1728 Selective self tests are particularly useful as disk capacities
1729 increase: an extended self test (smartctl \-t long) can take several
1730 hours. Selective self\-tests are helpful if (based on SYSLOG error
1731 messages, previous failed self\-tests, or SMART error log entries) you
1732 suspect that a disk is having problems at a particular range of
1733 Logical Block Addresses (LBAs).
1734
1735 Selective self\-tests can be run during normal system operation (unless
1736 done in captive mode \- see the \'\-C\' option below).
1737
1738 The following variants of the selective self\-test command use spans based
1739 on the ranges from past tests already stored on the disk:
1740
1741 .I select,redo[+SIZE]
1742 \- [ATA only] redo the last SMART Selective Self Test using the same LBA
1743 range. The starting LBA is identical to the LBA used by last test, same
1744 for ending LBA unless a new span size is specified by optional +SIZE
1745 argument.
1746
1747 For example the commands:
1748 .nf
1749 smartctl \-t select,10\-20 /dev/hda
1750 smartctl \-t select,redo /dev/hda
1751 smartctl \-t select,redo+20 /dev/hda
1752 .fi
1753 have the same effect as:
1754 .nf
1755 smartctl \-t select,10\-20 /dev/hda
1756 smartctl \-t select,10\-20 /dev/hda
1757 smartctl \-t select,10\-29 /dev/hda
1758 .fi
1759
1760 .I select,next[+SIZE]
1761 \- [ATA only] runs a SMART Selective Self Test on the LBA range which
1762 follows the range of the last test. The starting LBA is set to (ending
1763 LBA +1) of the last test. A new span size may be specified by the
1764 optional +SIZE argument.
1765
1766 For example the commands:
1767 .nf
1768 smartctl \-t select,0\-999 /dev/hda
1769 smartctl \-t select,next /dev/hda
1770 smartctl \-t select,next+2000 /dev/hda
1771 .fi
1772 have the same effect as:
1773 .nf
1774 smartctl \-t select,0\-999 /dev/hda
1775 smartctl \-t select,1000\-1999 /dev/hda
1776 smartctl \-t select,2000\-3999 /dev/hda
1777 .fi
1778
1779 If the last test ended at the last LBA of the disk, the new range starts
1780 at LBA 0. The span size of the last span of a disk is adjusted such that
1781 the total number of spans to check the full disk will not be changed
1782 by future uses of \'\-t select,next\'.
1783
1784 .I select,cont[+SIZE]
1785 \- [ATA only] performs a \'redo\' (above) if the self test status reports
1786 that the last test was aborted by the host. Otherwise it run the \'next\'
1787 (above) test.
1788
1789 .I afterselect,on
1790 \- [ATA only] perform an offline read scan after a Selective Self\-test
1791 has completed. This option must be used together with one or more of
1792 the \fIselect,N\-M\fP options above. If the LBAs that have been
1793 specified in the Selective self\-test pass the test with no errors
1794 found, then read scan the \fBremainder\fP of the disk. If the device
1795 is powered\-cycled while this read scan is in progress, the read scan
1796 will be automatically resumed after a time specified by the pending
1797 timer (see below). The value of this option is preserved between
1798 selective self\-tests.
1799
1800 .I afterselect,off
1801 \- [ATA only] do not read scan the remainder of the disk after a
1802 Selective self\-test has completed. This option must be use together
1803 with one or more of the \fIselect,N\-M\fP options above. The value of this
1804 option is preserved between selective self\-tests.
1805
1806 .I pending,N
1807 \- [ATA only] set the pending offline read scan timer to N minutes.
1808 Here N is an integer in the range from 0 to 65535 inclusive. If the
1809 device is powered off during a read scan after a Selective self\-test,
1810 then resume the test automatically N minutes after power\-up. This
1811 option must be use together with one or more of the \fIselect,N\-M\fP
1812 options above. The value of this option is preserved between selective
1813 self\-tests.
1814
1815 .I vendor,N
1816 \- [ATA only] issues the ATA command SMART EXECUTE OFF-LINE IMMEDIATE
1817 with subcommand N in LBA LOW register. The subcommand is specified as
1818 a hex value in the range 0x00 to 0xff. Subcommands 0x40-0x7e and
1819 0x90-0xff are reserved for vendor specific use, see table 61 of
1820 T13/1699-D Revision 6a (ATA8-ACS). Note that the subcommands
1821 0x00-0x04,0x7f,0x81-0x84 are supported by other smartctl options
1822 (e.g. 0x01: \'\-t short\', 0x7f: \'\-X\', 0x82: \'\-C \-t long\').
1823
1824 \fBWARNING: Only run subcommands documented by the vendor of the
1825 device.\fP
1826
1827 Example for Intel (X18\-M/X25\-M G2 and 320 Series) SSDs only:
1828 The subcommand 0x40 (\'\-t vendor,0x40\') clears the timed workload
1829 related SMART attributes (226, 227, 228). Note that the raw values of
1830 these attributes are held at 65535 (0xffff) until the workload timer
1831 reaches 60 minutes.
1832
1833 .I force
1834 \- [ATA only] start new self\-test even if another test is already running.
1835 By default a running self\-test will not be interrupted to begin another
1836 test.
1837
1838 .I scttempint,N[,p]
1839 \- is no longer supported, use \'\-l scttempint,N[,p]\' instead, see above.
1840 .TP
1841 .B \-C, \-\-captive
1842 [ATA] Runs self\-tests in captive mode. This has no effect with \'\-t
1843 offline\' or if the \'\-t\' option is not used.
1844
1845 \fBWARNING: Tests run in captive mode may busy out the drive for the
1846 length of the test. Only run captive tests on drives without any
1847 mounted partitions!\fP
1848
1849 [SCSI] Runs the self\-test in "Foreground" mode.
1850 .TP
1851 .B \-X, \-\-abort
1852 Aborts non\-captive SMART Self Tests. Note that this
1853 command will abort the Offline Immediate Test routine only if your
1854 disk has the "Abort Offline collection upon new command" capability.
1855 .PP
1856 .SH ATA, SCSI command sets and SAT
1857 In the past there has been a clear distinction between storage devices
1858 that used the ATA and SCSI command sets. This distinction was often
1859 reflected in their device naming and hardware. Now various SCSI
1860 transports (e.g. SAS, FC and iSCSI) can interconnect to both SCSI
1861 disks (e.g. FC and SAS) and ATA disks (especially SATA). USB and
1862 IEEE 1394 storage devices use the SCSI command set externally but
1863 almost always contain ATA or SATA disks (or flash). The storage
1864 subsystems in some operating systems have started to remove the
1865 distinction between ATA and SCSI in their device naming policies.
1866 .PP
1867 99% of operations that an OS performs on a disk involve the SCSI INQUIRY,
1868 READ CAPACITY, READ and WRITE commands, or their ATA equivalents. Since
1869 the SCSI commands are slightly more general than their ATA equivalents,
1870 many OSes are generating SCSI commands (mainly READ and WRITE) and
1871 letting a lower level translate them to their ATA equivalents as the
1872 need arises. An important note here is that "lower level" may be in
1873 external equipment and hence outside the control of an OS.
1874 .PP
1875 SCSI to ATA Translation (SAT) is a standard (ANSI INCITS 431-2007) that
1876 specifies how this translation is done. For the other 1% of operations
1877 that an OS performs on a disk, SAT provides two options. First is an
1878 optional ATA PASS-THROUGH SCSI command (there are two variants). The
1879 second is a translation from the closest SCSI command. Most current
1880 interest is in the "pass-through" option.
1881 .PP
1882 The relevance to smartmontools (and hence smartctl) is that its
1883 interactions with disks fall solidly into the "1%" category. So even
1884 if the OS can happily treat (and name) a disk as "SCSI", smartmontools
1885 needs to detect the native command set and act accordingly.
1886 As more storage manufacturers (including external SATA drives) comply
1887 with SAT, smartmontools is able to automatically distinguish the native
1888 command set of the device. In some cases the '\-d sat' option is needed
1889 on the command line.
1890 .PP
1891 There are also virtual disks which typically have no useful information
1892 to convey to smartmontools, but could conceivably in the future. An
1893 example of a virtual disk is the OS's view of a RAID 1 box. There are
1894 most likely two SATA disks inside a RAID 1 box. Addressing those SATA
1895 disks from a distant OS is a challenge for smartmontools. Another
1896 approach is running a tool like smartmontools inside the RAID 1 box (e.g.
1897 a Network Attached Storage (NAS) box) and fetching the logs via a
1898 browser.
1899 .PP
1900 .SH EXAMPLES
1901 .nf
1902 .B smartctl \-a /dev/hda
1903 .fi
1904 Print a large amount of SMART information for drive /dev/hda which is
1905 typically an ATA (IDE) or SATA disk in Linux.
1906 .PP
1907 .nf
1908 .B smartctl \-a /dev/sdb
1909 .fi
1910 Print a large amount of SMART information for drive /dev/sdb . This may
1911 be a SCSI disk or an ATA (SATA) disk.
1912 .PP
1913 .nf
1914 .B smartctl \-s off /dev/hdd
1915 .fi
1916 Disable SMART monitoring and data log collection on drive /dev/hdd .
1917 .PP
1918 .nf
1919 .B smartctl \-\-smart=on \-\-offlineauto=on \-\-saveauto=on /dev/hda
1920 .fi
1921 Enable SMART on drive /dev/hda, enable automatic offline
1922 testing every four hours, and enable autosaving of
1923 SMART Attributes. This is a good start\-up line for your system\'s
1924 init files. You can issue this command on a running system.
1925 .PP
1926 .nf
1927 .B smartctl \-t long /dev/hdc
1928 .fi
1929 Begin an extended self\-test of drive /dev/hdc. You can issue this
1930 command on a running system. The results can be seen in the self\-test
1931 log visible with the \'\-l selftest\' option after it has completed.
1932 .PP
1933 .nf
1934 .B smartctl \-s on \-t offline /dev/hda
1935 .fi
1936 Enable SMART on the disk, and begin an immediate offline test of
1937 drive /dev/hda. You can issue this command on a running system. The
1938 results are only used to update the SMART Attributes, visible
1939 with the \'\-A\' option. If any device errors occur, they are logged to
1940 the SMART error log, which can be seen with the \'\-l error\' option.
1941 .PP
1942 .nf
1943 .B smartctl \-A \-v 9,minutes /dev/hda
1944 .fi
1945 Shows the vendor Attributes, when the disk stores its power\-on time
1946 internally in minutes rather than hours.
1947 .PP
1948 .nf
1949 .B smartctl \-q errorsonly \-H \-l selftest /dev/hda
1950 .fi
1951 Produces output only if the device returns failing SMART status,
1952 or if some of the logged self\-tests ended with errors.
1953 .PP
1954 .nf
1955 .B smartctl \-q silent \-a /dev/hda
1956 .fi
1957 Examine all SMART data for device /dev/hda, but produce no
1958 printed output. You must use the exit status (the
1959 .B $?
1960 shell variable) to learn if any Attributes are out of bound, if the
1961 SMART status is failing, if there are errors recorded in the
1962 self\-test log, or if there are errors recorded in the disk error log.
1963 .PP
1964 .nf
1965 .B smartctl \-a \-d 3ware,0 /dev/sda
1966 .fi
1967 Examine all SMART data for the first ATA disk connected to a 3ware
1968 RAID controller card.
1969 .PP
1970 .nf
1971 .B smartctl \-a \-d 3ware,0 /dev/twe0
1972 .fi
1973 Examine all SMART data for the first ATA disk connected to a 3ware
1974 RAID 6000/7000/8000 controller card.
1975 .PP
1976 .nf
1977 .B smartctl \-a \-d 3ware,0 /dev/twa0
1978 .fi
1979 Examine all SMART data for the first ATA disk connected to a
1980 3ware RAID 9000 controller card.
1981 .PP
1982 .nf
1983 .B smartctl \-a \-d 3ware,0 /dev/twl0
1984 .fi
1985 Examine all SMART data for the first SATA (not SAS) disk connected to a
1986 3ware RAID 9750 controller card.
1987 .PP
1988 .nf
1989 .B smartctl \-t short \-d 3ware,3 /dev/sdb
1990 .fi
1991 Start a short self\-test on the fourth ATA disk connected to the 3ware RAID
1992 controller card which is the second SCSI device /dev/sdb.
1993 .PP
1994 .nf
1995 .B smartctl \-t long \-d areca,4 /dev/sg2
1996 .fi
1997 Start a long self\-test on the fourth SATA disk connected to an Areca RAID
1998 controller addressed by /dev/sg2.
1999 .PP
2000 .nf
2001 .B smartctl \-a \-d hpt,1/3 /dev/sda (under Linux)
2002 .B smartctl \-a \-d hpt,1/3 /dev/hptrr (under FreeBSD)
2003 .fi
2004 Examine all SMART data for the (S)ATA disk directly connected to the third channel of the
2005 first HighPoint RocketRAID controller card.
2006 .nf
2007 .PP
2008 .nf
2009 .B smartctl \-t short \-d hpt,1/1/2 /dev/sda (under Linux)
2010 .B smartctl \-t short \-d hpt,1/1/2 /dev/hptrr (under FreeBSD)
2011 .fi
2012 Start a short self\-test on the (S)ATA disk connected to second pmport on the
2013 first channel of the first HighPoint RocketRAID controller card.
2014 .PP
2015 .nf
2016 .B smartctl \-t select,10\-100 \-t select,30\-300 \-t afterselect,on \-t pending,45 /dev/hda
2017 .fi
2018 Run a selective self\-test on LBAs 10 to 100 and 30 to 300. After the
2019 these LBAs have been tested, read\-scan the remainder of the disk. If the disk is
2020 power\-cycled during the read\-scan, resume the scan 45 minutes after power to the
2021 device is restored.
2022 .PP
2023 .nf
2024 .B smartctl \-a \-d cciss,0 /dev/cciss/c0d0
2025 .fi
2026 Examine all SMART data for the first SCSI disk connected to a cciss
2027 RAID controller card.
2028 .PP
2029 .SH RETURN VALUES
2030 The return values of \fBsmartctl\fP are defined by a bitmask. If all
2031 is well with the disk, the return value (exit status) of
2032 \fBsmartctl\fP is 0 (all bits turned off). If a problem occurs, or an
2033 error, potential error, or fault is detected, then a non\-zero status
2034 is returned. In this case, the eight different bits in the return
2035 value have the following meanings for ATA disks; some of these values
2036 may also be returned for SCSI disks.
2037 .TP
2038 .B Bit 0:
2039 Command line did not parse.
2040 .TP
2041 .B Bit 1:
2042 Device open failed, device did not return an IDENTIFY DEVICE structure,
2043 or device is in a low-power mode (see \'\-n\' option above).
2044 .TP
2045 .B Bit 2:
2046 Some SMART or other ATA command to the disk failed, or there was a checksum
2047 error in a SMART data structure (see \'\-b\' option above).
2048 .TP
2049 .B Bit 3:
2050 SMART status check returned "DISK FAILING".
2051 .TP
2052 .B Bit 4:
2053 We found prefail Attributes <= threshold.
2054 .TP
2055 .B Bit 5:
2056 SMART status check returned "DISK OK" but we found that some (usage
2057 or prefail) Attributes have been <= threshold at some time in the
2058 past.
2059 .TP
2060 .B Bit 6:
2061 The device error log contains records of errors.
2062 .TP
2063 .B Bit 7:
2064 The device self\-test log contains records of errors.
2065 [ATA only] Failed self-tests outdated by a newer successful extended
2066 self\-test are ignored.
2067 .PP
2068 To test within the shell for whether or not the different bits are
2069 turned on or off, you can use the following type of construction (this
2070 is bash syntax):
2071 .nf
2072 .B smartstat=$(($? & 8))
2073 .fi
2074 This looks at only at bit 3 of the exit status
2075 .B $?
2076 (since 8=2^3). The shell variable
2077 $smartstat will be nonzero if SMART status check returned "disk
2078 failing" and zero otherwise.
2079
2080 This bash script prints all status bits:
2081 .nf
2082 status=$?
2083 for ((i=0; i<8; i++)); do
2084 echo "Bit $i: $((status & 2**i && 1))"
2085 done
2086 .fi
2087
2088 .PP
2089 .SH NOTES
2090 The TapeAlert log page flags are cleared for the initiator when the
2091 page is read. This means that each alert condition is reported only
2092 once by \fBsmartctl\fP for each initiator for each activation of the
2093 condition.
2094
2095 .PP
2096 .SH AUTHOR
2097 \fBBruce Allen\fP smartmontools\-support@lists.sourceforge.net
2098 .fi
2099 University of Wisconsin \- Milwaukee Physics Department
2100
2101 .PP
2102 .SH CONTRIBUTORS
2103 The following have made large contributions to smartmontools:
2104 .nf
2105 \fBCasper Dik\fP (Solaris SCSI interface)
2106 \fBChristian Franke\fP (Windows interface, C++ redesign, USB support, ...)
2107 \fBDouglas Gilbert\fP (SCSI subsystem)
2108 \fBGuido Guenther\fP (Autoconf/Automake packaging)
2109 \fBGeoffrey Keating\fP (Darwin ATA interface)
2110 \fBEduard Martinescu\fP (FreeBSD interface)
2111 \fBFr\['e]d\['e]ric L. W. Meunier\fP (Web site and Mailing list)
2112 \fBGabriele Pohl\fP (Web site and Wiki, conversion from CVS to SVN)
2113 \fBKeiji Sawada\fP (Solaris ATA interface)
2114 \fBManfred Schwarb\fP (Drive database)
2115 \fBSergey Svishchev\fP (NetBSD interface)
2116 \fBDavid Snyder and Sergey Svishchev\fP (OpenBSD interface)
2117 \fBPhil Williams\fP (User interface and drive database)
2118 \fBYuri Dario\fP (OS/2, eComStation interface)
2119 \fBShengfeng Zhou\fP (Linux/FreeBSD HighPoint RocketRAID interface)
2120 .fi
2121 Many other individuals have made smaller contributions and corrections.
2122
2123 .PP
2124 .SH CREDITS
2125 .fi
2126 This code was derived from the smartsuite package, written by Michael
2127 Cornwell, and from the previous UCSC smartsuite package. It extends
2128 these to cover ATA\-5 disks. This code was originally developed as a
2129 Senior Thesis by Michael Cornwell at the Concurrent Systems Laboratory
2130 (now part of the Storage Systems Research Center), Jack Baskin School
2131 of Engineering, University of California, Santa
2132 Cruz. \fBhttp://ssrc.soe.ucsc.edu/\fP .
2133 .SH
2134 HOME PAGE FOR SMARTMONTOOLS:
2135 .fi
2136 Please see the following web site for updates, further documentation, bug
2137 reports and patches: \fBhttp://smartmontools.sourceforge.net/\fP
2138
2139 .SH
2140 SEE ALSO:
2141 \fBsmartd\fP(8), \fBbadblocks\fP(8), \fBide\-smart\fP(8).
2142 .SH
2143 REFERENCES FOR SMART
2144 .fi
2145 An introductory article about smartmontools is \fIMonitoring Hard
2146 Disks with SMART\fP, by Bruce Allen, Linux Journal, January 2004,
2147 pages 74\-77. This is \fBhttp://www.linuxjournal.com/article/6983\fP
2148 online.
2149
2150 If you would like to understand better how SMART works, and what it
2151 does, a good place to start is with Sections 4.8 and 6.54 of the first
2152 volume of the \'AT Attachment with Packet Interface\-7\' (ATA/ATAPI\-7)
2153 specification Revision 4b. This documents the SMART functionality which the
2154 \fBsmartmontools\fP utilities provide access to.
2155
2156 .fi
2157 The functioning of SMART was originally defined by the SFF\-8035i
2158 revision 2 and the SFF\-8055i revision 1.4 specifications. These are
2159 publications of the Small Form Factors (SFF) Committee.
2160
2161 Links to these and other documents may be found on the Links page of the
2162 \fBsmartmontools\fP Wiki at
2163 \fBhttp://sourceforge.net/apps/trac/smartmontools/wiki/Links\fP .
2164
2165 .SH
2166 SVN ID OF THIS PAGE:
2167 $Id: smartctl.8.in 3530 2012-03-27 19:54:06Z chrfranke $