2 Copyright (C) 2002-10 Bruce Allen
3 Copyright (C) 2004-15 Christian Franke
5 $Id: smartctl.8.in 4099 2015-05-30 17:32:13Z chrfranke $
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 2, or (at your option)
12 You should have received a copy of the GNU General Public License
13 (for example COPYING); If not, see <http://www.gnu.org/licenses/>.
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/
21 .TH SMARTCTL 8 "CURRENT_SVN_DATE" "CURRENT_SVN_VERSION" "SMART Monitoring Tools"
23 \fBsmartctl\fP \- Control and Monitor Utility for SMART Disks
26 .B smartctl [options] device
30 .\"! [This man page is generated for the OS_MAN_FILTER version of smartmontools.
31 .\"! It does not contain info specific to other platforms.]
34 \fBsmartctl\fP controls the Self-Monitoring, Analysis and
35 Reporting Technology (SMART) system built into most ATA/SATA and SCSI/SAS
36 hard drives and solid-state drives.
37 The purpose of SMART is to monitor the reliability of the hard drive
38 and predict drive failures, and to carry out different types of drive
40 \fBsmartctl\fP also supports some features not related to SMART.
41 This version of \fBsmartctl\fP is compatible with
42 ACS-3, ACS-2, ATA8-ACS, ATA/ATAPI-7 and earlier standards
43 (see \fBREFERENCES\fP below).
45 \fBsmartctl\fP also provides support for polling TapeAlert messages
46 from SCSI tape drives and changers.
48 The user must specify the device to be controlled or interrogated as
49 the final argument to \fBsmartctl\fP. The command set used by the device
50 is often derived from the device path but may need help with the \'\-d\'
51 option (for more information see the section on "ATA, SCSI command sets
52 and SAT" below). Device paths are as follows:
55 Use the forms \fB"/dev/sd[a\-z]"\fP for ATA/SATA and SCSI/SAS devices.
56 For SCSI Tape Drives and Changers with TapeAlert support use the
57 devices \fB"/dev/nst*"\fP and \fB"/dev/sg*"\fP. For disks behind
58 3ware controllers you may need \fB"/dev/sd[a\-z]"\fP or
59 \fB"/dev/twe[0\-9]"\fP, \fB"/dev/twa[0\-9]"\fP or \fB"/dev/twl[0\-9]"\fP: see details
60 below. For disks behind HighPoint RocketRAID controllers you may need
61 \fB"/dev/sd[a\-z]"\fP. For disks behind Areca SATA RAID controllers,
62 you need \fB"/dev/sg[2\-9]"\fP (note that smartmontools interacts with
63 the Areca controllers via a SCSI generic device which is different
64 than the SCSI device used for reading and writing data)! For HP Smart
65 Array RAID controllers, there are three currently supported drivers: cciss,
66 hpsa, and hpahcisr. For disks accessed via the cciss driver the device nodes
67 are of the form \fB"/dev/cciss/c[0\-9]d0"\fP. For disks accessed via
68 the hpahcisr and hpsa drivers, the device nodes you need are \fB"/dev/sg[0\-9]*"\fP.
69 ("lsscsi \-g" is helpful in determining which scsi generic device node corresponds
70 to which device.) Use the nodes corresponding to the RAID controllers,
71 not the nodes corresponding to logical drives. See the \fB\-d\fP option below, as well.
75 Use the forms \fB/dev/disk[0\-9]\fP or equivalently \fBdisk[0\-9]\fP or equivalently
76 \fB/dev/rdisk[0\-9]\fP. Long forms are also available: please use \'\-h\' to see some
77 examples. Note that there is currently no Darwin SCSI support.
79 Use the OS X SAT SMART Driver to access SMART data on SAT capable USB and
80 Firewire devices (see INSTALL file).
84 Use the forms \fB"/dev/ad[0\-9]+"\fP for IDE/ATA
85 devices and \fB"/dev/da[0\-9]+"\fP or \fB"/dev/pass[0\-9]+"\fP for SCSI devices.
86 For SATA devices on AHCI bus use \fB"/dev/ada[0\-9]+"\fP format. For HP Smart
87 Array RAID controllers, use \fB"/dev/ciss[0\-9]"\fP (and see the \fB-d\fP option,
90 .\" %IF OS NetBSD OpenBSD
91 .IP \fBNETBSD/OPENBSD\fP: 9
92 Use the form \fB"/dev/wd[0\-9]+c"\fP for IDE/ATA
93 devices. For SCSI disk and tape devices, use the device names
94 \fB"/dev/sd[0\-9]+c"\fP and \fB"/dev/st[0\-9]+c"\fP respectively.
95 Be sure to specify the correct "whole disk" partition letter for
97 .\" %ENDIF OS NetBSD OpenBSD
100 Use the forms \fB"/dev/rdsk/c?t?d?s?"\fP for IDE/ATA and SCSI disk
101 devices, and \fB"/dev/rmt/*"\fP for SCSI tape devices.
102 .\" %ENDIF OS Solaris
103 .\" %IF OS Windows Cygwin
105 Use the forms \fB"/dev/sd[a\-z]"\fP for IDE/(S)ATA and SCSI disks
106 "\\\\.\\PhysicalDrive[0\-25]" (where "a" maps to "0").
107 Use \fB"/dev/sd[a\-z][a\-z]"\fP for "\\\\.\\PhysicalDrive[26\-...]".
108 These disks can also be referred to as \fB"/dev/pd[0\-255]"\fP for
109 "\\\\.\\PhysicalDrive[0\-255]".
110 ATA disks can also be referred to as \fB"/dev/hd[a\-z]"\fP for
111 "\\\\.\\PhysicalDrive[0\-25]".
112 Use one the forms \fB"/dev/tape[0\-255]"\fP, \fB"/dev/st[0\-255]"\fP,
113 or \fB"/dev/nst[0\-255]"\fP for SCSI tape drives "\\\\.\\Tape[0\-255]".
115 Alternatively, drive letters \fB"X:"\fP or \fB"X:\\"\fP may be used to
116 specify the (\'basic\') disk behind a mounted partition. This does
117 not work with \'dynamic\' disks.
119 For disks behind 3ware 9000 controllers use \fB"/dev/sd[a\-z],N"\fP where
120 N specifies the disk number (3ware \'port\') behind the controller
121 providing the logical drive (\'unit\') specified by \fB"/dev/sd[a\-z]"\fP.
122 Alternatively, use \fB"/dev/tw_cli/cx/py"\fP for controller x, port y
123 to run the \'tw_cli\' tool and parse the output. This provides limited
124 monitoring (\'\-i\', \'\-c\', \'\-A\' below) if SMART support is missing
125 in the driver. Use \fB"/dev/tw_cli/stdin"\fP or \fB"/dev/tw_cli/clip"\fP
126 to parse CLI or 3DM output from standard input or clipboard.
127 The option \'\-d 3ware,N\' is not necessary on Windows.
129 For disks behind an Intel ICHxR controller with RST driver use
130 \fB"/dev/csmi[0\-9],N"\fP where N specifies the port behind the logical
131 scsi controller "\\\\.\\Scsi[0\-9]:".
133 For SATA or SAS disks behind an Areca controller use
134 \fB"/dev/arcmsr[0\-9]"\fP, see \'\-d areca,N[/E]\' below.
136 The prefix \fB"/dev/"\fP is optional.
137 .\" %ENDIF OS Windows Cygwin
139 .IP \fBOS/2,eComStation\fP: 9
140 Use the form \fB"/dev/hd[a\-z]"\fP for IDE/ATA devices.
143 if \'\-\' is specified as the device path, \fBsmartctl\fP reads and
144 interprets it's own debug output from standard input.
145 See \'\-r ataioctl\' below for details.
147 Based on the device path, \fBsmartctl\fP will guess the device type
148 (ATA or SCSI). If necessary, the \'\-d\' option can be used to override
151 Note that the printed output of \fBsmartctl\fP displays most numerical
152 values in base 10 (decimal), but some values are displayed in base 16
153 (hexadecimal). To distinguish them, the base 16 values are always
154 displayed with a leading \fB"0x"\fP, for example: "0xff". This man
155 page follows the same convention.
158 The options are grouped below into several categories. \fBsmartctl\fP
159 will execute the corresponding commands in the order: INFORMATION,
160 ENABLE/DISABLE, DISPLAY DATA, RUN/ABORT TESTS.
163 .B SHOW INFORMATION OPTIONS:
165 .B \-h, \-\-help, \-\-usage
166 Prints a usage message to STDOUT and exits.
168 .B \-V, \-\-version, \-\-copyright, \-\-license
169 Prints version, copyright, license, home page and SVN revision
170 information for your copy of \fBsmartctl\fP to STDOUT and then exits.
171 Please include this information if you are reporting bugs or problems.
174 Prints the device model number, serial number, firmware version, and
175 ATA Standard version/revision information. Says if the device
176 supports SMART, and if so, whether SMART support is currently enabled
177 or disabled. If the device supports Logical Block Address mode (LBA
178 mode) print current user drive capacity in bytes. (If drive is has a
179 user protected area reserved, or is "clipped", this may be smaller
180 than the potential maximum drive capacity.) Indicates if the drive is
181 in the smartmontools database (see \'\-v\' options below). If so, the
182 drive model family may also be printed. If \'\-n\' (see below) is
183 specified, the power mode of the drive is printed.
185 .B \-\-identify[=[w][nvb]]
186 [ATA only] Prints an annotated table of the IDENTIFY DEVICE data.
187 By default, only valid words (words not equal to 0x0000 or 0xffff)
188 and nonzero bits and bit fields are printed.
189 This can be changed by the optional argument which consists of one or
190 two characters from the set \'wnvb\'.
191 The character \'w\' enables printing of all 256 words. The character
192 \'n\' suppresses printing of bits, \'v\' enables printing of all bits
193 from valid words, \'b\' enables printing of all bits.
194 For example \'\-\-identify=n\' (valid words, no bits) produces the
195 shortest output and \'\-\-identify=wb\' (all words, all bits) produces
199 Prints all SMART information about the disk, or TapeAlert information
200 about the tape drive or changer. For ATA devices this is equivalent
203 \'\-H \-i \-c \-A \-l error \-l selftest \-l selective\'
205 and for SCSI, this is equivalent to
207 \'\-H \-i \-A \-l error \-l selftest\'.
209 Note that for ATA disks this does \fBnot\fP enable the non-SMART options
210 and the SMART options which require support for 48-bit ATA commands.
213 Prints all SMART and non-SMART information about the device. For ATA
214 devices this is equivalent to
216 \'\-H \-i \-g all \-c \-A \-f brief \-l xerror,error \-l xselftest,selftest
217 \-l selective \-l directory \-l scttemp \-l scterc \-l devstat \-l sataphy\'.
219 and for SCSI, this is equivalent to
221 \'\-H \-i \-A \-l error \-l selftest \-l background \-l sasphy\'.
225 Scans for devices and prints each device name, device type and protocol
226 ([ATA] or [SCSI]) info. May be used in conjunction with \'\-d TYPE\'
227 to restrict the scan to a specific TYPE. See also info about platform
228 specific device scan and the \fBDEVICESCAN\fP directive on
229 \fBsmartd\fP(8) man page.
232 Same as \-\-scan, but also tries to open each device before printing
233 device info. The device open may change the device type due
234 to autodetection (see also \'\-d test\').
236 This option can be used to create a draft \fBsmartd.conf\fP file.
237 All options after \'\-\-\' are appended to each output line.
240 smartctl \-\-scan\-open \-\- \-a \-W 4,45,50 \-m admin@work > smartd.conf
243 .B \-g NAME, \-\-get=NAME
244 Get non-SMART device settings. See \'\-s, \-\-set\' below for further info.
247 .B RUN-TIME BEHAVIOR OPTIONS:
249 .B \-q TYPE, \-\-quietmode=TYPE
250 Specifies that \fBsmartctl\fP should run in one of the two quiet modes
251 described here. The valid arguments to this option are:
254 \- only print: For the \'\-l error\' option, if nonzero, the number
255 of errors recorded in the SMART error log and the power-on time when
256 they occurred; For the \'\-l selftest\' option, errors recorded in the device
257 self-test log; For the \'\-H\' option, SMART "disk failing" status or device
258 Attributes (pre-failure or usage) which failed either now or in the
259 past; For the \'\-A\' option, device Attributes (pre-failure or usage)
260 which failed either now or in the past.
263 \- print no output. The only way to learn about what was found is to
264 use the exit status of \fBsmartctl\fP (see EXIT STATUS below).
267 \- Do not print the serial number of the device.
269 .B \-d TYPE, \-\-device=TYPE
270 Specifies the type of the device.
271 The valid arguments to this option are:
274 \- attempt to guess the device type from the device name or from
275 controller type info provided by the operating system or from
276 a matching USB ID entry in the drive database.
280 \- prints the guessed type, then opens the device and prints the
281 (possibly changed) TYPE name and then exists without performing
282 any further commands.
285 \- the device type is ATA. This prevents
287 from issuing SCSI commands to an ATA device.
289 .\" %IF NOT OS Darwin
291 \- the device type is SCSI. This prevents
293 from issuing ATA commands to a SCSI device.
296 \- the device type is SCSI to ATA Translation (SAT).
297 This is for ATA disks that have a SCSI to ATA Translation (SAT) Layer
298 (SATL) between the disk and the operating system.
299 SAT defines two ATA PASS THROUGH SCSI commands, one 12 bytes long and
300 the other 16 bytes long. The default is the 16 byte variant which can be
301 overridden with either \'\-d sat,12\' or \'\-d sat,16\'.
303 If \'\-d sat,auto\' is specified, device type SAT (for ATA/SATA disks) is
304 only used if the SCSI INQUIRY data reports a SATL (VENDOR: "ATA ").
305 Otherwise device type SCSI (for SCSI/SAS disks) is used.
308 \- this device type is for ATA disks that are behind a Cypress USB to PATA
309 bridge. This will use the ATACB proprietary scsi pass through command.
310 The default SCSI operation code is 0x24, but although it can be overridden
311 with \'\-d usbcypress,0xN\', where N is the scsi operation code,
312 you're running the risk of damage to the device or filesystems on it.
314 .I usbjmicron[,p][,x][,PORT]
315 \- this device type is for SATA disks that are behind a JMicron USB to
316 PATA/SATA bridge. The 48-bit ATA commands (required e.g. for \'\-l xerror\',
317 see below) do not work with all of these bridges and are therefore disabled by
318 default. These commands can be enabled by \'\-d usbjmicron,x\'.
319 If two disks are connected to a bridge with two ports, an error message is printed
320 if no PORT is specified.
321 The port can be specified by \'\-d usbjmicron[,x],PORT\' where PORT is 0
322 (master) or 1 (slave). This is not necessary if the device uses a port
323 multiplier to connect multiple disks to one port. The disks appear under
324 separate /dev/ice names then.
325 CAUTION: Specifying \',x\' for a device which does not support it results
326 in I/O errors and may disconnect the drive. The same applies if the specified
327 PORT does not exist or is not connected to a disk.
329 The Prolific PL2507/3507 USB bridges with older firmware support a pass-through
330 command similar to JMicron and work with \'\-d usbjmicron,0\'.
331 Newer Prolific firmware requires a modified command which can be selected by
332 \'\-d usbjmicron,p\'.
333 Note that this does not yet support the SMART status command.
336 \- [NEW EXPERIMENTAL SMARTCTL FEATURE]
337 this device type is for SATA disks that are behind a Prolific PL2571/2771/2773/2775
341 \- this device type is for SATA disks that are behind a SunplusIT USB to SATA
344 .\" %ENDIF NOT OS Darwin
347 \- [Linux only] interact with SATA disks behind Marvell chip-set
348 controllers (using the Marvell rather than libata driver).
351 \- [Linux only] the device consists of one or more SCSI/SAS disks connected
352 to a MegaRAID controller. The non-negative integer N (in the range of 0 to
353 127 inclusive) denotes which disk on the controller is monitored.
356 \fBsmartctl \-a \-d megaraid,2 /dev/sda\fP
359 \fBsmartctl \-a \-d megaraid,0 /dev/sdb\fP
362 \fBsmartctl \-a \-d megaraid,0 /dev/bus/0\fP
364 This interface will also work for Dell PERC controllers.
365 It is possible to set RAID device name as /dev/bus/N, where N is a SCSI bus
368 The following entry in /proc/devices must exist:
370 For PERC2/3/4 controllers: \fBmegadevN\fP
372 For PERC5/6 controllers: \fBmegaraid_sas_ioctlN\fP
375 .\" %IF OS Linux Windows Cygwin
377 \- [Linux, Windows and Cygwin only] [NEW EXPERIMENTAL SMARTCTL FEATURE]
378 the device consists of one or more SCSI/SAS disks connected to an AacRaid controller.
379 The non-negative integers H,L,ID (Host number, Lun, ID) denote which disk
380 on the controller is monitored.
383 \fBsmartctl \-a \-d aacraid,0,0,2 /dev/sda\fP
386 \fBsmartctl \-a \-d aacraid,1,0,4 /dev/sdb\fP
389 .\" %ENDIF OS Linux Windows Cygwin
391 On Linux, the following entry in /proc/devices must exist: \fBaac\fP.
392 Character device nodes /dev/aacH (H=Host number) are created if required.
395 .\" %IF OS Windows Cygwin
396 On Windows, the device name parameter /dev/sdX is ignored if \'-d aacraid\'
399 .\" %ENDIF OS Windows Cygwin
400 .\" %IF OS FreeBSD Linux
402 \- [FreeBSD and Linux only] the device consists of one or more ATA disks
403 connected to a 3ware RAID controller. The non-negative integer N
404 (in the range from 0 to 127 inclusive) denotes which disk on the controller
408 \fBsmartctl \-a \-d 3ware,2 /dev/sda\fP [Linux only]
411 \fBsmartctl \-a \-d 3ware,0 /dev/twe0\fP
414 \fBsmartctl \-a \-d 3ware,1 /dev/twa0\fP
417 \fBsmartctl \-a \-d 3ware,1 /dev/twl0\fP [Linux only]
420 \fBsmartctl \-a \-d 3ware,1 /dev/tws0\fP [FreeBSD only]
422 The first two forms, which refer to devices /dev/sda\-z and /dev/twe0\-15,
423 may be used with 3ware series 6000, 7000, and 8000 series controllers
424 that use the 3x-xxxx driver.
425 \fBNote that the /dev/sda\-z form is deprecated\fP starting with
426 the Linux 2.6 kernel series and may not be supported by the Linux
427 kernel in the near future. The final form, which refers to devices
428 /dev/twa0\-15, must be used with 3ware 9000 series controllers, which
429 use the 3w\-9xxx driver.
431 The devices /dev/twl0\-15 [Linux] or /dev/tws0\-15 [FreeBSD] must be used with the 3ware/LSI 9750 series
432 controllers which use the 3w-sas driver.
434 Note that if the special character device nodes /dev/tw[ls]?, /dev/twa?
435 and /dev/twe? do not exist, or exist with the incorrect major or minor
436 numbers, smartctl will recreate them on the fly. Typically /dev/twa0
437 refers to the first 9000-series controller, /dev/twa1 refers to the
438 second 9000 series controller, and so on. The /dev/twl0 devices refers
439 to the first 9750 series controller, /dev/twl1 resfers to the second
440 9750 series controller, and so on. Likewise /dev/twe0 refers to
441 the first 6/7/8000-series controller, /dev/twe1 refers to the second
442 6/7/8000 series controller, and so on.
444 Note that for the 6/7/8000 controllers, \fBany\fP of the physical
445 disks can be queried or examined using \fBany\fP of the 3ware's SCSI
446 logical device /dev/sd? entries. Thus, if logical device /dev/sda is
447 made up of two physical disks (3ware ports zero and one) and logical
448 device /dev/sdb is made up of two other physical disks (3ware ports
449 two and three) then you can examine the SMART data on \fBany\fP of the
450 four physical disks using \fBeither\fP SCSI device /dev/sda \fBor\fP
451 /dev/sdb. If you need to know which logical SCSI device a particular
452 physical disk (3ware port) is associated with, use the dmesg or SYSLOG
453 output to show which SCSI ID corresponds to a particular 3ware unit,
454 and then use the 3ware CLI or 3dm tool to determine which ports
455 (physical disks) correspond to particular 3ware units.
457 If the value of N corresponds to a port that does \fBnot\fP exist on
458 the 3ware controller, or to a port that does not physically have a
459 disk attached to it, the behavior of \fBsmartctl\fP depends upon the
460 specific controller model, firmware, Linux kernel and platform. In
461 some cases you will get a warning message that the device does not
462 exist. In other cases you will be presented with \'void\' data for a
465 Note that if the /dev/sd? addressing form is used, then older 3w-xxxx
466 drivers do not pass the "Enable Autosave"
467 (\'\fB\-S on\fP\') and "Enable Automatic Offline" (\'\fB\-o on\fP\')
468 commands to the disk, and produce these types of harmless syslog error
469 messages instead: "\fB3w-xxxx: tw_ioctl(): Passthru size (123392) too
470 big\fP". This can be fixed by upgrading to version 1.02.00.037 or
471 later of the 3w-xxxx driver, or by applying a patch to older
472 versions. Alternatively, use the character device /dev/twe0\-15 interface.
474 The selective self-test functions (\'\-t select,A\-B\') are only supported
475 using the character device interface /dev/twl0\-15, /dev/tws0\-15, /dev/twa0\-15 and /dev/twe0\-15.
476 The necessary WRITE LOG commands can not be passed through the SCSI
479 .\" %ENDIF OS FreeBSD Linux
480 .\" %IF OS FreeBSD Linux Windows Cygwin
482 \- [FreeBSD, Linux, Windows and Cygwin only] the device consists of one or more SATA disks
483 connected to an Areca SATA RAID controller. The positive integer N (in the range
484 from 1 to 24 inclusive) denotes which disk on the controller is monitored.
485 .\" %ENDIF OS FreeBSD Linux Windows Cygwin
487 On Linux use syntax such as:
489 \fBsmartctl \-a \-d areca,2 /dev/sg2\fP
492 \fBsmartctl \-a \-d areca,3 /dev/sg3\fP
496 On FreeBSD use syntax such as:
498 \fBsmartctl \-a \-d areca,2 /dev/arcmsr1\fP
501 \fBsmartctl \-a \-d areca,3 /dev/arcmsr2\fP
503 .\" %ENDIF OS FreeBSD
504 .\" %IF OS Windows Cygwin
505 On Windows and Cygwin use syntax such as:
507 \fBsmartctl \-a \-d areca,2 /dev/arcmsr0\fP
510 \fBsmartctl \-a \-d areca,3 /dev/arcmsr1\fP
512 .\" %ENDIF OS Windows Cygwin
513 .\" %IF OS FreeBSD Linux Windows Cygwin
514 The first line above addresses the second disk on the first Areca RAID controller.
515 The second line addresses the third disk on the second Areca RAID
517 .\" %ENDIF OS FreeBSD Linux Windows Cygwin
519 To help identify the correct device on Linux, use the command:
521 \fBcat /proc/scsi/sg/device_hdr /proc/scsi/sg/devices\fP
523 to show the SCSI generic devices (one per line, starting with
524 /dev/sg0). The correct SCSI generic devices to address for
525 smartmontools are the ones with the type field equal to 3. If the
526 incorrect device is addressed, please read the warning/error messages
527 carefully. They should provide hints about what devices to use.
529 .\" %IF OS FreeBSD Linux Windows Cygwin
531 Important: the Areca controller must have firmware version 1.46 or
532 later. Lower-numbered firmware versions will give (harmless) SCSI
533 error messages and no SMART information.
536 \- [FreeBSD, Linux, Windows and Cygwin only] the device consists of one
537 or more SATA or SAS disks connected to an Areca SAS RAID controller.
538 The integer N (range 1 to 128) denotes the channel (slot) and E (range
539 1 to 8) denotes the enclosure.
540 Important: This requires Areca SAS controller firmware version 1.51 or later.
542 .\" %ENDIF OS FreeBSD Linux Windows Cygwin
543 .\" %IF OS FreeBSD Linux
545 \- [FreeBSD and Linux only] the device consists of one or more SCSI/SAS or SATA disks
546 connected to a cciss RAID controller. The non-negative integer N (in the range
547 from 0 to 15 inclusive) denotes which disk on the controller is monitored.
549 To look at disks behind HP Smart Array controllers, use syntax
551 .\" %ENDIF OS FreeBSD Linux
554 \fBsmartctl \-a \-d cciss,0 /dev/cciss/c0d0\fP (cciss driver under Linux)
557 \fBsmartctl \-a \-d cciss,0 /dev/sg2\fP (hpsa or hpahcisr drivers under Linux)
562 \fBsmartctl \-a \-d cciss,0 /dev/ciss0\fP (under FreeBSD)
564 .\" %ENDIF OS FreeBSD
565 .\" %IF OS FreeBSD Linux
568 \- [FreeBSD and Linux only] the device consists of one or more ATA disks
569 connected to a HighPoint RocketRAID controller. The integer L is the
570 controller id, the integer M is the channel number, and the integer N
571 is the PMPort number if it is available. The allowed values of L are
572 from 1 to 4 inclusive, M are from 1 to 128 inclusive and N from 1 to 4
573 if PMPort available. And also these values are limited by the model
574 of the HighPoint RocketRAID controller.
576 .\" %ENDIF OS FreeBSD Linux
579 \fBsmartctl \-a \-d hpt,1/3 /dev/sda\fP (under Linux)
582 \fBsmartctl \-a \-d hpt,1/2/3 /dev/sda\fP (under Linux)
587 \fBsmartctl \-a \-d hpt,1/3 /dev/hptrr\fP (under FreeBSD)
590 \fBsmartctl \-a \-d hpt,1/2/3 /dev/hptrr\fP (under FreeBSD)
592 .\" %ENDIF OS FreeBSD
593 .\" %IF OS FreeBSD Linux
594 Note that the /dev/sda\-z form should be the device node which stands for
595 the disks derived from the HighPoint RocketRAID controllers under Linux and
596 under FreeBSD, it is the character device which the driver registered (eg,
597 /dev/hptrr, /dev/hptmv6).
598 .\" %ENDIF OS FreeBSD Linux
600 .B \-T TYPE, \-\-tolerance=TYPE
601 [ATA only] Specifies how tolerant \fBsmartctl\fP should be of ATA and SMART
604 The behavior of \fBsmartctl\fP depends upon whether the command is
605 "\fBoptional\fP" or "\fBmandatory\fP". Here "\fBmandatory\fP" means
606 "required by the ATA Specification if the device implements
607 the SMART command set" and "\fBoptional\fP" means "not required by the
608 ATA Specification even if the device implements the SMART
609 command set." The "\fBmandatory\fP" ATA and SMART commands are: (1)
610 ATA IDENTIFY DEVICE, (2) SMART ENABLE/DISABLE ATTRIBUTE AUTOSAVE, (3)
611 SMART ENABLE/DISABLE, and (4) SMART RETURN STATUS.
613 The valid arguments to this option are:
616 \- exit on failure of any \fBmandatory\fP SMART command, and ignore
617 all failures of \fBoptional\fP SMART commands. This is the default.
618 Note that on some devices, issuing unimplemented optional SMART
619 commands doesn\'t cause an error. This can result in misleading
620 \fBsmartctl\fP messages such as "Feature X not implemented", followed
621 shortly by "Feature X: enabled". In most such cases, contrary to the
622 final message, Feature X is \fBnot\fP enabled.
625 \- exit on failure of any \fBoptional\fP SMART command.
628 \- ignore failure(s) of \fBmandatory\fP SMART commands. This option
629 may be given more than once. Each additional use of this option will
630 cause one more additional failure to be ignored. Note that the use of
631 this option can lead to messages like "Feature X not supported",
632 followed shortly by "Feature X enable failed". In a few
633 such cases, contrary to the final message, Feature X \fBis\fP enabled.
636 \- equivalent to giving a large number of \'\-T permissive\' options:
637 ignore failures of \fBany number\fP of \fBmandatory\fP SMART commands.
638 Please see the note above.
640 .B \-b TYPE, \-\-badsum=TYPE
641 [ATA only] Specifies the action \fBsmartctl\fP should take if a checksum
642 error is detected in the: (1) Device Identity Structure, (2) SMART
643 Self-Test Log Structure, (3) SMART Attribute Value Structure, (4) SMART
644 Attribute Threshold Structure, or (5) ATA Error Log Structure.
646 The valid arguments to this option are:
649 \- report the incorrect checksum but carry on in spite of it. This is the
653 \- exit \fBsmartctl\fP.
656 \- continue silently without issuing a warning.
658 .B \-r TYPE, \-\-report=TYPE
659 Intended primarily to help \fBsmartmontools\fP developers understand
660 the behavior of \fBsmartmontools\fP on non-conforming or poorly
661 conforming hardware. This option reports details of \fBsmartctl\fP
662 transactions with the device. The option can be used multiple times.
663 When used just once, it shows a record of the ioctl() transactions
664 with the device. When used more than once, the detail of these
665 ioctl() transactions are reported in greater detail. The valid
666 arguments to this option are:
669 \- report all ioctl() transactions.
672 \- report only ioctl() transactions with ATA devices.
675 \- report only ioctl() transactions with SCSI devices. Invoking this once
676 shows the SCSI commands in hex and the corresponding status. Invoking
677 it a second time adds a hex listing of the first 64 bytes of data send to,
678 or received from the device.
680 Any argument may include a positive integer to specify the level of detail
681 that should be reported. The argument should be followed by a comma then
682 the integer with no spaces. For example,
685 level is 1, so \'\-r ataioctl,1\' and \'\-r ataioctl\' are equivalent.
687 For testing purposes, the output of \'\-r ataioctl,2\' can later be parsed
688 by \fBsmartctl\fP itself if \'\-\' is used as device path argument.
689 The ATA command input parameters, sector data and return values are
690 reconstructed from the debug report read from stdin.
691 Then \fBsmartctl\fP internally simulates an ATA device with the same
692 behaviour. This is does not work for SCSI devices yet.
694 .B \-n POWERMODE, \-\-nocheck=POWERMODE
695 [ATA only] Specifies if \fBsmartctl\fP should exit before performing any
696 checks when the device is in a low-power mode. It may be used to prevent
697 a disk from being spun-up by \fBsmartctl\fP. The power mode is ignored by
698 default. A nonzero exit status is returned if the device is in one of the
699 specified low-power modes (see EXIT STATUS below).
701 Note: If this option is used it may also be necessary to specify the device
702 type with the \'\-d\' option. Otherwise the device may spin up due to
703 commands issued during device type autodetection.
705 The valid arguments to this option are:
708 \- check the device always, but print the power mode if \'\-i\' is
712 \- check the device unless it is in SLEEP mode.
715 \- check the device unless it is in SLEEP or STANDBY mode. In
716 these modes most disks are not spinning, so if you want to prevent
717 a disk from spinning up, this is probably what you want.
720 \- check the device unless it is in SLEEP, STANDBY or IDLE mode.
721 In the IDLE state, most disks are still spinning, so this is probably
725 .B SMART FEATURE ENABLE/DISABLE COMMANDS:
728 if multiple options are used to both enable and disable a
731 the enable and disable commands will be issued. The enable command
732 will always be issued
734 the corresponding disable command.
736 .B \-s VALUE, \-\-smart=VALUE
737 Enables or disables SMART on device. The valid arguments to
738 this option are \fIon\fP and \fIoff\fP. Note that the command \'\-s on\'
739 (perhaps used with with the \'\-o on\' and \'\-S on\' options) should be
740 placed in a start-up script for your machine, for example in rc.local or
741 rc.sysinit. In principle the SMART feature settings are preserved over
742 power-cycling, but it doesn\'t hurt to be sure. It is not necessary (or
743 useful) to enable SMART to see the TapeAlert messages.
745 .B \-o VALUE, \-\-offlineauto=VALUE
746 [ATA only] Enables or disables SMART automatic offline test, which scans the
747 drive every four hours for disk defects. This command can be given during
748 normal system operation. The valid arguments to this option are \fIon\fP
751 Note that the SMART automatic offline test command is listed as
752 "Obsolete" in every version of the ATA and ATA/ATAPI Specifications.
753 It was originally part of the SFF-8035i Revision 2.0 specification,
754 but was never part of any ATA specification. However it is
755 implemented and used by many vendors.
756 You can tell if automatic offline testing is supported by seeing if
757 this command enables and disables it, as indicated by the \'Auto
758 Offline Data Collection\' part of the SMART capabilities report
759 (displayed with \'\-c\').
761 SMART provides \fBthree\fP basic categories of testing. The
762 \fBfirst\fP category, called "online" testing, has no effect on the
763 performance of the device. It is turned on by the \'\-s on\' option.
765 The \fBsecond\fP category of testing is called "offline" testing. This
766 type of test can, in principle, degrade the device performance. The
767 \'\-o on\' option causes this offline testing to be carried out,
768 automatically, on a regular scheduled basis. Normally, the disk will
769 suspend offline testing while disk accesses are taking place, and then
770 automatically resume it when the disk would otherwise be idle, so in
771 practice it has little effect. Note that a one-time offline test can
772 also be carried out immediately upon receipt of a user command. See
773 the \'\-t offline\' option below, which causes a one-time offline test
774 to be carried out immediately.
776 The choice (made by the SFF-8035i and ATA specification authors) of
777 the word \fItesting\fP for these first two categories is unfortunate,
778 and often leads to confusion. In fact these first two categories of
779 online and offline testing could have been more accurately described
780 as online and offline \fBdata collection\fP.
782 The results of this automatic or immediate offline testing (data
783 collection) are reflected in the values of the SMART Attributes.
784 Thus, if problems or errors are detected, the values of these
785 Attributes will go below their failure thresholds; some types of
786 errors may also appear in the SMART error log. These are visible with
787 the \'\-A\' and \'\-l error\' options respectively.
789 Some SMART attribute values are updated only during off-line data
790 collection activities; the rest are updated during normal operation of
791 the device or during both normal operation and off-line testing. The
792 Attribute value table produced by the \'\-A\' option indicates this in
793 the UPDATED column. Attributes of the first type are labeled
794 "Offline" and Attributes of the second type are labeled "Always".
796 The \fBthird\fP category of testing (and the \fIonly\fP category for
797 which the word \'testing\' is really an appropriate choice) is "self"
798 testing. This third type of test is only performed (immediately) when
799 a command to run it is issued. The \'\-t\' and \'\-X\' options can be
800 used to carry out and abort such self-tests; please see below for
803 Any errors detected in the self testing will be shown in the
804 SMART self-test log, which can be examined using the \'\-l selftest\'
807 \fBNote:\fP in this manual page, the word \fB"Test"\fP is used in
808 connection with the second category just described, e.g. for the
809 "offline" testing. The words \fB"Self-test"\fP are used in
810 connection with the third category.
812 .B \-S VALUE, \-\-saveauto=VALUE
813 [ATA] Enables or disables SMART autosave of device vendor-specific
814 Attributes. The valid arguments to this option are \fIon\fP
815 and \fIoff\fP. Note that this feature is preserved across disk power
816 cycles, so you should only need to issue it once.
818 The ATA standard does not specify a method to check whether SMART
819 autosave is enabled. Unlike SCSI (below), smartctl is unable to print
820 a warning if autosave is disabled.
822 [SCSI] For SCSI devices this toggles the value of the Global Logging
823 Target Save Disabled (GLTSD) bit in the Control Mode Page. Some disk
824 manufacturers set this bit by default. This prevents error counters,
825 power-up hours and other useful data from being placed in non-volatile
826 storage, so these values may be reset to zero the next time the device
827 is power-cycled. If the GLTSD bit is set then \'smartctl \-a\' will
828 issue a warning. Use \fIon\fP to clear the GLTSD bit and thus enable
829 saving counters to non-volatile storage. For extreme streaming-video
830 type applications you might consider using \fIoff\fP to set the GLTSD
833 .B \-g NAME, \-\-get=NAME, \-s NAME[,VALUE], \-\-set=NAME[,VALUE]
834 Gets/sets non-SMART device settings.
835 Note that the \'\-\-set\' option shares its short option \'\-s\' with
836 \'\-\-smart\'. Valid arguments are:
839 \- Gets all values. This is equivalent to
841 \'-g aam -g apm -g lookahead -g security -g wcache\'
845 \- [ATA only] Gets/sets the Automatic Acoustic Management (AAM) feature
846 (if supported). A value of 128 sets the most quiet (slowest) mode and 254
847 the fastest (loudest) mode, \'off\' disables AAM. Devices may support
848 intermediate levels. Values below 128 are defined as vendor specific (0)
849 or retired (1 to 127). Note that the AAM feature was declared obsolete in
850 ATA ACS-2 Revision 4a (Dec 2010).
853 \- [ATA only] Gets/sets the Advanced Power Management (APM) feature on
854 device (if supported). If a value between 1 and 254 is provided, it will
855 attempt to enable APM and set the specified value, \'off\' disables APM.
856 Note the actual behavior depends on the drive, for example some drives disable
857 APM if their value is set above 128. Values below 128 are supposed to allow
858 drive spindown, values 128 and above adjust only head-parking frequency,
859 although the actual behavior defined is also vendor-specific.
861 .I lookahead[,on|off]
862 \- [ATA only] Gets/sets the read look-ahead feature (if supported).
863 Read look-ahead is usually enabled by default.
866 \- [ATA only] Gets the status of ATA Security feature (if supported).
867 If ATA Security is enabled an ATA user password is set. The drive will be
868 locked on next reset then.
871 \- [ATA only] Sets ATA Security feature to frozen mode. This prevents that
872 the drive accepts any security commands until next reset. Note that the
873 frozen mode may already be set by BIOS or OS.
876 \- [ATA only] Sets the standby (spindown) timer and places the drive in the
877 IDLE mode. A value of 0 or \'off\' disables the standby timer.
878 Values from 1 to 240 specify timeouts from 5 seconds to 20 minutes in 5
879 second increments. Values from 241 to 251 specify timeouts from 30 minutes
880 to 330 minutes in 30 minute increments. Value 252 specifies 21 minutes.
881 Value 253 specifies a vendor specific time between 8 and 12 hours. Value
882 255 specifies 21 minutes and 15 seconds. Some drives may use a vendor
883 specific interpretation for the values. Note that there is no get option
884 because ATA standards do not specify a method to read the standby timer.
887 \- [ATA only] Places the drive in the STANDBY mode. This usually spins down
888 the drive. The setting of the standby timer is not affected.
891 \- [ATA] Gets/sets the volatile write cache feature (if supported).
892 The write cache is usually enabled by default.
895 \- [SCSI] Gets/sets the \'Write Cache Enable\' (WCE) bit (if supported).
896 The write cache is usually enabled by default.
898 .I wcreorder[,on|off]
899 \- [ATA only] Gets/sets Write Cache Reordering.
900 If it is disabled (off), disk write scheduling is executed on a
901 first-in-first-out (FIFO) basis. If Write Cache Reordering is enabled (on),
902 then disk write scheduling may be reordered by the drive. If write cache is
903 disabled, the current Write Cache Reordering state is remembered but has
904 no effect on non-cached writes, which are always written in the order received.
905 The state of Write Cache Reordering has no effect on either NCQ or LCQ queued
909 \- [SCSI only] Gets/sets the \'Read Cache Disable\' (RCE) bit.
910 \'Off\' value disables read cache (if supported).
911 The read cache is usually enabled by default.
914 .B SMART READ AND DISPLAY DATA OPTIONS:
917 Prints the health status of the device or pending TapeAlert messages.
919 If the device reports failing health status, this means
921 that the device has already failed,
923 that it is predicting its own failure within the next 24 hours. If
924 this happens, use the \'\-a\' option to get more information, and
925 .B get your data off the disk and to someplace safe as soon as you can.
927 [ATA] Health status is obtained by checking the (boolean) result returned
928 by the SMART RETURN STATUS command.
929 The return value of this ATA command may be unknown due to limitations or
930 bugs in some layer (e.g. RAID controller or USB bridge firmware) between
931 disk and operating system.
932 In this case, \fBsmartctl\fP prints a warning and checks whether any
933 Prefailure SMART Attribute value is less than or equal to its threshold
936 [SCSI] Health status is obtained by checking the Additional Sense Code
937 (ASC) and Additional Sense Code Qualifier (ASCQ) from Informal Exceptions
938 (IE) log page (if supported) and/or from SCSI sense data.
940 [SCSI tape drive or changer] TapeAlert status is obtained by reading the
942 Please note that the TapeAlert log page flags are cleared for the initiator
943 when the page is read.
944 This means that each alert condition is reported only once by \fBsmartctl\fP
945 for each initiator for each activation of the condition.
947 .B \-c, \-\-capabilities
948 [ATA only] Prints only the generic SMART capabilities. These
949 show what SMART features are implemented and how the device will
950 respond to some of the different SMART commands. For example it
951 shows if the device logs errors, if it supports offline surface
952 scanning, and so on. If the device can carry out self-tests, this
953 option also shows the estimated time required to run those tests.
955 Note that the time required to run the Self-tests (listed in minutes)
956 are fixed. However the time required to run the Immediate Offline
957 Test (listed in seconds) is variable. This means that if you issue a
958 command to perform an Immediate Offline test with the \'\-t offline\' option,
959 then the time may jump to a larger value and then count down as the
960 Immediate Offline Test is carried out. Please see REFERENCES below
961 for further information about the the flags and capabilities described
964 .B \-A, \-\-attributes
965 [ATA] Prints only the vendor specific SMART Attributes. The Attributes
966 are numbered from 1 to 253 and have specific names and ID numbers. For
967 example Attribute 12 is "power cycle count": how many times has the
968 disk been powered up.
970 Each Attribute has a "Raw" value, printed under the heading
971 "RAW_VALUE", and a "Normalized" value printed under the heading
972 "VALUE". [Note: \fBsmartctl\fP prints these values in base-10.] In
973 the example just given, the "Raw Value" for Attribute 12 would be the
974 actual number of times that the disk has been power-cycled, for
975 example 365 if the disk has been turned on once per day for exactly
976 one year. Each vendor uses their own algorithm to convert this "Raw"
977 value to a "Normalized" value in the range from 1 to 254. Please keep
978 in mind that \fBsmartctl\fP only reports the different Attribute
979 types, values, and thresholds as read from the device. It does
980 \fBnot\fP carry out the conversion between "Raw" and "Normalized"
981 values: this is done by the disk\'s firmware.
983 The conversion from Raw value to a quantity with physical units is
984 not specified by the SMART standard. In most cases, the values printed
985 by \fBsmartctl\fP are sensible. For example the temperature Attribute
986 generally has its raw value equal to the temperature in Celsius.
987 However in some cases vendors use unusual conventions. For example
988 the Hitachi disk on my laptop reports its power-on hours in minutes,
989 not hours. Some IBM disks track three temperatures rather than one, in
990 their raw values. And so on.
992 Each Attribute also has a Threshold value (whose range is 0 to 255)
993 which is printed under the heading "THRESH". If the Normalized value
994 is \fBless than or equal to\fP the Threshold value, then the Attribute
995 is said to have failed. If the Attribute is a pre-failure Attribute,
996 then disk failure is imminent.
998 Each Attribute also has a "Worst" value shown under the heading
999 "WORST". This is the smallest (closest to failure) value that the
1000 disk has recorded at any time during its lifetime when SMART was
1001 enabled. [Note however that some vendors firmware may actually
1002 \fBincrease\fP the "Worst" value for some "rate-type" Attributes.]
1004 The Attribute table printed out by \fBsmartctl\fP also shows the
1005 "TYPE" of the Attribute. Attributes are one of two possible types:
1006 Pre-failure or Old age. Pre-failure Attributes are ones which, if
1007 less than or equal to their threshold values, indicate pending disk
1008 failure. Old age, or usage Attributes, are ones which indicate
1009 end-of-product life from old-age or normal aging and wearout, if
1010 the Attribute value is less than or equal to the threshold. \fBPlease
1011 note\fP: the fact that an Attribute is of type 'Pre-fail' does
1012 \fBnot\fP mean that your disk is about to fail! It only has this
1013 meaning if the Attribute\'s current Normalized value is less than or
1014 equal to the threshold value.
1016 If the Attribute\'s current Normalized value is less than or equal to
1017 the threshold value, then the "WHEN_FAILED" column will display
1018 "FAILING_NOW". If not, but the worst recorded value is less than or
1019 equal to the threshold value, then this column will display
1020 "In_the_past". If the "WHEN_FAILED" column has no entry (indicated by
1021 a dash: \'\-\') then this Attribute is OK now (not failing) and has
1022 also never failed in the past.
1024 The table column labeled "UPDATED" shows if the SMART Attribute values
1025 are updated during both normal operation and off-line testing, or
1026 only during offline testing. The former are labeled "Always" and the
1027 latter are labeled "Offline".
1029 So to summarize: the Raw Attribute values are the ones that might have
1030 a real physical interpretation, such as "Temperature Celsius",
1031 "Hours", or "Start-Stop Cycles". Each manufacturer converts these,
1032 using their detailed knowledge of the disk\'s operations and failure
1033 modes, to Normalized Attribute values in the range 1\-254. The
1034 current and worst (lowest measured) of these Normalized Attribute
1035 values are stored on the disk, along with a Threshold value that the
1036 manufacturer has determined will indicate that the disk is going to
1037 fail, or that it has exceeded its design age or aging limit.
1038 \fBsmartctl\fP does \fBnot\fP calculate any of the Attribute values,
1039 thresholds, or types, it merely reports them from the SMART data on
1042 Note that starting with ATA/ATAPI-4, revision 4, the meaning of these
1043 Attribute fields has been made entirely vendor-specific. However most
1044 newer ATA/SATA disks seem to respect their meaning, so we have retained
1045 the option of printing the Attribute values.
1047 Solid-state drives use different meanings for some of the attributes.
1048 In this case the attribute name printed by smartctl is incorrect unless
1049 the drive is already in the smartmontools drive database.
1051 [SCSI] For SCSI devices the "attributes" are obtained from the temperature
1052 and start-stop cycle counter log pages. Certain vendor specific
1053 attributes are listed if recognised. The attributes are output in a
1054 relatively free format (compared with ATA disk attributes).
1056 .B \-f FORMAT, \-\-format=FORMAT
1057 [ATA only] Selects the output format of the attributes:
1060 \- Old smartctl format. This is the default unless the \'\-x\' option is
1064 \- New format which fits into 80 colums (except in some rare cases).
1065 This format also decodes four additional attribute flags.
1066 This is the default if the '\-x\' option is specified.
1069 \- Print all attribute IDs as hexadecimal numbers.
1072 \- Print all normalized values as hexadecimal numbers.
1075 \- Same as \'\-f hex,id \-f hex,val\'.
1077 .B \-l TYPE, \-\-log=TYPE
1078 Prints either the SMART Error Log, the SMART Self-Test Log, the SMART
1079 Selective Self-Test Log [ATA only], the Log Directory [ATA only], or
1080 the Background Scan Results Log [SCSI only].
1081 The valid arguments to this option are:
1084 \- [ATA] prints the Summary SMART error log. SMART disks maintain a log
1085 of the most recent five non-trivial errors. For each of these errors, the
1086 disk power-on lifetime at which the error occurred is recorded, as is
1087 the device status (idle, standby, etc) at the time of the error. For
1088 some common types of errors, the Error Register (ER) and Status
1089 Register (SR) values are decoded and printed as text. The meanings of these
1092 \fBABRT\fP: Command \fBAB\fPo\fBRT\fPed
1093 \fBAMNF\fP: \fBA\fPddress \fBM\fPark \fBN\fPot \fBF\fPound
1094 \fBCCTO\fP: \fBC\fPommand \fBC\fPompletion \fBT\fPimed \fBO\fPut
1095 \fBEOM\fP: \fBE\fPnd \fBO\fPf \fBM\fPedia
1096 \fBICRC\fP: \fBI\fPnterface \fBC\fPyclic \fBR\fPedundancy \fBC\fPode (CRC) error
1097 \fBIDNF\fP: \fBID\fPentity \fBN\fPot \fBF\fPound
1098 \fBILI\fP: (packet command-set specific)
1099 \fBMC\fP: \fBM\fPedia \fBC\fPhanged
1100 \fBMCR\fP: \fBM\fPedia \fBC\fPhange \fBR\fPequest
1101 \fBNM\fP: \fBN\fPo \fBM\fPedia
1102 \fBobs\fP: \fBobs\fPolete
1103 \fBTK0NF\fP: \fBT\fPrac\fBK 0 N\fPot \fBF\fPound
1104 \fBUNC\fP: \fBUNC\fPorrectable Error in Data
1105 \fBWP\fP: Media is \fBW\fPrite \fBP\fProtected
1107 In addition, up to the last five commands that preceded the error are
1108 listed, along with a timestamp measured from the start of the
1109 corresponding power cycle. This is displayed in the form
1110 Dd+HH:MM:SS.msec where D is the number of days, HH is hours, MM is
1111 minutes, SS is seconds and msec is milliseconds. [Note: this time
1112 stamp wraps after 2^32 milliseconds, or 49 days 17 hours 2 minutes and
1113 47.296 seconds.] The key ATA disk registers are also recorded in the
1114 log. The final column of the error log is a text-string description
1115 of the ATA command defined by the Command Register (CR) and Feature
1116 Register (FR) values. Commands that are obsolete in the most current
1117 spec are listed like this: \fBREAD LONG (w/ retry) [OBS-4]\fP,
1118 indicating that the command became obsolete with or in the ATA-4
1119 specification. Similarly, the notation \fB[RET\-\fP\fIN\fP\fB]\fP is
1120 used to indicate that a command was retired in the ATA-\fIN\fP
1121 specification. Some commands are not defined in any version of the
1122 ATA specification but are in common use nonetheless; these are marked
1123 \fB[NS]\fP, meaning non-standard.
1125 The ATA Specification (ATA ACS-2 Revision 7, Section A.7.1) says:
1126 \fB"Error log data structures shall include, but are not limited to,
1127 Uncorrectable errors, ID Not Found errors for which the LBA requested was
1128 valid, servo errors, and write fault errors. Error log data structures
1129 shall not include errors attributed to the receipt of faulty commands."\fP
1130 The definitions of these terms are:
1132 \fBUNC\fP (\fBUNC\fPorrectable): data is uncorrectable. This refers
1133 to data which has been read from the disk, but for which the Error
1134 Checking and Correction (ECC) codes are inconsistent. In effect, this
1135 means that the data can not be read.
1137 \fBIDNF\fP (\fBID N\fPot \fBF\fPound): user-accessible address could
1138 not be found. For READ LOG type commands, \fBIDNF\fP can also indicate
1139 that a device data log structure checksum was incorrect.
1141 If the command that caused the error was a READ or WRITE command, then
1142 the Logical Block Address (LBA) at which the error occurred will be
1143 printed in base 10 and base 16. The LBA is a linear address, which
1144 counts 512-byte sectors on the disk, starting from zero. (Because of
1145 the limitations of the SMART error log, if the LBA is greater than
1146 0xfffffff, then either no error log entry will be made, or the error
1147 log entry will have an incorrect LBA. This may happen for drives with
1148 a capacity greater than 128 GiB or 137 GB.) On Linux systems the
1149 smartmontools web page has instructions about how to convert the LBA
1150 address to the name of the disk file containing the erroneous disk
1153 Please note that some manufacturers \fBignore\fP the ATA
1154 specifications, and make entries in the error log if the device
1155 receives a command which is not implemented or is not valid.
1158 \- [SCSI] prints the error counter log pages for reads, write and verifies.
1159 The verify row is only output if it has an element other than zero.
1161 .I xerror[,NUM][,error]
1162 \- [ATA only] prints the Extended Comprehensive SMART error log
1163 (General Purpose Log address 0x03). Unlike the Summary SMART error
1164 log (see \'\-l error\' above), it provides sufficient space to log
1165 the contents of the 48-bit LBA register set introduced with ATA-6.
1166 It also supports logs with more than one sector. Each sector holds
1167 up to 4 log entries. The actual number of log sectors is vendor
1170 Only the 8 most recent error log entries are printed by default.
1171 This number can be changed by the optional parameter NUM.
1173 If ',error' is appended and the Extended Comprehensive SMART error
1174 log is not supported, the Summary SMART self-test log is printed.
1176 Please note that recent drives may report errors only in the Extended
1177 Comprehensive SMART error log. The Summary SMART error log may be reported
1178 as supported but is always empty then.
1181 \- [ATA] prints the SMART self-test log. The disk maintains a self-test
1182 log showing the results of the self tests, which can be run using the
1183 \'\-t\' option described below. For each of the most recent
1184 twenty-one self-tests, the log shows the type of test (short or
1185 extended, off-line or captive) and the final status of the test. If
1186 the test did not complete successfully, then the percentage of the
1187 test remaining is shown. The time at which the test took place,
1188 measured in hours of disk lifetime, is also printed. [Note: this time
1189 stamp wraps after 2^16 hours, or 2730 days and 16 hours, or about 7.5
1190 years.] If any errors were detected, the Logical Block Address (LBA)
1191 of the first error is printed in decimal notation. On Linux systems the
1192 smartmontools web page has instructions about how to convert this LBA
1193 address to the name of the disk file containing the erroneous block.
1196 \- [SCSI] the self-test log for a SCSI device has a slightly different
1197 format than for an ATA device. For each of the most recent twenty
1198 self-tests, it shows the type of test and the status (final or in
1199 progress) of the test. SCSI standards use the terms "foreground" and
1200 "background" (rather than ATA\'s corresponding "captive" and
1201 "off-line") and "short" and "long" (rather than ATA\'s corresponding
1202 "short" and "extended") to describe the type of the test. The printed
1203 segment number is only relevant when a test fails in the third or
1204 later test segment. It identifies the test that failed and consists
1205 of either the number of the segment that failed during the test, or
1206 the number of the test that failed and the number of the segment in
1207 which the test was run, using a vendor-specific method of putting both
1208 numbers into a single byte. The Logical Block Address (LBA) of the
1209 first error is printed in hexadecimal notation. On Linux systems the
1210 smartmontools web page has instructions about how to convert this LBA
1211 address to the name of the disk file containing the erroneous block.
1212 If provided, the SCSI Sense Key (SK), Additional Sense Code (ASC) and
1213 Additional Sense Code Qualifier (ASQ) are also printed. The self tests
1214 can be run using the \'\-t\' option described below (using the ATA
1217 .I xselftest[,NUM][,selftest]
1218 \- [ATA only] prints the Extended SMART self-test log (General Purpose
1219 Log address 0x07). Unlike the SMART self-test log (see \'\-l selftest\'
1220 above), it supports 48-bit LBA and logs with more than one sector.
1221 Each sector holds up to 19 log entries. The actual number of log sectors
1224 Only the 25 most recent log entries are printed by default. This number
1225 can be changed by the optional parameter NUM.
1227 If ',selftest' is appended and the Extended SMART self-test log is not
1228 supported, the old SMART self-test log is printed.
1231 \- [ATA only] Please see the \'\-t select\' option below for a
1232 description of selective self-tests. The selective self-test log
1233 shows the start/end Logical Block Addresses (LBA) of each of the five
1234 test spans, and their current test status. If the span is being
1235 tested or the remainder of the disk is being read-scanned, the
1236 current 65536-sector block of LBAs being tested is also displayed.
1237 The selective self-test log also shows if a read-scan of the
1238 remainder of the disk will be carried out after the selective
1239 self-test has completed (see \'\-t afterselect\' option) and the time
1240 delay before restarting this read-scan if it is interrupted (see
1241 \'\-t pending\' option).
1244 \- [ATA only] if the device supports the General Purpose Logging feature
1245 set (ATA-6 and above) then this prints the Log Directory (the log at
1246 address 0). The Log Directory shows what logs are available and their
1247 length in sectors (512 bytes). The contents of the logs at address 1
1248 [Summary SMART error log] and at address 6 [SMART self-test log] may
1249 be printed using the previously-described
1253 arguments to this option.
1254 If your version of smartctl supports 48-bit ATA commands, both the
1255 General Purpose Log (GPL) and SMART Log (SL) directories are printed in
1256 one combined table. The output can be restricted to the GPL directory or
1257 SL directory by \'\-l directory,q\' or \'\-l directory,s\' respectively.
1260 \- [SCSI only] the background scan results log outputs information derived
1261 from Background Media Scans (BMS) done after power up and/or periodically
1262 (e.g. every 24 hours) on recent SCSI disks. If supported, the BMS status
1263 is output first, indicating whether a background scan is currently
1264 underway (and if so a progress percentage), the amount of time the disk
1265 has been powered up and the number of scans already completed. Then there
1266 is a header and a line for each background scan "event". These will
1267 typically be either recovered or unrecoverable errors. That latter group
1268 may need some attention. There is a description of the background scan
1269 mechanism in section 4.18 of SBC-3 revision 6 (see www.t10.org ).
1271 .I scttemp, scttempsts, scttemphist
1272 \- [ATA only] prints the disk temperature information provided by the
1273 SMART Command Transport (SCT) commands.
1274 The option \'scttempsts\' prints current temperature and temperature
1275 ranges returned by the SCT Status command, \'scttemphist\' prints
1276 temperature limits and the temperature history table returned by
1277 the SCT Data Table command, and \'scttemp\' prints both.
1278 The temperature values are preserved across power cycles.
1279 The logging interval can be configured with the
1280 \'\-l scttempint,N[,p]\' option, see below.
1281 The SCT commands were introduced in ATA8-ACS and were also
1282 supported by many ATA-7 disks.
1285 \- [ATA only] clears the SCT temperature history table and sets the
1286 time interval for temperature logging to N minutes.
1287 If \',p\' is specified, the setting is preserved across power cycles.
1288 Otherwise, the setting is volatile and will be reverted to the last
1289 non-volatile setting by the next hard reset. The default interval
1290 is vendor specific, typical values are 1, 2, or 5 minutes.
1292 .I scterc[,READTIME,WRITETIME]
1293 \- [ATA only] prints values and descriptions of the SCT Error Recovery
1294 Control settings. These are equivalent to TLER (as used by Western
1295 Digital), CCTL (as used by Samsung and Hitachi/HGST) and ERC (as used by
1296 Seagate). READTIME and WRITETIME arguments (deciseconds) set the
1297 specified values. Values of 0 disable the feature, other values less
1298 than 65 are probably not supported. For RAID configurations, this is
1299 typically set to 70,70 deciseconds.
1302 \- [ATA only] prints values and descriptions of the ATA Device Statistics
1303 log pages (General Purpose Log address 0x04). If no PAGE number is specified,
1304 entries from all supported pages are printed. If PAGE 0 is specified,
1305 the list of supported pages is printed. Device Statistics was
1306 introduced in ACS-2 and is only supported by some recent devices.
1309 \- [SATA only] prints values and descriptions of the SATA Phy Event
1310 Counters (General Purpose Log address 0x11). If \'\-l sataphy,reset\'
1311 is specified, all counters are reset after reading the values.
1312 This also works for SATA devices with Packet interface like CD/DVD
1316 \- [SAS (SCSI) only] prints values and descriptions of the SAS (SSP)
1317 Protocol Specific log page (log page 0x18). If \'\-l sasphy,reset\'
1318 is specified, all counters are reset after reading the values.
1320 .I gplog,ADDR[,FIRST[\-LAST|+SIZE]]
1321 \- [ATA only] prints a hex dump of any log accessible via General
1322 Purpose Logging (GPL) feature. The log address ADDR is the hex address
1323 listed in the log directory (see \'\-l directory\' above).
1324 The range of log sectors (pages) can be specified by decimal values
1325 FIRST\-LAST or FIRST+SIZE. FIRST defaults to 0, SIZE defaults to 1.
1326 LAST can be set to \'max\' to specify the last page of the log.
1328 .I smartlog,ADDR[,FIRST[\-LAST|+SIZE]]
1329 \- [ATA only] prints a hex dump of any log accessible via SMART Read
1330 Log command. See \'\-l gplog,...\' above for parameter syntax.
1332 For example, all these commands:
1334 smartctl \-l gplog,0x80,10-15 /dev/sda
1335 smartctl \-l gplog,0x80,10+6 /dev/sda
1336 smartctl \-l smartlog,0x80,10-15 /dev/sda
1338 print pages 10-15 of log 0x80 (first host vendor specific log).
1340 The hex dump format is compatible with the \'xxd \-r\' command.
1343 smartctl \-l gplog,0x11 /dev/sda | grep ^0 | xxd -r >log.bin
1345 writes a binary representation of the one sector log 0x11
1346 (SATA Phy Event Counters) to file log.bin.
1349 \- [ATA] prints the Solid State Device Statistics log page.
1350 This has the same effect as \'\-l devstat,7\', see above.
1353 \- [SCSI] prints the Solid State Media percentage used endurance
1354 indicator. A value of 0 indicates as new condition while 100
1355 indicates the device is at the end of its lifetime as projected by the
1356 manufacturer. The value may reach 255.
1358 .B \-v ID,FORMAT[:BYTEORDER][,NAME], \-\-vendorattribute=ID,FORMAT[:BYTEORDER][,NAME]
1359 [ATA only] Sets a vendor-specific raw value print FORMAT, an optional
1360 BYTEORDER and an optional NAME for Attribute ID.
1361 This option may be used multiple times.
1363 The Attribute ID can be in the range 1 to 255. If \'N\' is specified as
1364 ID, the settings for all Attributes are changed.
1366 The optional BYTEORDER consists of 1 to 8 characters from the
1367 set \'012345rvwz\'. The characters \'0\' to \'5\' select the byte 0
1368 to 5 from the 48-bit raw value, \'r\' selects the reserved byte of
1369 the attribute data block, \'v\' selects the normalized value, \'w\'
1370 selects the worst value and \'z\' inserts a zero byte.
1371 The default BYTEORDER is \'543210\' for all 48-bit formats, \'r543210\'
1372 for the 54-bit formats, and \'543210wv\' for the 64-bit formats.
1373 For example, \'\-v 5,raw48:012345\' prints the raw value of
1374 attribute 5 with big endian instead of little endian
1377 The NAME is a string of letters, digits and underscore. Its length should
1378 not exceed 23 characters. The \'\-P showall\' option reports an error if
1382 \- Prints (to STDOUT) a list of all valid arguments to this option,
1385 Valid arguments for FORMAT are:
1388 \- Print the Raw value as six 8-bit unsigned base-10 integers.
1389 This may be useful for decoding the meaning of the Raw value.
1392 \- Print the Raw value as three 16-bit unsigned base-10 integers.
1393 This may be useful for decoding the meaning of the Raw value.
1396 \- Print the Raw value as a 48-bit unsigned base-10 integer.
1397 This is the default for most attributes.
1400 \- Print the Raw value as a 12 digit hexadecimal number.
1401 This may be useful for decoding the meaning of the Raw value.
1404 \- Print the Raw value as a 54-bit unsigned base-10 integer.
1405 This includes the reserved byte which follows the 48-bit raw value.
1408 \- Print the Raw value as a 14 digit hexadecimal number.
1409 This includes the reserved byte which follows the 48-bit raw value.
1412 \- Print the Raw value as a 64-bit unsigned base-10 integer.
1413 This includes two bytes from the normalized and worst attribute value.
1414 This raw format is used by some SSD devices with Indilinx controller.
1417 \- Print the Raw value as a 16 digit hexadecimal number.
1418 This includes two bytes from the normalized and worst attribute value.
1419 This raw format is used by some SSD devices with Indilinx controller.
1422 \- Raw Attribute is power-on time in minutes. Its raw value
1423 will be displayed in the form "Xh+Ym". Here X is hours, and Y is
1424 minutes in the range 0\-59 inclusive. Y is always printed with two
1425 digits, for example "06" or "31" or "00".
1428 \- Raw Attribute is power-on time in seconds. Its raw value
1429 will be displayed in the form "Xh+Ym+Zs". Here X is hours, Y is
1430 minutes in the range 0\-59 inclusive, and Z is seconds in the range
1431 0\-59 inclusive. Y and Z are always printed with two digits, for
1432 example "06" or "31" or "00".
1435 \- Raw Attribute is power-on time, measured in units of 30
1436 seconds. This format is used by some Samsung disks. Its raw value
1437 will be displayed in the form "Xh+Ym". Here X is hours, and Y is
1438 minutes in the range 0\-59 inclusive. Y is always printed with two
1439 digits, for example "06" or "31" or "00".
1442 \- Raw Attribute is power-on time measured in 32-bit hours and 24-bit
1443 milliseconds since last hour update. It will be displayed in the form
1444 "Xh+Ym+Z.Ms". Here X is hours, Y is minutes, Z is seconds and M is
1448 \- Raw Attribute is the disk temperature in Celsius. Info about
1449 Min/Max temperature is printed if available. This is the default
1450 for Attributes 190 and 194. The recording interval (lifetime,
1451 last power cycle, last soft reset) of the min/max values is device
1455 \- Raw Attribute is ten times the disk temperature in Celsius.
1458 \- Print the raw attribute as a 16-bit value and two optional
1459 16-bit values if these words are nonzero. This is the default
1460 for Attributes 5 and 196.
1463 \- Raw attribute is spin-up time. It is printed as a 16-bit value
1464 and an optional "Average" 16-bit value if the word is nonzero.
1465 This is the default for Attribute 3.
1468 \- Print the raw attribute as a 24-bit value and three optional
1469 8-bit values if these bytes are nonzero. This is the default
1473 \- Raw Attribute contains two 24-bit values. The first is the
1474 number of load cycles. The second is the number of unload cycles.
1475 The difference between these two values is the number of times that
1476 the drive was unexpectedly powered off (also called an emergency
1477 unload). As a rule of thumb, the mechanical stress created by one
1478 emergency unload is equivalent to that created by one hundred normal
1482 \- Raw attribute is an error rate which consists of a 24-bit error
1483 count and a 32-bit total count.
1485 The following old arguments to \'\-v\' are also still valid:
1489 .I 9,min2hour,Power_On_Minutes.
1493 .I 9,sec2hour,Power_On_Seconds.
1497 .I 9,halfmin2hour,Power_On_Half_Minutes.
1501 .I 9,tempminmax,Temperature_Celsius.
1503 .I 192,emergencyretractcyclect
1505 .I 192,raw48,Emerg_Retract_Cycle_Ct
1513 .I 194,temp10x,Temperature_Celsius_x10.
1517 .I 194,raw48,Unknown_Attribute.
1521 .I 197,raw48,Total_Pending_Sectors.
1522 Also means that Attribute number 197 (Current Pending Sector Count)
1523 is not reset if uncorrectable sectors are reallocated
1524 (see \fBsmartd.conf\fP(5) man page).
1528 .I 198,raw48,Total_Offl_Uncorrectabl.
1529 Also means that Attribute number 198 (Offline Uncorrectable Sector Count)
1530 is not reset if uncorrectable sectors are reallocated
1531 (see \fBsmartd.conf\fP(5) man page).
1533 .I 198,offlinescanuncsectorct
1535 .I 198,raw48,Offline_Scan_UNC_SectCt.
1537 .I 200,writeerrorcount
1539 .I 200,raw48,Write_Error_Count.
1541 .I 201,detectedtacount
1543 .I 201,raw48,Detected_TA_Count.
1547 .I 220,tempminmax,Temperature_Celsius.
1549 .B \-F TYPE, \-\-firmwarebug=TYPE
1550 [ATA only] Modifies the behavior of \fBsmartctl\fP to compensate for some
1551 known and understood device firmware or driver bug. This option may be used
1552 multiple times. The valid arguments are:
1555 \- Assume that the device firmware obeys the ATA specifications. This
1556 is the default, unless the device has presets for \'\-F\' in the
1557 drive database. Using this option on the command line will override any
1561 \- Suppresses read attempts of SMART or GP Log Directory.
1562 Support for all standard logs is assumed without an actual check.
1563 Some Intel SSDs may freeze if log address 0 is read.
1566 \- In some Samsung disks (example: model SV4012H Firmware Version:
1567 RM100-08) some of the two- and four-byte quantities in the SMART data
1568 structures are byte-swapped (relative to the ATA specification).
1569 Enabling this option tells \fBsmartctl\fP to evaluate these quantities
1570 in byte-reversed order. Some signs that your disk needs this option
1571 are (1) no self-test log printed, even though you have run self-tests;
1572 (2) very large numbers of ATA errors reported in the ATA error log;
1573 (3) strange and impossible values for the ATA error log timestamps.
1576 \- In some Samsung disks the number of ATA errors reported is byte swapped.
1577 Enabling this option tells \fBsmartctl\fP to evaluate this quantity in
1578 byte-reversed order. An indication that your Samsung disk needs this
1579 option is that the self-test log is printed correctly, but there are a
1580 very large number of errors in the SMART error log. This is because
1581 the error count is byte swapped. Thus a disk with five errors
1582 (0x0005) will appear to have 20480 errors (0x5000).
1585 \- Some Samsung disks (at least SP2514N with Firmware VF100-37) report
1586 a self-test still in progress with 0% remaining when the test was already
1587 completed. Enabling this option modifies the output of the self-test
1588 execution status (see options \'\-c\' or \'\-a\' above) accordingly.
1591 \- Fixes LBA byte ordering in Extended Comprehensive SMART error log.
1592 Some disks use little endian byte ordering instead of ATA register
1593 ordering to specifiy the LBA addresses in the log entries.
1596 \- Fixes byte swapped ATA identify strings (device name, serial number,
1597 firmware version) returned by some buggy device drivers.
1599 .B \-P TYPE, \-\-presets=TYPE
1600 [ATA only] Specifies whether \fBsmartctl\fP should use any preset options
1601 that are available for this drive. By default, if the drive is recognized
1602 in the \fBsmartmontools\fP database, then the presets are used.
1606 will show any preset options for your drive and the argument
1608 will show all known drives in the \fBsmartmontools\fP database, along
1609 with their preset options. If there are no presets for your drive and
1610 you think there should be (for example, a \-v or \-F option is needed
1611 to get \fBsmartctl\fP to display correct values) then please contact
1612 the \fBsmartmontools\fP developers so that this information can be
1613 added to the \fBsmartmontools\fP database. Contact information is at the
1614 end of this man page.
1616 The valid arguments to this option are:
1619 \- if a drive is recognized, then use the stored presets for it. This
1620 is the default. Note that presets will NOT override additional
1621 Attribute interpretation (\'\-v N,something\') command-line options or
1622 explicit \'\-F\' command-line options..
1625 \- do not use presets.
1628 \- show if the drive is recognized in the database, and if so, its
1632 \- list all recognized drives, and the presets that are set for them,
1633 then exit. This also checks the drive database regular expressions
1634 and settings for syntax errors.
1636 The \'\-P showall\' option takes up to two optional arguments to
1637 match a specific drive type and firmware version. The command:
1639 smartctl \-P showall
1641 lists all entries, the command:
1643 smartctl \-P showall \'MODEL\'
1645 lists all entries matching MODEL, and the command:
1647 smartctl \-P showall \'MODEL\' \'FIRMWARE\'
1649 lists all entries for this MODEL and a specific FIRMWARE version.
1651 .B \-B [+]FILE, \-\-drivedb=[+]FILE
1652 [ATA only] Read the drive database from FILE. The new database replaces
1653 the built in database by default. If \'+\' is specified, then the new
1654 entries prepend the built in entries.
1656 Optional entries are read from the file
1657 .\" %IF NOT OS Windows
1658 \fB/usr/local/etc/smart_drivedb.h\fP
1659 .\" %ENDIF NOT OS Windows
1661 (Windows: \fBEXEDIR/drivedb-add.h\fP)
1664 .\"! \fBEXEDIR/drivedb-add.h\fP.
1665 .\" %ENDIF OS Windows
1666 .\" %IF ENABLE_DRIVEDB
1667 if this option is not specified.
1670 .\" %IF NOT OS Windows
1671 \fB/usr/local/share/smartmontools/drivedb.h\fP
1672 .\" %ENDIF NOT OS Windows
1674 (Windows: \fBEXEDIR/drivedb.h\fP)
1677 .\"! \fBEXEDIR/drivedb.h\fP
1678 .\" %ENDIF OS Windows
1679 is present, the contents of this file is used instead of the built in table.
1682 .\" %IF NOT OS Windows
1683 \fB/usr/local/sbin/update-smart-drivedb\fP
1684 .\" %ENDIF NOT OS Windows
1686 (Windows: \fBEXEDIR/update-smart-drivedb.exe\fP)
1689 .\"! \fBEXEDIR/update-smart-drivedb.exe\fP
1690 .\" %ENDIF OS Windows
1691 to update this file from the smartmontools SVN repository.
1692 .\" %ENDIF ENABLE_DRIVEDB
1694 The database files use the same C/C++ syntax that is used to initialize
1695 the built in database array. C/C++ style comments are allowed.
1701 "Model family", // Info about model family/series.
1702 "MODEL1.*REGEX", // Regular expression to match model of device.
1703 "VERSION.*REGEX", // Regular expression to match firmware version(s).
1704 "Some warning", // Warning message.
1705 "\-v 9,minutes" // String of preset \-v and \-F options.
1707 /* Minimal entry: */
1709 "", // No model family/series info.
1710 "MODEL2.*REGEX", // Regular expression to match model of device.
1711 "", // All firmware versions.
1713 "" // No options preset.
1717 "USB: Device; Bridge", // Info about USB device and bridge name.
1718 "0x1234:0xabcd", // Regular expression to match vendor:product ID.
1719 "0x0101", // Regular expression to match bcdDevice.
1721 "\-d sat" // String with device type option.
1727 .B SMART RUN/ABORT OFFLINE TEST AND self-test OPTIONS:
1729 .B \-t TEST, \-\-test=TEST
1730 Executes TEST immediately. The \'\-C\' option can be used in
1731 conjunction with this option to run the short or long (and also for
1732 ATA devices, selective or conveyance) self-tests in captive mode
1733 (known as "foreground mode" for SCSI devices). Note that only one
1734 test type can be run at a time, so only one test type should be
1735 specified per command line. Note also that if a computer is shutdown
1736 or power cycled during a self-test, no harm should result. The
1737 self-test will either be aborted or will resume automatically.
1739 All \'\-t TEST\' commands can be given during normal system operation
1740 unless captive mode (\'\-C\' option) is used.
1741 A running self-test can, however, degrade performance of the drive.
1742 Frequent I/O requests from the operating system increase the duration
1743 of a test. These impacts may vary from device to device.
1745 If a test failure occurs then the device may discontinue the testing
1746 and report the result immediately.
1748 The valid arguments to this option are:
1751 \- [ATA] runs SMART Immediate Offline Test. This immediately
1752 starts the test described above. This command can be given during
1753 normal system operation. The effects of this test are visible only in
1754 that it updates the SMART Attribute values, and if errors are
1755 found they will appear in the SMART error log, visible with the \'\-l error\'
1758 If the \'\-c\' option to \fBsmartctl\fP shows that the device has the
1759 "Suspend Offline collection upon new command" capability then you can
1760 track the progress of the Immediate Offline test using the \'\-c\'
1761 option to \fBsmartctl\fP. If the \'\-c\' option show that the device
1762 has the "Abort Offline collection upon new command" capability then
1763 most commands will abort the Immediate Offline Test, so you should not
1764 try to track the progress of the test with \'\-c\', as it will abort
1768 \- [SCSI] runs the default self test in foreground. No entry is placed
1769 in the self test log.
1772 \- [ATA] runs SMART Short Self Test (usually under ten minutes).
1773 This command can be given during normal system operation (unless run in
1774 captive mode \- see the \'\-C\' option below). This is a
1775 test in a different category than the immediate or automatic offline
1776 tests. The "Self" tests check the electrical and mechanical
1777 performance as well as the read performance of the disk. Their
1778 results are reported in the Self Test Error Log, readable with
1779 the \'\-l selftest\' option. Note that on some disks the progress of the
1780 self-test can be monitored by watching this log during the self-test; with other disks
1781 use the \'\-c\' option to monitor progress.
1784 \- [SCSI] runs the "Background short" self-test.
1787 \- [ATA] runs SMART Extended Self Test (tens of minutes). This is a
1788 longer and more thorough version of the Short Self Test described
1789 above. Note that this command can be given during normal
1790 system operation (unless run in captive mode \- see the \'\-C\' option below).
1793 \- [SCSI] runs the "Background long" self-test.
1796 \- [ATA only] runs a SMART Conveyance Self Test (minutes). This
1797 self-test routine is intended to identify damage incurred during
1798 transporting of the device. This self-test routine should take on the
1799 order of minutes to complete. Note that this command can be given
1800 during normal system operation (unless run in captive mode \- see the
1801 \'\-C\' option below).
1803 .I select,N\-M, select,N+SIZE
1804 \- [ATA only] runs a SMART Selective Self Test, to test a \fBrange\fP
1805 of disk Logical Block Addresses (LBAs), rather than the entire disk.
1806 Each range of LBAs that is checked is called a "span" and is specified
1807 by a starting LBA (N) and an ending LBA (M) with N less than or equal
1808 to M. The range can also be specified as N+SIZE. A span at the end of
1809 a disk can be specified by N\-\fBmax\fP.
1811 For example the commands:
1813 smartctl \-t select,10\-20 /dev/sda
1814 smartctl \-t select,10+11 /dev/sda
1816 both runs a self test on one span consisting of LBAs ten to twenty
1817 (inclusive). The command:
1819 smartctl \-t select,100000000\-max /dev/sda
1821 run a self test from LBA 100000000 up to the end of the disk.
1822 The \'\-t\' option can be given up to five times, to test
1823 up to five spans. For example the command:
1825 smartctl \-t select,0\-100 \-t select,1000\-2000 /dev/sda
1827 runs a self test on two spans. The first span consists of 101 LBAs
1828 and the second span consists of 1001 LBAs. Note that the spans can
1829 overlap partially or completely, for example:
1831 smartctl \-t select,0\-10 \-t select,5\-15 \-t select,10\-20 /dev/sda
1833 The results of the selective self-test can be obtained (both during
1834 and after the test) by printing the SMART self-test log, using the
1835 \'\-l selftest\' option to smartctl.
1837 Selective self tests are particularly useful as disk capacities
1838 increase: an extended self test (smartctl \-t long) can take several
1839 hours. Selective self-tests are helpful if (based on SYSLOG error
1840 messages, previous failed self-tests, or SMART error log entries) you
1841 suspect that a disk is having problems at a particular range of
1842 Logical Block Addresses (LBAs).
1844 Selective self-tests can be run during normal system operation (unless
1845 done in captive mode \- see the \'\-C\' option below).
1847 The following variants of the selective self-test command use spans based
1848 on the ranges from past tests already stored on the disk:
1850 .I select,redo[+SIZE]
1851 \- [ATA only] redo the last SMART Selective Self Test using the same LBA
1852 range. The starting LBA is identical to the LBA used by last test, same
1853 for ending LBA unless a new span size is specified by optional +SIZE
1856 For example the commands:
1858 smartctl \-t select,10\-20 /dev/sda
1859 smartctl \-t select,redo /dev/sda
1860 smartctl \-t select,redo+20 /dev/sda
1862 have the same effect as:
1864 smartctl \-t select,10\-20 /dev/sda
1865 smartctl \-t select,10\-20 /dev/sda
1866 smartctl \-t select,10\-29 /dev/sda
1869 .I select,next[+SIZE]
1870 \- [ATA only] runs a SMART Selective Self Test on the LBA range which
1871 follows the range of the last test. The starting LBA is set to (ending
1872 LBA +1) of the last test. A new span size may be specified by the
1873 optional +SIZE argument.
1875 For example the commands:
1877 smartctl \-t select,0\-999 /dev/sda
1878 smartctl \-t select,next /dev/sda
1879 smartctl \-t select,next+2000 /dev/sda
1881 have the same effect as:
1883 smartctl \-t select,0\-999 /dev/sda
1884 smartctl \-t select,1000\-1999 /dev/sda
1885 smartctl \-t select,2000\-3999 /dev/sda
1888 If the last test ended at the last LBA of the disk, the new range starts
1889 at LBA 0. The span size of the last span of a disk is adjusted such that
1890 the total number of spans to check the full disk will not be changed
1891 by future uses of \'\-t select,next\'.
1893 .I select,cont[+SIZE]
1894 \- [ATA only] performs a \'redo\' (above) if the self test status reports
1895 that the last test was aborted by the host. Otherwise it run the \'next\'
1899 \- [ATA only] perform an offline read scan after a Selective self-test
1900 has completed. This option must be used together with one or more of
1901 the \fIselect,N\-M\fP options above. If the LBAs that have been
1902 specified in the Selective self-test pass the test with no errors
1903 found, then read scan the \fBremainder\fP of the disk. If the device
1904 is powered-cycled while this read scan is in progress, the read scan
1905 will be automatically resumed after a time specified by the pending
1906 timer (see below). The value of this option is preserved between
1907 selective self-tests.
1910 \- [ATA only] do not read scan the remainder of the disk after a
1911 Selective self-test has completed. This option must be use together
1912 with one or more of the \fIselect,N\-M\fP options above. The value of this
1913 option is preserved between selective self-tests.
1916 \- [ATA only] set the pending offline read scan timer to N minutes.
1917 Here N is an integer in the range from 0 to 65535 inclusive. If the
1918 device is powered off during a read scan after a Selective self-test,
1919 then resume the test automatically N minutes after power-up. This
1920 option must be use together with one or more of the \fIselect,N\-M\fP
1921 options above. The value of this option is preserved between selective
1925 \- [ATA only] issues the ATA command SMART EXECUTE OFF-LINE IMMEDIATE
1926 with subcommand N in LBA LOW register. The subcommand is specified as
1927 a hex value in the range 0x00 to 0xff. Subcommands 0x40-0x7e and
1928 0x90-0xff are reserved for vendor specific use, see table 61 of
1929 T13/1699-D Revision 6a (ATA8-ACS). Note that the subcommands
1930 0x00-0x04,0x7f,0x81-0x84 are supported by other smartctl options
1931 (e.g. 0x01: \'\-t short\', 0x7f: \'\-X\', 0x82: \'\-C \-t long\').
1933 \fBWARNING: Only run subcommands documented by the vendor of the
1936 Example for some Intel SSDs only:
1937 The subcommand 0x40 (\'\-t vendor,0x40\') clears the timed workload
1938 related SMART attributes (226, 227, 228). Note that the raw values of
1939 these attributes are held at 65535 (0xffff) until the workload timer
1943 \- start new self-test even if another test is already running.
1944 By default a running self-test will not be interrupted to begin another
1948 [ATA] Runs self-tests in captive mode. This has no effect with \'\-t
1949 offline\' or if the \'\-t\' option is not used.
1951 \fBWARNING: Tests run in captive mode may busy out the drive for the
1952 length of the test. Only run captive tests on drives without any
1953 mounted partitions!\fP
1955 [SCSI] Runs the self-test in "Foreground" mode.
1958 Aborts non-captive SMART Self Tests. Note that this
1959 command will abort the Offline Immediate Test routine only if your
1960 disk has the "Abort Offline collection upon new command" capability.
1962 .SH ATA, SCSI command sets and SAT
1963 In the past there has been a clear distinction between storage devices
1964 that used the ATA and SCSI command sets. This distinction was often
1965 reflected in their device naming and hardware. Now various SCSI
1966 transports (e.g. SAS, FC and iSCSI) can interconnect to both SCSI
1967 disks (e.g. FC and SAS) and ATA disks (especially SATA). USB and
1968 IEEE 1394 storage devices use the SCSI command set externally but
1969 almost always contain ATA or SATA disks (or flash). The storage
1970 subsystems in some operating systems have started to remove the
1971 distinction between ATA and SCSI in their device naming policies.
1973 99% of operations that an OS performs on a disk involve the SCSI INQUIRY,
1974 READ CAPACITY, READ and WRITE commands, or their ATA equivalents. Since
1975 the SCSI commands are slightly more general than their ATA equivalents,
1976 many OSes are generating SCSI commands (mainly READ and WRITE) and
1977 letting a lower level translate them to their ATA equivalents as the
1978 need arises. An important note here is that "lower level" may be in
1979 external equipment and hence outside the control of an OS.
1981 SCSI to ATA Translation (SAT) is a standard (ANSI INCITS 431-2007) that
1982 specifies how this translation is done. For the other 1% of operations
1983 that an OS performs on a disk, SAT provides two options. First is an
1984 optional ATA PASS-THROUGH SCSI command (there are two variants). The
1985 second is a translation from the closest SCSI command. Most current
1986 interest is in the "pass-through" option.
1988 The relevance to smartmontools (and hence smartctl) is that its
1989 interactions with disks fall solidly into the "1%" category. So even
1990 if the OS can happily treat (and name) a disk as "SCSI", smartmontools
1991 needs to detect the native command set and act accordingly.
1992 As more storage manufacturers (including external SATA drives) comply
1993 with SAT, smartmontools is able to automatically distinguish the native
1994 command set of the device. In some cases the '\-d sat' option is needed
1995 on the command line.
1997 There are also virtual disks which typically have no useful information
1998 to convey to smartmontools, but could conceivably in the future. An
1999 example of a virtual disk is the OS's view of a RAID 1 box. There are
2000 most likely two SATA disks inside a RAID 1 box. Addressing those SATA
2001 disks from a distant OS is a challenge for smartmontools. Another
2002 approach is running a tool like smartmontools inside the RAID 1 box (e.g.
2003 a Network Attached Storage (NAS) box) and fetching the logs via a
2008 .B smartctl \-a /dev/sda
2010 Print a large amount of SMART information for drive /dev/sda .
2013 .B smartctl \-s off /dev/sdd
2015 Disable SMART monitoring and data log collection on drive /dev/sdd .
2018 .B smartctl \-\-smart=on \-\-offlineauto=on \-\-saveauto=on /dev/sda
2020 Enable SMART on drive /dev/sda, enable automatic offline
2021 testing every four hours, and enable autosaving of
2022 SMART Attributes. This is a good start-up line for your system\'s
2023 init files. You can issue this command on a running system.
2026 .B smartctl \-t long /dev/sdc
2028 Begin an extended self-test of drive /dev/sdc. You can issue this
2029 command on a running system. The results can be seen in the self-test
2030 log visible with the \'\-l selftest\' option after it has completed.
2033 .B smartctl \-s on \-t offline /dev/sda
2035 Enable SMART on the disk, and begin an immediate offline test of
2036 drive /dev/sda. You can issue this command on a running system. The
2037 results are only used to update the SMART Attributes, visible
2038 with the \'\-A\' option. If any device errors occur, they are logged to
2039 the SMART error log, which can be seen with the \'\-l error\' option.
2042 .B smartctl \-A \-v 9,minutes /dev/sda
2044 Shows the vendor Attributes, when the disk stores its power-on time
2045 internally in minutes rather than hours.
2048 .B smartctl \-q errorsonly \-H \-l selftest /dev/sda
2050 Produces output only if the device returns failing SMART status,
2051 or if some of the logged self-tests ended with errors.
2054 .B smartctl \-q silent \-a /dev/sda
2056 Examine all SMART data for device /dev/sda, but produce no
2057 printed output. You must use the exit status (the
2059 shell variable) to learn if any Attributes are out of bound, if the
2060 SMART status is failing, if there are errors recorded in the
2061 self-test log, or if there are errors recorded in the disk error log.
2064 .B smartctl \-a \-d 3ware,0 /dev/sda
2066 Examine all SMART data for the first ATA disk connected to a 3ware
2067 RAID controller card.
2070 .B smartctl \-a \-d 3ware,0 /dev/twe0
2072 Examine all SMART data for the first ATA disk connected to a 3ware
2073 RAID 6000/7000/8000 controller card.
2076 .B smartctl \-a \-d 3ware,0 /dev/twa0
2078 Examine all SMART data for the first ATA disk connected to a
2079 3ware RAID 9000 controller card.
2082 .B smartctl \-a \-d 3ware,0 /dev/twl0
2084 Examine all SMART data for the first SATA (not SAS) disk connected to a
2085 3ware RAID 9750 controller card.
2088 .B smartctl \-t short \-d 3ware,3 /dev/sdb
2090 Start a short self-test on the fourth ATA disk connected to the 3ware RAID
2091 controller card which is the second SCSI device /dev/sdb.
2094 .B smartctl \-t long \-d areca,4 /dev/sg2
2096 Start a long self-test on the fourth SATA disk connected to an Areca RAID
2097 controller addressed by /dev/sg2.
2100 .B smartctl \-a \-d hpt,1/3 /dev/sda (under Linux)
2101 .B smartctl \-a \-d hpt,1/3 /dev/hptrr (under FreeBSD)
2103 Examine all SMART data for the (S)ATA disk directly connected to the third channel of the
2104 first HighPoint RocketRAID controller card.
2108 .B smartctl \-t short \-d hpt,1/1/2 /dev/sda (under Linux)
2109 .B smartctl \-t short \-d hpt,1/1/2 /dev/hptrr (under FreeBSD)
2111 Start a short self-test on the (S)ATA disk connected to second pmport on the
2112 first channel of the first HighPoint RocketRAID controller card.
2115 .B smartctl \-t select,10\-100 \-t select,30\-300 \-t afterselect,on \-t pending,45 /dev/sda
2117 Run a selective self-test on LBAs 10 to 100 and 30 to 300. After the
2118 these LBAs have been tested, read-scan the remainder of the disk. If the disk is
2119 power-cycled during the read-scan, resume the scan 45 minutes after power to the
2123 .B smartctl \-a \-d cciss,0 /dev/cciss/c0d0
2125 Examine all SMART data for the first SCSI disk connected to a cciss
2126 RAID controller card.
2129 The exit statuses of \fBsmartctl\fP are defined by a bitmask.
2130 If all is well with the disk, the exit status (return value) of
2131 \fBsmartctl\fP is 0 (all bits turned off). If a problem occurs, or an
2132 error, potential error, or fault is detected, then a non-zero status
2133 is returned. In this case, the eight different bits in the exit status
2134 have the following meanings for ATA disks; some of these values
2135 may also be returned for SCSI disks.
2138 Command line did not parse.
2141 Device open failed, device did not return an IDENTIFY DEVICE structure,
2142 or device is in a low-power mode (see \'\-n\' option above).
2145 Some SMART or other ATA command to the disk failed, or there was a checksum
2146 error in a SMART data structure (see \'\-b\' option above).
2149 SMART status check returned "DISK FAILING".
2152 We found prefail Attributes <= threshold.
2155 SMART status check returned "DISK OK" but we found that some (usage
2156 or prefail) Attributes have been <= threshold at some time in the
2160 The device error log contains records of errors.
2163 The device self-test log contains records of errors.
2164 [ATA only] Failed self-tests outdated by a newer successful extended
2165 self-test are ignored.
2167 To test within the shell for whether or not the different bits are
2168 turned on or off, you can use the following type of construction
2169 (which should work with any POSIX compatible shell):
2171 .B smartstat=$(($? & 8))
2173 This looks at only at bit 3 of the exit status
2175 (since 8=2^3). The shell variable
2176 $smartstat will be nonzero if SMART status check returned "disk
2177 failing" and zero otherwise.
2179 This shell script prints all status bits:
2182 for i in 0 1 2 3 4 5 6 7; do
2183 echo "Bit $i: $(((val & mask) && 1))"
2188 .\" %IF NOT OS Windows
2191 .B /usr/local/sbin/smartctl
2192 full path of this executable.
2193 .\" %IF ENABLE_DRIVEDB
2195 .B /usr/local/share/smartmontools/drivedb.h
2196 drive database (see \'\-B\' option).
2197 .\" %ENDIF ENABLE_DRIVEDB
2199 .B /usr/local/etc/smart_drivedb.h
2200 optional local drive database (see \'\-B\' option).
2202 .\" %ENDIF NOT OS Windows
2204 \fBBruce Allen\fP (project initiator),
2206 \fBChristian Franke\fP (project manager, Windows port and all sort of things),
2208 \fBDouglas Gilbert\fP (SCSI subsystem),
2210 \fBVolker Kuhlmann\fP (moderator of support and database mailing list),
2212 \fBGabriele Pohl\fP (wiki & development team support),
2214 \fBAlex Samorukov\fP (FreeBSD port and more, new Trac wiki).
2216 Many other individuals have made contributions and corrections,
2217 see AUTHORS, ChangeLog and repository files.
2219 The first smartmontools code was derived from the smartsuite package,
2220 written by Michael Cornwell and Andre Hedrick.
2223 To submit a bug report, create a ticket in smartmontools wiki:
2225 <\fBhttp://www.smartmontools.org/\fP>.
2227 Alternatively send the info to the smartmontools support mailing list:
2229 <\fBhttps://lists.sourceforge.net/lists/listinfo/smartmontools-support\fB>.
2232 \fBsmartd\fP(8), \fBupdate-smart-drivedb\fP(8).
2235 Please see the following web site for more info:
2236 \fBhttp://smartmontools.sourceforge.net/\fP
2238 An introductory article about smartmontools is \fIMonitoring Hard
2239 Disks with SMART\fP, by Bruce Allen, Linux Journal, January 2004,
2240 pages 74-77. This is \fBhttp://www.linuxjournal.com/article/6983\fP
2243 If you would like to understand better how SMART works, and what it
2244 does, a good place to start is with Sections 4.8 and 6.54 of the first
2245 volume of the \'AT Attachment with Packet Interface-7\' (ATA/ATAPI-7)
2246 specification Revision 4b. This documents the SMART functionality which the
2247 \fBsmartmontools\fP utilities provide access to.
2249 The functioning of SMART was originally defined by the SFF-8035i
2250 revision 2 and the SFF-8055i revision 1.4 specifications. These are
2251 publications of the Small Form Factors (SFF) Committee.
2253 Links to these and other documents may be found on the Links page of the
2254 \fBsmartmontools\fP Wiki at \fBhttp://www.smartmontools.org/wiki/Links\fP .
2257 CURRENT_SVN_VERSION CURRENT_SVN_DATE CURRENT_SVN_REV
2259 $Id: smartctl.8.in 4099 2015-05-30 17:32:13Z chrfranke $