1SMARTCTL(8) SMART Monitoring Tools SMARTCTL(8)
2
3
4
6 smartctl - Control and Monitor Utility for SMART Disks
7
8
10 smartctl [options] device
11
12
14 [This man page is generated for the Linux version of smartmontools. It
15 does not contain info specific to other platforms.]
16
17 smartctl controls the Self-Monitoring, Analysis and Reporting Technol‐
18 ogy (SMART) system built into most ATA/SATA and SCSI/SAS hard drives
19 and solid-state drives. The purpose of SMART is to monitor the relia‐
20 bility of the hard drive and predict drive failures, and to carry out
21 different types of drive self-tests. smartctl also supports some fea‐
22 tures not related to SMART. This version of smartctl is compatible
23 with ACS-3, ACS-2, ATA8-ACS, ATA/ATAPI-7 and earlier standards (see
24 REFERENCES below).
25
26 smartctl also provides support for polling TapeAlert messages from SCSI
27 tape drives and changers.
28
29 The user must specify the device to be controlled or interrogated as
30 the final argument to smartctl. The command set used by the device is
31 often derived from the device path but may need help with the '-d' op‐
32 tion (for more information see the section on "ATA, SCSI command sets
33 and SAT" below). Device paths are as follows:
34
35 LINUX: Use the forms "/dev/sd[a-z]" for ATA/SATA and SCSI/SAS de‐
36 vices. For SCSI Tape Drives and Changers with TapeAlert sup‐
37 port use the devices "/dev/nst*" and "/dev/sg*". For disks
38 behind 3ware controllers you may need "/dev/sd[a-z]" or
39 "/dev/twe[0-9]", "/dev/twa[0-9]" or "/dev/twl[0-9]": see de‐
40 tails below. For disks behind HighPoint RocketRAID con‐
41 trollers you may need "/dev/sd[a-z]". For disks behind Areca
42 SATA RAID controllers, you need "/dev/sg[2-9]" (note that
43 smartmontools interacts with the Areca controllers via a SCSI
44 generic device which is different than the SCSI device used
45 for reading and writing data)! For HP Smart Array RAID con‐
46 trollers, there are three currently supported drivers: cciss,
47 hpsa, and hpahcisr. For disks accessed via the cciss driver
48 the device nodes are of the form "/dev/cciss/c[0-9]d0". For
49 disks accessed via the hpahcisr and hpsa drivers, the device
50 nodes you need are "/dev/sg[0-9]*". ("lsscsi -g" is helpful
51 in determining which scsi generic device node corresponds to
52 which device.) Use the nodes corresponding to the RAID con‐
53 trollers, not the nodes corresponding to logical drives. See
54 the -d option below, as well. Use the forms "/dev/nvme[0-9]"
55 (broadcast namespace) or "/dev/nvme[0-9]n[1-9]" (specific
56 namespace 1-9) for NVMe devices.
57
58 if '-' is specified as the device path, smartctl reads and interprets
59 it's own debug output from standard input. See '-r ataioctl' below for
60 details.
61
62 smartctl guesses the device type if possible. If necessary, the '-d'
63 option can be used to override this guess.
64
65 Note that the printed output of smartctl displays most numerical values
66 in base 10 (decimal), but some values are displayed in base 16 (hexa‐
67 decimal). To distinguish them, the base 16 values are always displayed
68 with a leading "0x", for example: "0xff". This man page follows the
69 same convention.
70
71
73 The options are grouped below into several categories. smartctl will
74 execute the corresponding commands in the order: INFORMATION, EN‐
75 ABLE/DISABLE, DISPLAY DATA, RUN/ABORT TESTS.
76
77
78 SHOW INFORMATION OPTIONS:
79
80 -h, --help, --usage
81 Prints a usage message to STDOUT and exits.
82
83 -V, --version, --copyright, --license
84 Prints version, copyright, license, home page and SVN revision
85 information for your copy of smartctl to STDOUT and then exits.
86
87 -i, --info
88 Prints the device model number, serial number, firmware version,
89 and ATA Standard version/revision information. Says if the de‐
90 vice supports SMART, and if so, whether SMART support is cur‐
91 rently enabled or disabled. If the device supports Logical
92 Block Address mode (LBA mode) print current user drive capacity
93 in bytes. (If drive has a user protected area reserved, or is
94 "clipped", this may be smaller than the potential maximum drive
95 capacity.) Indicates if the drive is in the smartmontools data‐
96 base (see '-v' options below). If so, the drive model family
97 may also be printed. If '-n' (see below) is specified, the
98 power mode of the drive is printed.
99
100 [NVMe] For NVMe devices the information is obtained from the
101 Identify Controller and the Identify Namespace data structure.
102
103 --identify[=[w][nvb]]
104 [ATA only] Prints an annotated table of the IDENTIFY DEVICE
105 data. By default, only valid words (words not equal to 0x0000
106 or 0xffff) and nonzero bits and bit fields are printed. This
107 can be changed by the optional argument which consists of one or
108 two characters from the set 'wnvb'. The character 'w' enables
109 printing of all 256 words. The character 'n' suppresses print‐
110 ing of bits, 'v' enables printing of all bits from valid words,
111 'b' enables printing of all bits. For example '--identify=n'
112 (valid words, no bits) produces the shortest output and '--iden‐
113 tify=wb' (all words, all bits) produces the longest output.
114
115 -a, --all
116 Prints all SMART information about the disk, or TapeAlert infor‐
117 mation about the tape drive or changer. For ATA devices this is
118 equivalent to
119 '-H -i -c -A -l error -l selftest -l selective'
120 and for SCSI, this is equivalent to
121 '-H -i -A -l error -l selftest'.
122 For NVMe, this is equivalent to
123 '-H -i -c -A -l error'.
124 Note that for ATA disks this does not enable the non-SMART op‐
125 tions and the SMART options which require support for 48-bit ATA
126 commands.
127
128 -x, --xall
129 Prints all SMART and non-SMART information about the device.
130 For ATA devices this is equivalent to
131 '-H -i -g all -g wcreorder -c -A -f brief -l xerror,error -l
132 xselftest,selftest -l selective -l directory -l scttemp -l sc‐
133 terc -l devstat -l defects -l sataphy'.
134 and for SCSI, this is equivalent to
135 '-H -i -g all -A -l error -l selftest -l background -l sasphy'.
136 For NVMe, this is equivalent to
137 '-H -i -c -A -l error'.
138
139 --scan Scans for devices and prints each device name, device type and
140 protocol ([ATA] or [SCSI]) info. May be used in conjunction
141 with '-d TYPE' to restrict the scan to a specific TYPE. See
142 also info about platform specific device scan and the DEVICESCAN
143 directive on smartd(8) man page.
144
145 --scan-open
146 Same as --scan, but also tries to open each device before print‐
147 ing device info. The device open may change the device type due
148 to autodetection (see also '-d test').
149
150 This option can be used to create a draft smartd.conf file. All
151 options after '--' are appended to each output line. For exam‐
152 ple:
153 smartctl --scan-open -- -a -W 4,45,50 -m admin@work > smartd.conf
154
155 Multiple '-d TYPE' options may be specified with '--scan[-open]'
156 to combine the scan results of more than one TYPE.
157
158 -g NAME, --get=NAME
159 Get non-SMART device settings. See '-s, --set' below for fur‐
160 ther info.
161
162
163 RUN-TIME BEHAVIOR OPTIONS:
164
165 -j, --json[=cgiosuvy]
166 Enables JSON or YAML output mode.
167
168 The output could be modified or enhanced by the optional argu‐
169 ment which consists of one or more characters from the set
170 'cgiosuvy':
171 'c': Outputs compact format without extra spaces and newlines.
172 By default, output is pretty-printed. If used with YAML format,
173 the indentation of arrays is reduced.
174 'g': Outputs JSON structure as single assignments to allow the
175 usage of grep. Each assignment reflects the absolute path of a
176 value. The syntax is compatible with gron:
177 'json.KEY1[INDEX2].KEY3 = VALUE;'.
178 'o': Includes the full original plaintext output of smartctl as
179 a JSON array 'smartctl.output[]'.
180 's': Outputs JSON object elements sorted by key. By default,
181 object elements are ordered as generated internally.
182 'v': Enables verbose output of possible unsafe integers. If
183 specified, values which may exceed JSON safe integer (53-bit)
184 range are always output as a number (with some 'KEY') and a
185 string ('KEY_s'), regardless of the actual value. Values which
186 may exceed 64-bit range are also output as a little endian byte
187 array ('KEY_le'). By default, the additional elements are only
188 output if the value actually exceeds the range.
189 'y': [NEW EXPERIMENTAL SMARTCTL FEATURE] Outputs in YAML format.
190
191 The following two arguments are primarily indented for develop‐
192 ment:
193 'i': Includes lines from the plaintext output which print info
194 already implemented for JSON output. The lines appear as
195 strings with key 'smartctl_NNNN_i'.
196 'u': Includes lines from the plaintext output which print info
197 still unimplemented for JSON output. The lines appear as
198 strings with key 'smartctl_NNNN_u'.
199
200 -q TYPE, --quietmode=TYPE
201 Specifies that smartctl should run in one of the quiet modes de‐
202 scribed here. The valid arguments to this option are:
203
204 errorsonly - only print: For the '-l error' option, if nonzero,
205 the number of errors recorded in the SMART error log and the
206 power-on time when they occurred; For the '-l selftest' option,
207 errors recorded in the device self-test log; For the '-H' op‐
208 tion, SMART "disk failing" status or device Attributes (pre-
209 failure or usage) which failed either now or in the past; For
210 the '-A' option, device Attributes (pre-failure or usage) which
211 failed either now or in the past.
212
213 silent - print no output. The only way to learn about what was
214 found is to use the exit status of smartctl (see EXIT STATUS be‐
215 low).
216
217 noserial - Do not print the serial number of the device.
218
219 -d TYPE, --device=TYPE
220 Specifies the type of the device. The valid arguments to this
221 option are:
222
223 auto - attempt to guess the device type from the device name or
224 from controller type info provided by the operating system or
225 from a matching USB ID entry in the drive database. This is the
226 default.
227
228 test - prints the guessed TYPE, then opens the device and prints
229 the (possibly changed) TYPE name and then exits without perform‐
230 ing any further commands.
231
232 ata - the device type is ATA. This prevents smartctl from issu‐
233 ing SCSI commands to an ATA device.
234
235 scsi - the device type is SCSI. This prevents smartctl from is‐
236 suing ATA commands to a SCSI device.
237
238 nvme[,NSID] - the device type is NVM Express (NVMe). The op‐
239 tional parameter NSID specifies the namespace id (in hex) passed
240 to the driver. Use 0xffffffff for the broadcast namespace id.
241 The default for NSID is the namespace id addressed by the device
242 name.
243
244 sat[,auto][,N] - the device type is SCSI to ATA Translation
245 (SAT). This is for ATA disks that have a SCSI to ATA Transla‐
246 tion Layer (SATL) between the disk and the operating system.
247 SAT defines two ATA PASS THROUGH SCSI commands, one 12 bytes
248 long and the other 16 bytes long. The default is the 16 byte
249 variant which can be overridden with either '-d sat,12' or '-d
250 sat,16'.
251
252 If '-d sat,auto' is specified, device type SAT (for ATA/SATA
253 disks) is only used if the SCSI INQUIRY data reports a SATL
254 (VENDOR: "ATA "). Otherwise device type SCSI (for SCSI/SAS
255 disks) is used.
256
257 usbcypress - this device type is for ATA disks that are behind a
258 Cypress USB to PATA bridge. This will use the ATACB proprietary
259 scsi pass through command. The default SCSI operation code is
260 0x24, but although it can be overridden with '-d usbcy‐
261 press,0xN', where N is the scsi operation code, you're running
262 the risk of damage to the device or filesystems on it.
263
264 usbjmicron[,p][,x][,PORT] - this device type is for SATA disks
265 that are behind a JMicron USB to PATA/SATA bridge. The 48-bit
266 ATA commands (required e.g. for '-l xerror', see below) do not
267 work with all of these bridges and are therefore disabled by de‐
268 fault. These commands can be enabled by '-d usbjmicron,x'. If
269 two disks are connected to a bridge with two ports, an error
270 message is printed if no PORT is specified. The port can be
271 specified by '-d usbjmicron[,x],PORT' where PORT is 0 (master)
272 or 1 (slave). This is not necessary if the device uses a port
273 multiplier to connect multiple disks to one port. The disks ap‐
274 pear under separate /dev/ice names then. CAUTION: Specifying
275 ',x' for a device which does not support it results in I/O er‐
276 rors and may disconnect the drive. The same applies if the
277 specified PORT does not exist or is not connected to a disk.
278
279 The Prolific PL2507/3507 USB bridges with older firmware support
280 a pass-through command similar to JMicron and work with '-d usb‐
281 jmicron,0'. Newer Prolific firmware requires a modified command
282 which can be selected by '-d usbjmicron,p'. Note that this does
283 not yet support the SMART status command.
284
285 usbprolific - this device type is for SATA disks that are behind
286 a Prolific PL2571/2771/2773/2775 USB to SATA bridge.
287
288 usbsunplus - this device type is for SATA disks that are behind
289 a SunplusIT USB to SATA bridge.
290
291 sntjmicron[,NSID] - this device type is for NVMe disks that are
292 behind a JMicron USB to NVMe bridge. The optional parameter
293 NSID specifies the namespace id (in hex) passed to the driver.
294 The default namespace id is the broadcast namespace id
295 (0xffffffff).
296
297 sntrealtek - [NEW EXPERIMENTAL SMARTCTL FEATURE] this device
298 type is for NVMe disks that are behind a Realtek USB to NVMe
299 bridge.
300
301 marvell - [Linux only] interact with SATA disks behind Marvell
302 chip-set controllers (using the Marvell rather than libata
303 driver).
304
305 megaraid,N - [Linux only] the device consists of one or more
306 SCSI/SAS disks connected to a MegaRAID controller. The non-neg‐
307 ative integer N (in the range of 0 to 127 inclusive) denotes
308 which disk on the controller is monitored. Use syntax such as:
309 smartctl -a -d megaraid,2 /dev/sda
310 smartctl -a -d megaraid,0 /dev/sdb
311 smartctl -a -d megaraid,0 /dev/bus/0
312 This interface will also work for Dell PERC controllers. It is
313 possible to set RAID device name as /dev/bus/N, where N is a
314 SCSI bus number.
315
316 The following entry in /proc/devices must exist:
317 For PERC2/3/4 controllers: megadevN
318 For PERC5/6 controllers: megaraid_sas_ioctlN
319
320 aacraid,H,L,ID - [Linux, Windows and Cygwin only] the device
321 consists of one or more SCSI/SAS or SATA disks connected to an
322 AacRaid controller. The non-negative integers H,L,ID (Host num‐
323 ber, Lun, ID) denote which disk on the controller is monitored.
324 Use syntax such as:
325 smartctl -a -d aacraid,0,0,2 /dev/sda
326 smartctl -a -d aacraid,1,0,4 /dev/sdb
327
328 Option '-d sat,auto+...' is implicitly enabled to detect SATA
329 disks. Use '-d scsi+aacraid,H,L,ID' to disable it.
330
331 On Linux, the following entry in /proc/devices must exist: aac.
332 Character device nodes /dev/aacH (H=Host number) are created if
333 required.
334
335 3ware,N - [FreeBSD and Linux only] the device consists of one or
336 more ATA disks connected to a 3ware RAID controller. The non-
337 negative integer N (in the range from 0 to 127 inclusive) de‐
338 notes which disk on the controller is monitored. Use syntax
339 such as:
340 smartctl -a -d 3ware,2 /dev/sda [Linux only]
341 smartctl -a -d 3ware,0 /dev/twe0
342 smartctl -a -d 3ware,1 /dev/twa0
343 smartctl -a -d 3ware,1 /dev/twl0 [Linux only]
344 smartctl -a -d 3ware,1 /dev/tws0 [FreeBSD only]
345 The first two forms, which refer to devices /dev/sda-z (depre‐
346 cated) and /dev/twe0-15, may be used with 3ware series 6000,
347 7000, and 8000 series controllers that use the 3x-xxxx driver.
348 The devices /dev/twa0-15, must be used with 3ware 9000 series
349 controllers, which use the 3w-9xxx driver. The devices
350 /dev/twl0-15 [Linux] or /dev/tws0-15 [FreeBSD] must be used with
351 the 3ware/LSI 9750 series controllers which use the 3w-sas
352 driver.
353
354 Note that if the special character device nodes /dev/tw[ls]?,
355 /dev/twa? and /dev/twe? do not exist, or exist with the incor‐
356 rect major or minor numbers, smartctl will recreate them on the
357 fly.
358
359 areca,N - [FreeBSD, Linux, Windows and Cygwin only] the device
360 consists of one or more SATA disks connected to an Areca SATA
361 RAID controller. The positive integer N (in the range from 1 to
362 24 inclusive) denotes which disk on the controller is monitored.
363 On Linux use syntax such as:
364 smartctl -a -d areca,2 /dev/sg2
365 smartctl -a -d areca,3 /dev/sg3
366 The first line above addresses the second disk on the first
367 Areca RAID controller. The second line addresses the third disk
368 on the second Areca RAID controller. To help identify the cor‐
369 rect device on Linux, use the command:
370 cat /proc/scsi/sg/device_hdr /proc/scsi/sg/devices
371 to show the SCSI generic devices (one per line, starting with
372 /dev/sg0). The correct SCSI generic devices to address for
373 smartmontools are the ones with the type field equal to 3. If
374 the incorrect device is addressed, please read the warning/error
375 messages carefully. They should provide hints about what de‐
376 vices to use.
377
378 Important: the Areca controller must have firmware version 1.46
379 or later. Lower-numbered firmware versions will give (harmless)
380 SCSI error messages and no SMART information.
381
382 areca,N/E - [FreeBSD, Linux, Windows and Cygwin only] the device
383 consists of one or more SATA or SAS disks connected to an Areca
384 SAS RAID controller. The integer N (range 1 to 128) denotes the
385 channel (slot) and E (range 1 to 8) denotes the enclosure. Im‐
386 portant: This requires Areca SAS controller firmware version
387 1.51 or later.
388
389 cciss,N - [FreeBSD and Linux only] the device consists of one or
390 more SCSI/SAS or SATA disks connected to a cciss RAID con‐
391 troller. The non-negative integer N (in the range from 0 to 15
392 inclusive) denotes which disk on the controller is monitored.
393
394 Option '-d sat,auto+...' is implicitly enabled to detect SATA
395 disks. Use '-d scsi+cciss,N' to disable it.
396
397 To look at disks behind HP Smart Array controllers, use syntax
398 such as:
399 smartctl -a -d cciss,0 /dev/cciss/c0d0 (cciss driver under
400 Linux)
401 smartctl -a -d cciss,0 /dev/sg2 (hpsa or hpahcisr drivers un‐
402 der Linux)
403
404 hpt,L/M/N - [FreeBSD and Linux only] the device consists of one
405 or more ATA disks connected to a HighPoint RocketRAID con‐
406 troller. The integer L is the controller id, the integer M is
407 the channel number, and the integer N is the PMPort number if it
408 is available. The allowed values of L are from 1 to 4 inclu‐
409 sive, M are from 1 to 128 inclusive and N from 1 to 4 if PMPort
410 available. And also these values are limited by the model of
411 the HighPoint RocketRAID controller. Use syntax such as:
412 smartctl -a -d hpt,1/3 /dev/sda (under Linux)
413 smartctl -a -d hpt,1/2/3 /dev/sda (under Linux)
414 Note that the /dev/sda-z form should be the device node which
415 stands for the disks derived from the HighPoint RocketRAID con‐
416 trollers under Linux and under FreeBSD, it is the character de‐
417 vice which the driver registered (eg, /dev/hptrr, /dev/hptmv6).
418
419 intelliprop,N[+TYPE] - the device consists of multiple ATA disks
420 connected to an Intelliprop controller. The integer N is the
421 port number from 0 to 3 of the ATA drive to be targeted. The
422 TYPE can be ata(default), sat, or a USB controller listed above.
423 Note: if a type of ATA does not work, try a type of sat. Use
424 syntax such as:
425 smartctl -a -d intelliprop,1 /dev/sda (under Linux)
426 smartctl -a -d intelliprop,1+sat /dev/sda (under Linux)
427 WARNING: The disks are selected by write commands to the ATA De‐
428 vice Vendor Specific Log at address 0xc0. Using this option
429 with other devices may have undesirable side effects.
430
431 jmb39x[-q],N[,sLBA][,force][+TYPE] - [NEW EXPERIMENTAL SMARTCTL
432 FEATURE] the device consists of multiple SATA disks connected to
433 a JMicron JMB39x RAID port multiplier. The suffix '-q' selects
434 a slightly different command variant used by some QNAP NAS de‐
435 vices. The integer N is the port number from 0 to 4.
436 WARNING: The ATA pass-through commands are issued via READ/WRITE
437 commands to LBA 33 of the RAID volume. Using this option with
438 other devices may overwrite this sector.
439 The LBA could be selected in the range 33 (last sector of a GPT)
440 to 62 (last sector of traditional boot area).
441 By default, access to the device is refused if the selected sec‐
442 tor is not zero filled. The 'force' flag disables this check.
443 WARNING: Original sector data is not written back if smartctl is
444 aborted with a signal.
445
446 jms56x,N[,sLBA][,force][+TYPE] - [NEW EXPERIMENTAL SMARTCTL FEA‐
447 TURE] the device consists of multiple SATA disks connected to a
448 JMicron JMS56x USB to SATA RAID bridge. See 'jmb39x...' above
449 for valid arguments.
450
451 -T TYPE, --tolerance=TYPE
452 [ATA only] Specifies how tolerant smartctl should be of ATA and
453 SMART command failures.
454
455 The behavior of smartctl depends upon whether the command is
456 "optional" or "mandatory". Here "mandatory" means "required by
457 the ATA Specification if the device implements the SMART command
458 set" and "optional" means "not required by the ATA Specification
459 even if the device implements the SMART command set." The
460 "mandatory" ATA and SMART commands are: (1) ATA IDENTIFY DEVICE,
461 (2) SMART ENABLE/DISABLE ATTRIBUTE AUTOSAVE, (3) SMART EN‐
462 ABLE/DISABLE, and (4) SMART RETURN STATUS.
463
464 The valid arguments to this option are:
465
466 normal - exit on failure of any mandatory SMART command, and ig‐
467 nore all failures of optional SMART commands. This is the de‐
468 fault. Note that on some devices, issuing unimplemented op‐
469 tional SMART commands doesn't cause an error. This can result
470 in misleading smartctl messages such as "Feature X not imple‐
471 mented", followed shortly by "Feature X: enabled". In most such
472 cases, contrary to the final message, Feature X is not enabled.
473
474 conservative - exit on failure of any optional SMART command.
475
476 permissive - ignore failure(s) of mandatory SMART commands.
477 This option may be given more than once. Each additional use of
478 this option will cause one more additional failure to be ig‐
479 nored. Note that the use of this option can lead to messages
480 like "Feature X not supported", followed shortly by "Feature X
481 enable failed". In a few such cases, contrary to the final mes‐
482 sage, Feature X is enabled.
483
484 verypermissive - equivalent to giving a large number of '-T per‐
485 missive' options: ignore failures of any number of mandatory
486 SMART commands. Please see the note above.
487
488 -b TYPE, --badsum=TYPE
489 [ATA only] Specifies the action smartctl should take if a check‐
490 sum error is detected in the: (1) Device Identity Structure, (2)
491 SMART Self-Test Log Structure, (3) SMART Attribute Value Struc‐
492 ture, (4) SMART Attribute Threshold Structure, or (5) ATA Error
493 Log Structure.
494
495 The valid arguments to this option are:
496
497 warn - report the incorrect checksum but carry on in spite of
498 it. This is the default.
499
500 exit - exit smartctl.
501
502 ignore - continue silently without issuing a warning.
503
504 -r TYPE, --report=TYPE
505 Intended primarily to help smartmontools developers understand
506 the behavior of smartmontools on non-conforming or poorly con‐
507 forming hardware. This option reports details of smartctl
508 transactions with the device. The option can be used multiple
509 times. When used just once, it shows a record of the ioctl()
510 transactions with the device. When used more than once, the de‐
511 tail of these ioctl() transactions are reported in greater de‐
512 tail. The valid arguments to this option are:
513
514 ioctl - report all ioctl() transactions.
515
516 ataioctl - report only ioctl() transactions with ATA devices.
517
518 scsiioctl - report only ioctl() transactions with SCSI devices.
519 Invoking this once shows the SCSI commands in hex and the corre‐
520 sponding status. Invoking it a second time adds a hex listing
521 of the first 64 bytes of data send to, or received from the de‐
522 vice.
523
524 nvmeioctl - report only ioctl() transactions with NVMe devices.
525
526 Any argument may include a positive integer to specify the level
527 of detail that should be reported. The argument should be fol‐
528 lowed by a comma then the integer with no spaces. For example,
529 ataioctl,2 The default level is 1, so '-r ataioctl,1' and '-r
530 ataioctl' are equivalent.
531
532 For testing purposes, the output of '-r ataioctl,2' can later be
533 parsed by smartctl itself if '-' is used as device path argu‐
534 ment. The ATA command input parameters, sector data and return
535 values are reconstructed from the debug report read from stdin.
536 Then smartctl internally simulates an ATA device with the same
537 behaviour. This is does not work for SCSI devices yet.
538
539 -n POWERMODE[,STATUS], --nocheck=POWERMODE[,STATUS]
540 [ATA] [SCSI: NEW EXPERIMENTAL SMARTCTL FEATURE] Specifies if
541 smartctl should exit before performing any checks when the de‐
542 vice is in a low-power mode. It may be used to prevent a disk
543 from being spun-up by smartctl. The power mode is ignored by
544 default.
545
546 Note: If this option is used it may also be necessary to specify
547 the device type with the '-d' option. Otherwise the device may
548 spin up due to commands issued during device type autodetection.
549
550 By default, exit status 2 is returned if the device is in one of
551 the specified low-power modes. This status is also returned if
552 the device open or identification failed (see EXIT STATUS be‐
553 low). The optional STATUS parameter allows to override this de‐
554 fault. STATUS is an integer in the range from 0 to 255 inclu‐
555 sive. For example use '-n standby,0' to return success if a de‐
556 vice is in SLEEP or STANDBY mode. Use '-n standby,3' to return
557 a unique exit status in this case.
558
559 The valid arguments to this option are:
560
561 never - check the device always, but print the power mode if
562 '-i' is specified.
563
564 sleep[,STATUS] - check the device unless it is in SLEEP mode.
565
566 standby[,STATUS] - check the device unless it is in SLEEP or
567 STANDBY mode. In these modes most disks are not spinning, so if
568 you want to prevent a disk from spinning up, this is probably
569 what you want.
570
571 idle[,STATUS] - check the device unless it is in SLEEP, STANDBY
572 or IDLE mode. In the IDLE state, most disks are still spinning,
573 so this is probably not what you want.
574
575
576 SMART FEATURE ENABLE/DISABLE COMMANDS:
577
578 Note: if multiple options are used to both enable and disable a
579 feature, then both the enable and disable commands will be is‐
580 sued. The enable command will always be issued before the cor‐
581 responding disable command.
582
583 -s VALUE, --smart=VALUE
584 Enables or disables SMART on device. The valid arguments to
585 this option are on and off.
586
587 [ATA] Note that the ATA commands SMART ENABLE/DISABLE OPERATIONS
588 were declared obsolete in ATA ACS-4 Revision 10 (Nov 2015).
589
590 [SCSI tape drive or changer] It is not necessary (or useful) to
591 enable SMART to see the TapeAlert messages.
592
593 -o VALUE, --offlineauto=VALUE
594 [ATA only] Enables or disables SMART automatic offline test,
595 which scans the drive every four hours for disk defects. This
596 command can be given during normal system operation. The valid
597 arguments to this option are on and off.
598
599 Note that the SMART automatic offline test command is listed as
600 "Obsolete" in every version of the ATA and ATA/ATAPI Specifica‐
601 tions. It was originally part of the SFF-8035i Revision 2.0
602 specification, but was never part of any ATA specification.
603 However it is implemented and used by many vendors. You can
604 tell if automatic offline testing is supported by seeing if this
605 command enables and disables it, as indicated by the 'Auto Off‐
606 line Data Collection' part of the SMART capabilities report
607 (displayed with '-c').
608
609 SMART provides three basic categories of testing. The first
610 category, called "online" testing, has no effect on the perfor‐
611 mance of the device. It is turned on by the '-s on' option.
612
613 The second category of testing is called "offline" testing.
614 This type of test can, in principle, degrade the device perfor‐
615 mance. The '-o on' option causes this offline testing to be
616 carried out, automatically, on a regular scheduled basis. Nor‐
617 mally, the disk will suspend offline testing while disk accesses
618 are taking place, and then automatically resume it when the disk
619 would otherwise be idle, so in practice it has little effect.
620 Note that a one-time offline test can also be carried out imme‐
621 diately upon receipt of a user command. See the '-t offline'
622 option below, which causes a one-time offline test to be carried
623 out immediately.
624
625 The choice (made by the SFF-8035i and ATA specification authors)
626 of the word testing for these first two categories is unfortu‐
627 nate, and often leads to confusion. In fact these first two
628 categories of online and offline testing could have been more
629 accurately described as online and offline data collection.
630
631 The results of this automatic or immediate offline testing (data
632 collection) are reflected in the values of the SMART Attributes.
633 Thus, if problems or errors are detected, the values of these
634 Attributes will go below their failure thresholds; some types of
635 errors may also appear in the SMART error log. These are visi‐
636 ble with the '-A' and '-l error' options respectively.
637
638 Some SMART attribute values are updated only during off-line
639 data collection activities; the rest are updated during normal
640 operation of the device or during both normal operation and off-
641 line testing. The Attribute value table produced by the '-A'
642 option indicates this in the UPDATED column. Attributes of the
643 first type are labeled "Offline" and Attributes of the second
644 type are labeled "Always".
645
646 The third category of testing (and the only category for which
647 the word 'testing' is really an appropriate choice) is "self"
648 testing. This third type of test is only performed (immedi‐
649 ately) when a command to run it is issued. The '-t' and '-X'
650 options can be used to carry out and abort such self-tests;
651 please see below for further details.
652
653 Any errors detected in the self testing will be shown in the
654 SMART self-test log, which can be examined using the '-l self‐
655 test' option.
656
657 Note: in this manual page, the word "Test" is used in connection
658 with the second category just described, e.g. for the "offline"
659 testing. The words "Self-test" are used in connection with the
660 third category.
661
662 -S VALUE, --saveauto=VALUE
663 [ATA] Enables or disables SMART autosave of device vendor-spe‐
664 cific Attributes. The valid arguments to this option are on and
665 off. Note that this feature is preserved across disk power cy‐
666 cles, so you should only need to issue it once.
667
668 The ATA standard does not specify a method to check whether
669 SMART autosave is enabled. Unlike SCSI (below), smartctl is un‐
670 able to print a warning if autosave is disabled.
671
672 Note that the ATA commands SMART ENABLE/DISABLE AUTOSAVE were
673 declared obsolete in ATA ACS-4 Revision 10 (Nov 2015).
674
675 [SCSI] For SCSI devices this toggles the value of the Global
676 Logging Target Save Disabled (GLTSD) bit in the Control Mode
677 Page. Some disk manufacturers set this bit by default. This
678 prevents error counters, power-up hours and other useful data
679 from being placed in non-volatile storage, so these values may
680 be reset to zero the next time the device is power-cycled. If
681 the GLTSD bit is set then 'smartctl -a' will issue a warning.
682 Use on to clear the GLTSD bit and thus enable saving counters to
683 non-volatile storage. For extreme streaming-video type applica‐
684 tions you might consider using off to set the GLTSD bit.
685
686 -g NAME, --get=NAME, -s NAME[,VALUE], --set=NAME[,VALUE]
687 Gets/sets non-SMART device settings. Note that the '--set' op‐
688 tion shares its short option '-s' with '--smart'. Valid argu‐
689 ments are:
690
691 all - Gets all values. This is equivalent to
692 '-g aam -g apm -g lookahead -g security -g wcache -g rcache -g
693 dsn'
694
695 aam[,N|off] - [ATA only] Gets/sets the Automatic Acoustic Man‐
696 agement (AAM) feature (if supported). A value of 128 sets the
697 most quiet (slowest) mode and 254 the fastest (loudest) mode,
698 'off' disables AAM. Devices may support intermediate levels.
699 Values below 128 are defined as vendor specific (0) or retired
700 (1 to 127). Note that the AAM feature was declared obsolete in
701 ATA ACS-2 Revision 4a (Dec 2010).
702
703 apm[,N|off] - [ATA only] Gets/sets the Advanced Power Management
704 (APM) feature on device (if supported). If a value between 1
705 and 254 is provided, it will attempt to enable APM and set the
706 specified value, 'off' disables APM. Note the actual behavior
707 depends on the drive, for example some drives disable APM if
708 their value is set above 128. Values below 128 are supposed to
709 allow drive spindown, values 128 and above adjust only head-
710 parking frequency, although the actual behavior defined is also
711 vendor-specific.
712
713 lookahead[,on|off] - [ATA only] Gets/sets the read look-ahead
714 feature (if supported). Read look-ahead is usually enabled by
715 default.
716
717 security - [ATA only] Gets the status of ATA Security feature
718 (if supported). If ATA Security is enabled an ATA user password
719 is set. The drive will be locked on next reset then.
720
721 security-freeze - [ATA only] Sets ATA Security feature to frozen
722 mode. This prevents that the drive accepts any security com‐
723 mands until next reset. Note that the frozen mode may already
724 be set by BIOS or OS.
725
726 standby,[N|off] - [ATA] Sets the standby (spindown) timer and
727 places the drive in the IDLE mode. A value of 0 or 'off' dis‐
728 ables the standby timer. Values from 1 to 240 specify timeouts
729 from 5 seconds to 20 minutes in 5 second increments. Values
730 from 241 to 251 specify timeouts from 30 minutes to 330 minutes
731 in 30 minute increments. Value 252 specifies 21 minutes. Value
732 253 specifies a vendor specific time between 8 and 12 hours.
733 Value 255 specifies 21 minutes and 15 seconds. Some drives may
734 use a vendor specific interpretation for the values. Note that
735 there is no get option because ATA standards do not specify a
736 method to read the standby timer. If '-s standby,now' is also
737 specified, the drive is immediately placed in the STANDBY mode
738 without temporarily placing it in the IDLE mode. Note that ATA
739 standards do not specify a command to set the standby timer
740 without affecting the power mode.
741 [SCSI] [NEW EXPERIMENTAL SMARTCTL FEATURE] Only the set option
742 with 'standby,off' or 'standby,0' is accepted and will place the
743 SCSI disk into "ACTIVE" power condition.
744
745 standby,now - [ATA] Places the drive in the STANDBY mode. This
746 usually spins down the drive. The setting of the standby timer
747 is not affected unless '-s standby,[N|off]' is also specified.
748 [SCSI] [NEW EXPERIMENTAL SMARTCTL FEATURE] Only the set option
749 is accepted and will place the SCSI disk into "STANDBY_Z" power
750 condition.
751
752 wcache[,on|off] - [ATA] Gets/sets the volatile write cache fea‐
753 ture (if supported). The write cache is usually enabled by de‐
754 fault.
755
756 wcache[,on|off] - [SCSI] Gets/sets the 'Write Cache Enable'
757 (WCE) bit (if supported). The write cache is usually enabled by
758 default.
759
760 wcache-sct[,ata|on|off[,p]] - [ATA only] Gets/sets the write
761 cache feature through SCT Feature Control (if supported). The
762 state of write cache in SCT Feature Control could be "Controlled
763 by ATA", "Force Enabled", or "Force Disabled". SCT Feature con‐
764 trol overwrites the setting by ATA Set Features command
765 (wcache[,on|off] option). If SCT Feature Control sets write
766 cache as "Force Enabled" or "Force Disabled", the setting of
767 wcache[,on|off] is ignored by the drive. SCT Feature Control
768 usually sets write cache as "Controlled by ATA" by default. If
769 ',p' is specified, the setting is preserved across power cycles.
770
771 wcreorder[,on|off[,p]] - [ATA only] Gets/sets Write Cache Re‐
772 ordering. If it is disabled (off), disk write scheduling is ex‐
773 ecuted on a first-in-first-out (FIFO) basis. If Write Cache Re‐
774 ordering is enabled (on), then disk write scheduling may be re‐
775 ordered by the drive. If write cache is disabled, the current
776 Write Cache Reordering state is remembered but has no effect on
777 non-cached writes, which are always written in the order re‐
778 ceived. The state of Write Cache Reordering has no effect on
779 either NCQ or LCQ queued commands. If ',p' is specified, the
780 setting is preserved across power cycles.
781
782 rcache[,on|off] - [SCSI only] Gets/sets the 'Read Cache Disable'
783 (RCE) bit. 'Off' value disables read cache (if supported). The
784 read cache is usually enabled by default.
785
786 dsn[,on|off] - [ATA only] Gets/sets the DSN feature (if sup‐
787 ported). The dsn is usually disabled by default.
788
789
790 SMART READ AND DISPLAY DATA OPTIONS:
791
792 -H, --health
793 Prints the health status of the device or pending TapeAlert mes‐
794 sages.
795
796 If the device reports failing health status, this means either
797 that the device has already failed, or that it is predicting its
798 own failure within the next 24 hours. If this happens, use the
799 '-a' option to get more information, and get your data off the
800 disk and to someplace safe as soon as you can.
801
802 [ATA] Health status is obtained by checking the (boolean) result
803 returned by the SMART RETURN STATUS command. The return value
804 of this ATA command may be unknown due to limitations or bugs in
805 some layer (e.g. RAID controller or USB bridge firmware) between
806 disk and operating system. In this case, smartctl prints a
807 warning and checks whether any Prefailure SMART Attribute value
808 is less than or equal to its threshold (see '-A' below).
809
810 [SCSI] Health status is obtained by checking the Additional
811 Sense Code (ASC) and Additional Sense Code Qualifier (ASCQ) from
812 Informal Exceptions (IE) log page (if supported) and/or from
813 SCSI sense data.
814
815 [SCSI tape drive or changer] TapeAlert status is obtained by
816 reading the TapeAlert log page. Please note that the TapeAlert
817 log page flags are cleared for the initiator when the page is
818 read. This means that each alert condition is reported only
819 once by smartctl for each initiator for each activation of the
820 condition.
821
822 [NVMe] NVMe status is obtained by reading the "Critical Warning"
823 byte from the SMART/Health Information log.
824
825 -c, --capabilities
826 [ATA] Prints only the generic SMART capabilities. These show
827 what SMART features are implemented and how the device will re‐
828 spond to some of the different SMART commands. For example it
829 shows if the device logs errors, if it supports offline surface
830 scanning, and so on. If the device can carry out self-tests,
831 this option also shows the estimated time required to run those
832 tests.
833
834 [NVMe] Prints various NVMe device capabilities obtained from the
835 Identify Controller and the Identify Namespace data structure.
836
837 -A, --attributes
838 [ATA] Prints only the vendor specific SMART Attributes. The At‐
839 tributes are numbered from 1 to 253 and have specific names and
840 ID numbers. For example Attribute 12 is "power cycle count":
841 how many times has the disk been powered up.
842
843 Each Attribute has a "Raw" value, printed under the heading
844 "RAW_VALUE", and a "Normalized" value printed under the heading
845 "VALUE". [Note: smartctl prints these values in base-10.] In
846 the example just given, the "Raw Value" for Attribute 12 would
847 be the actual number of times that the disk has been power-cy‐
848 cled, for example 365 if the disk has been turned on once per
849 day for exactly one year. Each vendor uses their own algorithm
850 to convert this "Raw" value to a "Normalized" value in the range
851 from 1 to 254. Please keep in mind that smartctl only reports
852 the different Attribute types, values, and thresholds as read
853 from the device. It does not carry out the conversion between
854 "Raw" and "Normalized" values: this is done by the disk's
855 firmware.
856
857 The conversion from Raw value to a quantity with physical units
858 is not specified by the SMART standard. In most cases, the val‐
859 ues printed by smartctl are sensible. For example the tempera‐
860 ture Attribute generally has its raw value equal to the tempera‐
861 ture in Celsius. However in some cases vendors use unusual con‐
862 ventions. For example the Hitachi disk on my laptop reports its
863 power-on hours in minutes, not hours. Some IBM disks track
864 three temperatures rather than one, in their raw values. And so
865 on.
866
867 Each Attribute also has a Threshold value (whose range is 0 to
868 255) which is printed under the heading "THRESH". If the Nor‐
869 malized value is less than or equal to the Threshold value, then
870 the Attribute is said to have failed. If the Attribute is a
871 pre-failure Attribute, then disk failure is imminent.
872
873 Each Attribute also has a "Worst" value shown under the heading
874 "WORST". This is the smallest (closest to failure) value that
875 the disk has recorded at any time during its lifetime when SMART
876 was enabled. [Note however that some vendors firmware may actu‐
877 ally increase the "Worst" value for some "rate-type" At‐
878 tributes.]
879
880 The Attribute table printed out by smartctl also shows the
881 "TYPE" of the Attribute. Attributes are one of two possible
882 types: Pre-failure or Old age. Pre-failure Attributes are ones
883 which, if less than or equal to their threshold values, indicate
884 pending disk failure. Old age, or usage Attributes, are ones
885 which indicate end-of-product life from old-age or normal aging
886 and wearout, if the Attribute value is less than or equal to the
887 threshold. Please note: the fact that an Attribute is of type
888 'Pre-fail' does not mean that your disk is about to fail! It
889 only has this meaning if the Attribute's current Normalized
890 value is less than or equal to the threshold value.
891
892 If the Attribute's current Normalized value is less than or
893 equal to the threshold value, then the "WHEN_FAILED" column will
894 display "FAILING_NOW". If not, but the worst recorded value is
895 less than or equal to the threshold value, then this column will
896 display "In_the_past". If the "WHEN_FAILED" column has no entry
897 (indicated by a dash: '-') then this Attribute is OK now (not
898 failing) and has also never failed in the past.
899
900 The table column labeled "UPDATED" shows if the SMART Attribute
901 values are updated during both normal operation and off-line
902 testing, or only during offline testing. The former are labeled
903 "Always" and the latter are labeled "Offline".
904
905 So to summarize: the Raw Attribute values are the ones that
906 might have a real physical interpretation, such as "Temperature
907 Celsius", "Hours", or "Start-Stop Cycles". Each manufacturer
908 converts these, using their detailed knowledge of the disk's op‐
909 erations and failure modes, to Normalized Attribute values in
910 the range 1–254. The current and worst (lowest measured) of
911 these Normalized Attribute values are stored on the disk, along
912 with a Threshold value that the manufacturer has determined will
913 indicate that the disk is going to fail, or that it has exceeded
914 its design age or aging limit. smartctl does not calculate any
915 of the Attribute values, thresholds, or types, it merely reports
916 them from the SMART data on the device.
917
918 Note that starting with ATA/ATAPI-4, revision 4, the meaning of
919 these Attribute fields has been made entirely vendor-specific.
920 However most newer ATA/SATA disks seem to respect their meaning,
921 so we have retained the option of printing the Attribute values.
922
923 Solid-state drives use different meanings for some of the at‐
924 tributes. In this case the attribute name printed by smartctl
925 is incorrect unless the drive is already in the smartmontools
926 drive database.
927
928 Note that the ATA command SMART READ DATA was declared obsolete
929 in ATA ACS-4 Revision 10 (Nov 2015).
930
931 [SCSI] For SCSI devices the "attributes" are obtained from the
932 temperature and start-stop cycle counter log pages. Certain
933 vendor specific attributes are listed if recognised. The at‐
934 tributes are output in a relatively free format (compared with
935 ATA disk attributes).
936
937 [NVMe] For NVMe devices the attributes are obtained from the
938 SMART/Health Information log.
939
940 -f FORMAT, --format=FORMAT
941 [ATA only] Selects the output format of the attributes:
942
943 old - Old smartctl format. This is the default unless the '-x'
944 option is specified.
945
946 brief - New format which fits into 80 columns (except in some
947 rare cases). This format also decodes four additional attribute
948 flags. This is the default if the '-x' option is specified.
949
950 hex,id - Print all attribute IDs as hexadecimal numbers.
951
952 hex,val - Print all normalized values as hexadecimal numbers.
953
954 hex - Same as '-f hex,id -f hex,val'.
955
956 -l TYPE, --log=TYPE
957 Prints various device logs. The valid arguments to this option
958 are:
959
960 error - [ATA] prints the Summary SMART error log. SMART disks
961 maintain a log of the most recent five non-trivial errors. For
962 each of these errors, the disk power-on lifetime at which the
963 error occurred is recorded, as is the device status (idle,
964 standby, etc) at the time of the error. For some common types
965 of errors, the Error Register (ER) and Status Register (SR) val‐
966 ues are decoded and printed as text. The meanings of these are:
967 ABRT: Command ABoRTed
968 AMNF: Address Mark Not Found
969 CCTO: Command Completion Timed Out
970 EOM: End Of Media
971 ICRC: Interface Cyclic Redundancy Code (CRC) error
972 IDNF: IDentity Not Found
973 ILI: (packet command-set specific)
974 MC: Media Changed
975 MCR: Media Change Request
976 NM: No Media
977 obs: obsolete
978 TK0NF: TracK 0 Not Found
979 UNC: UNCorrectable Error in Data
980 WP: Media is Write Protected
981 In addition, up to the last five commands that preceded the er‐
982 ror are listed, along with a timestamp measured from the start
983 of the corresponding power cycle. This is displayed in the form
984 Dd+HH:MM:SS.msec where D is the number of days, HH is hours, MM
985 is minutes, SS is seconds and msec is milliseconds. [Note: this
986 time stamp wraps after 2^32 milliseconds, or 49 days 17 hours 2
987 minutes and 47.296 seconds.] The key ATA disk registers are
988 also recorded in the log. The final column of the error log is
989 a text-string description of the ATA command defined by the Com‐
990 mand Register (CR) and Feature Register (FR) values. Commands
991 that are obsolete in the most current spec are listed like this:
992 READ LONG (w/ retry) [OBS-4], indicating that the command became
993 obsolete with or in the ATA-4 specification. Similarly, the no‐
994 tation [RET-N] is used to indicate that a command was retired in
995 the ATA-N specification. Some commands are not defined in any
996 version of the ATA specification but are in common use nonethe‐
997 less; these are marked [NS], meaning non-standard.
998
999 The ATA Specification (ATA ACS-2 Revision 7, Section A.7.1)
1000 says: "Error log data structures shall include, but are not lim‐
1001 ited to, Uncorrectable errors, ID Not Found errors for which the
1002 LBA requested was valid, servo errors, and write fault errors.
1003 Error log data structures shall not include errors attributed to
1004 the receipt of faulty commands." The definitions of these terms
1005 are:
1006 UNC (UNCorrectable): data is uncorrectable. This refers to data
1007 which has been read from the disk, but for which the Error
1008 Checking and Correction (ECC) codes are inconsistent. In ef‐
1009 fect, this means that the data can not be read.
1010 IDNF (ID Not Found): user-accessible address could not be found.
1011 For READ LOG type commands, IDNF can also indicate that a device
1012 data log structure checksum was incorrect.
1013
1014 If the command that caused the error was a READ or WRITE com‐
1015 mand, then the Logical Block Address (LBA) at which the error
1016 occurred will be printed in base 10 and base 16. The LBA is a
1017 linear address, which counts 512-byte sectors on the disk,
1018 starting from zero. (Because of the limitations of the SMART
1019 error log, if the LBA is greater than 0xfffffff, then either no
1020 error log entry will be made, or the error log entry will have
1021 an incorrect LBA. This may happen for drives with a capacity
1022 greater than 128 GiB or 137 GB.) On Linux systems the smartmon‐
1023 tools web page has instructions about how to convert the LBA ad‐
1024 dress to the name of the disk file containing the erroneous disk
1025 sector.
1026
1027 Please note that some manufacturers ignore the ATA specifica‐
1028 tions, and make entries in the error log if the device receives
1029 a command which is not implemented or is not valid.
1030
1031 error - [SCSI] prints the error counter log pages for reads,
1032 write and verifies. The verify row is only output if it has an
1033 element other than zero.
1034
1035 error[,NUM] - [NVMe] prints the NVMe Error Information log.
1036 Only the 16 most recent log entries are printed by default.
1037 This number can be changed by the optional parameter NUM. The
1038 maximum number of log entries is vendor specific (in the range
1039 from 1 to 256 inclusive).
1040
1041 xerror[,NUM][,error] - [ATA only] prints the Extended Comprehen‐
1042 sive SMART error log (General Purpose Log address 0x03). Unlike
1043 the Summary SMART error log (see '-l error' above), it provides
1044 sufficient space to log the contents of the 48-bit LBA register
1045 set introduced with ATA-6. It also supports logs with more than
1046 one sector. Each sector holds up to 4 log entries. The actual
1047 number of log sectors is vendor specific.
1048
1049 Only the 8 most recent error log entries are printed by default.
1050 This number can be changed by the optional parameter NUM.
1051
1052 If ',error' is appended and the Extended Comprehensive SMART er‐
1053 ror log is not supported, the Summary SMART self-test log is
1054 printed.
1055
1056 Please note that recent drives may report errors only in the Ex‐
1057 tended Comprehensive SMART error log. The Summary SMART error
1058 log may be reported as supported but is always empty then.
1059
1060 selftest - [ATA] prints the SMART self-test log. The disk main‐
1061 tains a self-test log showing the results of the self tests,
1062 which can be run using the '-t' option described below. For
1063 each of the most recent twenty-one self-tests, the log shows the
1064 type of test (short or extended, off-line or captive) and the
1065 final status of the test. If the test did not complete success‐
1066 fully, then the percentage of the test remaining is shown. The
1067 time at which the test took place, measured in hours of disk
1068 lifetime, is also printed. [Note: this time stamp wraps after
1069 2^16 hours, or 2730 days and 16 hours, or about 7.5 years.] If
1070 any errors were detected, the Logical Block Address (LBA) of the
1071 first error is printed in decimal notation.
1072
1073 selftest - [SCSI] the self-test log for a SCSI device has a
1074 slightly different format than for an ATA device. For each of
1075 the most recent twenty self-tests, it shows the type of test and
1076 the status (final or in progress) of the test. SCSI standards
1077 use the terms "foreground" and "background" (rather than ATA's
1078 corresponding "captive" and "off-line") and "short" and "long"
1079 (rather than ATA's corresponding "short" and "extended") to de‐
1080 scribe the type of the test. The printed segment number is only
1081 relevant when a test fails in the third or later test segment.
1082 It identifies the test that failed and consists of either the
1083 number of the segment that failed during the test, or the number
1084 of the test that failed and the number of the segment in which
1085 the test was run, using a vendor-specific method of putting both
1086 numbers into a single byte. The Logical Block Address (LBA) of
1087 the first error is printed in hexadecimal notation. If pro‐
1088 vided, the SCSI Sense Key (SK), Additional Sense Code (ASC) and
1089 Additional Sense Code Qualifier (ASCQ) are also printed. The
1090 self tests can be run using the '-t' option described below (us‐
1091 ing the ATA test terminology).
1092
1093 xselftest[,NUM][,selftest] - [ATA only] prints the Extended
1094 SMART self-test log (General Purpose Log address 0x07). Unlike
1095 the SMART self-test log (see '-l selftest' above), it supports
1096 48-bit LBA and logs with more than one sector. Each sector
1097 holds up to 19 log entries. The actual number of log sectors is
1098 vendor specific.
1099
1100 Only the 25 most recent log entries are printed by default.
1101 This number can be changed by the optional parameter NUM.
1102
1103 If ',selftest' is appended and the Extended SMART self-test log
1104 is not supported, the old SMART self-test log is printed.
1105
1106 selective - [ATA only] Please see the '-t select' option below
1107 for a description of selective self-tests. The selective self-
1108 test log shows the start/end Logical Block Addresses (LBA) of
1109 each of the five test spans, and their current test status. If
1110 the span is being tested or the remainder of the disk is being
1111 read-scanned, the current 65536-sector block of LBAs being
1112 tested is also displayed. The selective self-test log also
1113 shows if a read-scan of the remainder of the disk will be car‐
1114 ried out after the selective self-test has completed (see '-t
1115 afterselect' option) and the time delay before restarting this
1116 read-scan if it is interrupted (see '-t pending' option).
1117
1118 directory[,gs] - [ATA only] if the device supports the General
1119 Purpose Logging feature set (ATA-6 and above) then this prints
1120 the Log Directory (the log at address 0). The Log Directory
1121 shows what logs are available and their length in sectors (512
1122 bytes). The contents of the logs at address 1 [Summary SMART
1123 error log] and at address 6 [SMART self-test log] may be printed
1124 using the previously-described error and selftest arguments to
1125 this option. If your version of smartctl supports 48-bit ATA
1126 commands, both the General Purpose Log (GPL) and SMART Log (SL)
1127 directories are printed in one combined table. The output can
1128 be restricted to the GPL directory or SL directory by '-l direc‐
1129 tory,q' or '-l directory,s' respectively.
1130
1131 background - [SCSI only] the background scan results log outputs
1132 information derived from Background Media Scans (BMS) done after
1133 power up and/or periodically (e.g. every 24 hours) on recent
1134 SCSI disks. If supported, the BMS status is output first, indi‐
1135 cating whether a background scan is currently underway (and if
1136 so a progress percentage), the amount of time the disk has been
1137 powered up and the number of scans already completed. Then
1138 there is a header and a line for each background scan "event".
1139 These will typically be either recovered or unrecoverable er‐
1140 rors. That latter group may need some attention. There is a
1141 description of the background scan mechanism in section 4.18 of
1142 SBC-3 revision 6 (see www.t10.org ).
1143
1144 scttemp, scttempsts, scttemphist - [ATA only] prints the disk
1145 temperature information provided by the SMART Command Transport
1146 (SCT) commands. The option 'scttempsts' prints current tempera‐
1147 ture and temperature ranges returned by the SCT Status command,
1148 'scttemphist' prints temperature limits and the temperature his‐
1149 tory table returned by the SCT Data Table command, and 'scttemp'
1150 prints both. The temperature values are preserved across power
1151 cycles. The logging interval can be configured with the '-l
1152 scttempint,N[,p]' option, see below. The SCT commands were in‐
1153 troduced in ATA8-ACS and were also supported by many ATA-7
1154 disks.
1155
1156 scttempint,N[,p] - [ATA only] clears the SCT temperature history
1157 table and sets the time interval for temperature logging to N
1158 minutes. If ',p' is specified, the setting is preserved across
1159 power cycles. Otherwise, the setting is volatile and will be
1160 reverted to the last non-volatile setting by the next hard re‐
1161 set. The default interval is vendor specific, typical values
1162 are 1, 2, or 5 minutes.
1163
1164 scterc[,READTIME,WRITETIME] - [ATA only] prints values and de‐
1165 scriptions of the SCT Error Recovery Control settings. These
1166 are equivalent to TLER (as used by Western Digital), CCTL (as
1167 used by Samsung and Hitachi/HGST) and ERC (as used by Seagate).
1168 READTIME and WRITETIME arguments (deciseconds) set the specified
1169 values. Values of 0 disable the feature, other values less than
1170 65 are probably not supported. For RAID configurations, this is
1171 typically set to 70,70 deciseconds.
1172
1173 devstat[,PAGE] - [ATA only] prints values and descriptions of
1174 the ATA Device Statistics log pages (General Purpose Log address
1175 0x04). If no PAGE number is specified, entries from all sup‐
1176 ported pages are printed. If PAGE 0 is specified, the list of
1177 supported pages is printed. Device Statistics was introduced in
1178 ACS-2 and is only supported by some recent devices.
1179
1180 defects[,NUM] - [ATA only] prints LBA and hours values from the
1181 ATA Pending Defects log (General Purpose Log address 0x0c).
1182 Only the 31 entries from first log page are printed by default.
1183 This number can be changed by the optional parameter NUM. The
1184 size of the log and the order of the entries are vendor spe‐
1185 cific. The Pending Defects log was introduced in ACS-4 Revision
1186 01 (Mar 2014).
1187
1188 sataphy[,reset] - [SATA only] prints values and descriptions of
1189 the SATA Phy Event Counters (General Purpose Log address 0x11).
1190 If '-l sataphy,reset' is specified, all counters are reset after
1191 reading the values. This also works for SATA devices with
1192 Packet interface like CD/DVD drives.
1193
1194 sasphy[,reset] - [SAS (SCSI) only] prints values and descrip‐
1195 tions of the SAS (SSP) Protocol Specific log page (log page
1196 0x18). If '-l sasphy,reset' is specified, all counters are re‐
1197 set after reading the values.
1198
1199 gplog,ADDR[,FIRST[-LAST|+SIZE]] - [ATA only] prints a hex dump
1200 of any log accessible via General Purpose Logging (GPL) feature.
1201 The log address ADDR is the hex address listed in the log direc‐
1202 tory (see '-l directory' above). The range of log sectors
1203 (pages) can be specified by decimal values FIRST-LAST or
1204 FIRST+SIZE. FIRST defaults to 0, SIZE defaults to 1. LAST can
1205 be set to 'max' to specify the last page of the log.
1206
1207 smartlog,ADDR[,FIRST[-LAST|+SIZE]] - [ATA only] prints a hex
1208 dump of any log accessible via SMART Read Log command. See '-l
1209 gplog,...' above for parameter syntax.
1210
1211 For example, all these commands:
1212 smartctl -l gplog,0x80,10-15 /dev/sda
1213 smartctl -l gplog,0x80,10+6 /dev/sda
1214 smartctl -l smartlog,0x80,10-15 /dev/sda
1215 print pages 10–15 of log 0x80 (first host vendor specific log).
1216
1217 The hex dump format is compatible with the 'xxd -r' command.
1218 This command:
1219 smartctl -l gplog,0x11 /dev/sda | grep ^0 | xxd -r >log.bin
1220 writes a binary representation of the one sector log 0x11 (SATA
1221 Phy Event Counters) to file log.bin.
1222
1223 nvmelog,PAGE,SIZE - [NVMe only] prints a hex dump of the first
1224 SIZE bytes from the NVMe log with identifier PAGE. PAGE is a
1225 hexadecimal number in the range from 0x1 to 0xff. SIZE is a
1226 hexadecimal number in the range from 0x4 to 0x4000 (16 KiB).
1227 WARNING: Do not specify the identifier of an unknown log page.
1228 Reading a log page may have undesirable side effects.
1229
1230 ssd - [ATA] prints the Solid State Device Statistics log page.
1231 This has the same effect as '-l devstat,7', see above.
1232
1233 ssd - [SCSI] prints the Solid State Media percentage used en‐
1234 durance indicator. A value of 0 indicates as new condition
1235 while 100 indicates the device is at the end of its lifetime as
1236 projected by the manufacturer. The value may reach 255.
1237
1238 -v ID,FORMAT[:BYTEORDER][,NAME], --vendorattribute=ID,FORMAT...
1239 [ATA only] Sets a vendor-specific raw value print FORMAT, an op‐
1240 tional BYTEORDER and an optional NAME for Attribute ID. This
1241 option may be used multiple times.
1242
1243 The Attribute ID can be in the range 1 to 255. If 'N' is speci‐
1244 fied as ID, the settings for all Attributes are changed.
1245
1246 The optional BYTEORDER consists of 1 to 8 characters from the
1247 set '012345rvwz'. The characters '0' to '5' select the byte 0
1248 to 5 from the 48-bit raw value, 'r' selects the reserved byte of
1249 the attribute data block, 'v' selects the normalized value, 'w'
1250 selects the worst value and 'z' inserts a zero byte. The de‐
1251 fault BYTEORDER is '543210' for all 48-bit formats, 'r543210'
1252 for the 54-bit formats, and '543210wv' for the 64-bit formats.
1253 For example, '-v 5,raw48:012345' prints the raw value of attri‐
1254 bute 5 with big endian instead of little endian byte ordering.
1255
1256 The NAME is a string of letters, digits and underscore. Its
1257 length should not exceed 23 characters. The '-P showall' option
1258 reports an error if this is the case.
1259
1260 -v help - Prints (to STDOUT) a list of all valid arguments to
1261 this option, then exits.
1262
1263 Valid arguments for FORMAT are:
1264
1265 raw8 - Print the Raw value as six 8-bit unsigned base-10 inte‐
1266 gers. This may be useful for decoding the meaning of the Raw
1267 value.
1268
1269 raw16 - Print the Raw value as three 16-bit unsigned base-10 in‐
1270 tegers. This may be useful for decoding the meaning of the Raw
1271 value.
1272
1273 raw48 - Print the Raw value as a 48-bit unsigned base-10 inte‐
1274 ger. This is the default for most attributes.
1275
1276 hex48 - Print the Raw value as a 12 digit hexadecimal number.
1277 This may be useful for decoding the meaning of the Raw value.
1278
1279 raw56 - Print the Raw value as a 54-bit unsigned base-10 inte‐
1280 ger. This includes the reserved byte which follows the 48-bit
1281 raw value.
1282
1283 hex56 - Print the Raw value as a 14 digit hexadecimal number.
1284 This includes the reserved byte which follows the 48-bit raw
1285 value.
1286
1287 raw64 - Print the Raw value as a 64-bit unsigned base-10 inte‐
1288 ger. This includes two bytes from the normalized and worst at‐
1289 tribute value. This raw format is used by some SSD devices with
1290 Indilinx controller.
1291
1292 hex64 - Print the Raw value as a 16 digit hexadecimal number.
1293 This includes two bytes from the normalized and worst attribute
1294 value. This raw format is used by some SSD devices with Indil‐
1295 inx controller.
1296
1297 min2hour - Raw Attribute is power-on time in minutes. Its raw
1298 value will be displayed in the form "Xh+Ym". Here X is hours,
1299 and Y is minutes in the range 0–59 inclusive. Y is always
1300 printed with two digits, for example "06" or "31" or "00".
1301
1302 sec2hour - Raw Attribute is power-on time in seconds. Its raw
1303 value will be displayed in the form "Xh+Ym+Zs". Here X is
1304 hours, Y is minutes in the range 0–59 inclusive, and Z is sec‐
1305 onds in the range 0–59 inclusive. Y and Z are always printed
1306 with two digits, for example "06" or "31" or "00".
1307
1308 halfmin2hour - Raw Attribute is power-on time, measured in units
1309 of 30 seconds. This format is used by some Samsung disks. Its
1310 raw value will be displayed in the form "Xh+Ym". Here X is
1311 hours, and Y is minutes in the range 0–59 inclusive. Y is al‐
1312 ways printed with two digits, for example "06" or "31" or "00".
1313
1314 msec24hour32 - Raw Attribute is power-on time measured in 32-bit
1315 hours and 24-bit milliseconds since last hour update. It will
1316 be displayed in the form "Xh+Ym+Z.Ms". Here X is hours, Y is
1317 minutes, Z is seconds and M is milliseconds.
1318
1319 tempminmax - Raw Attribute is the disk temperature in Celsius.
1320 Info about Min/Max temperature is printed if available. This is
1321 the default for Attributes 190 and 194. The recording interval
1322 (lifetime, last power cycle, last soft reset) of the min/max
1323 values is device specific.
1324
1325 temp10x - Raw Attribute is ten times the disk temperature in
1326 Celsius.
1327
1328 raw16(raw16) - Print the raw attribute as a 16-bit value and two
1329 optional 16-bit values if these words are nonzero. This is the
1330 default for Attributes 5 and 196.
1331
1332 raw16(avg16) - Raw attribute is spin-up time. It is printed as
1333 a 16-bit value and an optional "Average" 16-bit value if the
1334 word is nonzero. This is the default for Attribute 3.
1335
1336 raw24(raw8) - Print the raw attribute as a 24-bit value and
1337 three optional 8-bit values if these bytes are nonzero. This is
1338 the default for Attribute 9.
1339
1340 raw24/raw24 - Raw Attribute contains two 24-bit values. The
1341 first is the number of load cycles. The second is the number of
1342 unload cycles. The difference between these two values is the
1343 number of times that the drive was unexpectedly powered off
1344 (also called an emergency unload). As a rule of thumb, the me‐
1345 chanical stress created by one emergency unload is equivalent to
1346 that created by one hundred normal unloads.
1347
1348 raw24/raw32 - Raw attribute is an error rate which consists of a
1349 24-bit error count and a 32-bit total count.
1350
1351 The following old arguments to '-v' are also still valid:
1352
1353 9,minutes - same as: 9,min2hour,Power_On_Minutes.
1354
1355 9,seconds - same as: 9,sec2hour,Power_On_Seconds.
1356
1357 9,halfminutes - same as: 9,halfmin2hour,Power_On_Half_Minutes.
1358
1359 9,temp - same as: 9,tempminmax,Temperature_Celsius.
1360
1361 192,emergencyretractcyclect - same as: 192,raw48,Emerg_Re‐
1362 tract_Cycle_Ct
1363
1364 193,loadunload - same as: 193,raw24/raw24.
1365
1366 194,10xCelsius - same as: 194,temp10x,Temperature_Celsius_x10.
1367
1368 194,unknown - same as: 194,raw48,Unknown_Attribute.
1369
1370 197,increasing - same as: 197,raw48,Total_Pending_Sectors. Also
1371 means that Attribute number 197 (Current Pending Sector Count)
1372 is not reset if uncorrectable sectors are reallocated (see
1373 smartd.conf(5) man page).
1374
1375 198,increasing - same as: 198,raw48,Total_Offl_Uncorrectabl.
1376 Also means that Attribute number 198 (Offline Uncorrectable Sec‐
1377 tor Count) is not reset if uncorrectable sectors are reallocated
1378 (see smartd.conf(5) man page).
1379
1380 198,offlinescanuncsectorct - same as: 198,raw48,Off‐
1381 line_Scan_UNC_SectCt.
1382
1383 200,writeerrorcount - same as: 200,raw48,Write_Error_Count.
1384
1385 201,detectedtacount - same as: 201,raw48,Detected_TA_Count.
1386
1387 220,temp - same as: 220,tempminmax,Temperature_Celsius.
1388
1389 -F TYPE, --firmwarebug=TYPE
1390 [ATA only] Modifies the behavior of smartctl to compensate for
1391 some known and understood device firmware or driver bug. This
1392 option may be used multiple times. The valid arguments are:
1393
1394 none - Assume that the device firmware obeys the ATA specifica‐
1395 tions. This is the default, unless the device has presets for
1396 '-F' in the drive database. Using this option on the command
1397 line will override any preset values.
1398
1399 nologdir - Suppresses read attempts of SMART or GP Log Direc‐
1400 tory. Support for all standard logs is assumed without an ac‐
1401 tual check. Some Intel SSDs may freeze if log address 0 is
1402 read.
1403
1404 samsung - In some Samsung disks (example: model SV4012H Firmware
1405 Version: RM100-08) some of the two- and four-byte quantities in
1406 the SMART data structures are byte-swapped (relative to the ATA
1407 specification). Enabling this option tells smartctl to evaluate
1408 these quantities in byte-reversed order. Some signs that your
1409 disk needs this option are (1) no self-test log printed, even
1410 though you have run self-tests; (2) very large numbers of ATA
1411 errors reported in the ATA error log; (3) strange and impossible
1412 values for the ATA error log timestamps.
1413
1414 samsung2 - In some Samsung disks the number of ATA errors re‐
1415 ported is byte swapped. Enabling this option tells smartctl to
1416 evaluate this quantity in byte-reversed order. An indication
1417 that your Samsung disk needs this option is that the self-test
1418 log is printed correctly, but there are a very large number of
1419 errors in the SMART error log. This is because the error count
1420 is byte swapped. Thus a disk with five errors (0x0005) will ap‐
1421 pear to have 20480 errors (0x5000).
1422
1423 samsung3 - Some Samsung disks (at least SP2514N with Firmware
1424 VF100-37) report a self-test still in progress with 0% remaining
1425 when the test was already completed. Enabling this option modi‐
1426 fies the output of the self-test execution status (see options
1427 '-c' or '-a' above) accordingly.
1428
1429 xerrorlba - Fixes LBA byte ordering in Extended Comprehensive
1430 SMART error log. Some disks use little endian byte ordering in‐
1431 stead of ATA register ordering to specify the LBA addresses in
1432 the log entries.
1433
1434 swapid - Fixes byte swapped ATA identify strings (device name,
1435 serial number, firmware version) returned by some buggy device
1436 drivers.
1437
1438 -P TYPE, --presets=TYPE
1439 [ATA only] Specifies whether smartctl should use any preset op‐
1440 tions that are available for this drive. By default, if the
1441 drive is recognized in the smartmontools database, then the pre‐
1442 sets are used.
1443
1444 The argument show will show any preset options for your drive
1445 and the argument showall will show all known drives in the
1446 smartmontools database, along with their preset options. If
1447 there are no presets for your drive and you think there should
1448 be (for example, a -v or -F option is needed to get smartctl to
1449 display correct values) then please contact the smartmontools
1450 developers so that this information can be added to the smart‐
1451 montools database. Contact information is at the end of this
1452 man page.
1453
1454 The valid arguments to this option are:
1455
1456 use - if a drive is recognized, then use the stored presets for
1457 it. This is the default. Note that presets will NOT override
1458 additional Attribute interpretation ('-v N,something') command-
1459 line options or explicit '-F' command-line options..
1460
1461 ignore - do not use presets.
1462
1463 show - show if the drive is recognized in the database, and if
1464 so, its presets, then exit.
1465
1466 showall - list all recognized drives, and the presets that are
1467 set for them, then exit. This also checks the drive database
1468 regular expressions and settings for syntax errors.
1469
1470 The '-P showall' option takes up to two optional arguments to
1471 match a specific drive type and firmware version. The command:
1472 smartctl -P showall
1473 lists all entries, the command:
1474 smartctl -P showall 'MODEL'
1475 lists all entries matching MODEL, and the command:
1476 smartctl -P showall 'MODEL' 'FIRMWARE'
1477 lists all entries for this MODEL and a specific FIRMWARE ver‐
1478 sion.
1479
1480 -B [+]FILE, --drivedb=[+]FILE
1481 [ATA only] Read the drive database from FILE. The new database
1482 replaces the built in database by default. If '+' is specified,
1483 then the new entries prepend the built in entries.
1484
1485 Optional entries are read from the file /etc/smartmon‐
1486 tools/smart_drivedb.h if this option is not specified.
1487
1488 If /usr/share/smartmontools/drivedb.h is present, the contents
1489 of this file is used instead of the built in table.
1490
1491 Run /usr/sbin/update-smart-drivedb to update this file from the
1492 smartmontools SVN repository.
1493
1494 The database files use the same C/C++ syntax that is used to
1495 initialize the built in database array. C/C++ style comments
1496 are allowed. Example:
1497
1498 /* Full entry: */
1499 {
1500 "Model family", // Info about model family/series.
1501 "MODEL1.*REGEX", // Regular expression to match model of device.
1502 "VERSION.*REGEX", // Regular expression to match firmware version(s).
1503 "Some warning", // Warning message.
1504 "-v 9,minutes" // String of preset -v and -F options.
1505 },
1506 /* Minimal entry: */
1507 {
1508 "", // No model family/series info.
1509 "MODEL2.*REGEX", // Regular expression to match model of device.
1510 "", // All firmware versions.
1511 "", // No warning.
1512 "" // No options preset.
1513 },
1514 /* USB ID entry: */
1515 {
1516 "USB: Device; Bridge", // Info about USB device and bridge name.
1517 "0x1234:0xabcd", // Regular expression to match vendor:product ID.
1518 "0x0101", // Regular expression to match bcdDevice.
1519 "", // Not used.
1520 "-d sat" // String with device type option.
1521 },
1522 /* ... */
1523
1524
1525 SMART RUN/ABORT OFFLINE TEST AND self-test OPTIONS:
1526
1527 -t TEST, --test=TEST
1528 Executes TEST immediately. The '-C' option can be used in con‐
1529 junction with this option to run the short or long (and also for
1530 ATA devices, selective or conveyance) self-tests in captive mode
1531 (known as "foreground mode" for SCSI devices). Note that only
1532 one test type can be run at a time, so only one test type should
1533 be specified per command line. Note also that if a computer is
1534 shutdown or power cycled during a self-test, no harm should re‐
1535 sult. The self-test will either be aborted or will resume auto‐
1536 matically.
1537
1538 All '-t TEST' commands can be given during normal system opera‐
1539 tion unless captive mode ('-C' option) is used. A running self-
1540 test can, however, degrade performance of the drive. Frequent
1541 I/O requests from the operating system increase the duration of
1542 a test. These impacts may vary from device to device.
1543
1544 If a test failure occurs then the device may discontinue the
1545 testing and report the result immediately.
1546
1547 [ATA] Note that the ATA command SMART EXECUTE OFF-LINE IMMEDIATE
1548 (the command to start a test) was declared obsolete in ATA ACS-4
1549 Revision 10 (Nov 2015).
1550
1551 The valid arguments to this option are:
1552
1553 offline - [ATA] runs SMART Immediate Offline Test. This immedi‐
1554 ately starts the test described above. This command can be
1555 given during normal system operation. The effects of this test
1556 are visible only in that it updates the SMART Attribute values,
1557 and if errors are found they will appear in the SMART error log,
1558 visible with the '-l error' option.
1559
1560 If the '-c' option to smartctl shows that the device has the
1561 "Suspend Offline collection upon new command" capability then
1562 you can track the progress of the Immediate Offline test using
1563 the '-c' option to smartctl. If the '-c' option show that the
1564 device has the "Abort Offline collection upon new command" capa‐
1565 bility then most commands will abort the Immediate Offline Test,
1566 so you should not try to track the progress of the test with
1567 '-c', as it will abort the test.
1568
1569 offline - [SCSI] runs the default self test in foreground. No
1570 entry is placed in the self test log.
1571
1572 short - [ATA] runs SMART Short Self Test (usually under ten min‐
1573 utes). This command can be given during normal system operation
1574 (unless run in captive mode - see the '-C' option below). This
1575 is a test in a different category than the immediate or auto‐
1576 matic offline tests. The "Self" tests check the electrical and
1577 mechanical performance as well as the read performance of the
1578 disk. Their results are reported in the Self Test Error Log,
1579 readable with the '-l selftest' option. Note that on some disks
1580 the progress of the self-test can be monitored by watching this
1581 log during the self-test; with other disks use the '-c' option
1582 to monitor progress.
1583
1584 short - [SCSI] runs the "Background short" self-test.
1585
1586 long - [ATA] runs SMART Extended Self Test (tens of minutes to
1587 several hours). This is a longer and more thorough version of
1588 the Short Self Test described above. Note that this command can
1589 be given during normal system operation (unless run in captive
1590 mode - see the '-C' option below).
1591
1592 long - [SCSI] runs the "Background long" self-test.
1593
1594 conveyance - [ATA only] runs a SMART Conveyance Self Test (min‐
1595 utes). This self-test routine is intended to identify damage
1596 incurred during transporting of the device. This self-test rou‐
1597 tine should take on the order of minutes to complete. Note that
1598 this command can be given during normal system operation (unless
1599 run in captive mode - see the '-C' option below).
1600
1601 select,N-M, select,N+SIZE - [ATA only] runs a SMART Selective
1602 Self Test, to test a range of disk Logical Block Addresses
1603 (LBAs), rather than the entire disk. Each range of LBAs that is
1604 checked is called a "span" and is specified by a starting LBA
1605 (N) and an ending LBA (M) with N less than or equal to M. The
1606 range can also be specified as N+SIZE. A span at the end of a
1607 disk can be specified by N-max.
1608
1609 For example the commands:
1610 smartctl -t select,10-20 /dev/sda
1611 smartctl -t select,10+11 /dev/sda
1612 both runs a self test on one span consisting of LBAs ten to
1613 twenty (inclusive). The command:
1614 smartctl -t select,100000000-max /dev/sda
1615 run a self test from LBA 100000000 up to the end of the disk.
1616 The '-t' option can be given up to five times, to test up to
1617 five spans. For example the command:
1618 smartctl -t select,0-100 -t select,1000-2000 /dev/sda
1619 runs a self test on two spans. The first span consists of 101
1620 LBAs and the second span consists of 1001 LBAs. Note that the
1621 spans can overlap partially or completely, for example:
1622 smartctl -t select,0-10 -t select,5-15 -t select,10-20 /dev/sda
1623 The results of the selective self-test can be obtained (both
1624 during and after the test) by printing the SMART self-test log,
1625 using the '-l selftest' option to smartctl.
1626
1627 Selective self tests are particularly useful as disk capacities
1628 increase: an extended self test (smartctl -t long) can take sev‐
1629 eral hours. Selective self-tests are helpful if (based on SYS‐
1630 LOG error messages, previous failed self-tests, or SMART error
1631 log entries) you suspect that a disk is having problems at a
1632 particular range of Logical Block Addresses (LBAs).
1633
1634 Selective self-tests can be run during normal system operation
1635 (unless done in captive mode - see the '-C' option below).
1636
1637 The following variants of the selective self-test command use
1638 spans based on the ranges from past tests already stored on the
1639 disk:
1640
1641 select,redo[+SIZE] - [ATA only] redo the last SMART Selective
1642 Self Test using the same LBA range. The starting LBA is identi‐
1643 cal to the LBA used by last test, same for ending LBA unless a
1644 new span size is specified by optional +SIZE argument.
1645
1646 For example the commands:
1647 smartctl -t select,10-20 /dev/sda
1648 smartctl -t select,redo /dev/sda
1649 smartctl -t select,redo+20 /dev/sda
1650 have the same effect as:
1651 smartctl -t select,10-20 /dev/sda
1652 smartctl -t select,10-20 /dev/sda
1653 smartctl -t select,10-29 /dev/sda
1654
1655 select,next[+SIZE] - [ATA only] runs a SMART Selective Self Test
1656 on the LBA range which follows the range of the last test. The
1657 starting LBA is set to (ending LBA +1) of the last test. A new
1658 span size may be specified by the optional +SIZE argument.
1659
1660 For example the commands:
1661 smartctl -t select,0-999 /dev/sda
1662 smartctl -t select,next /dev/sda
1663 smartctl -t select,next+2000 /dev/sda
1664 have the same effect as:
1665 smartctl -t select,0-999 /dev/sda
1666 smartctl -t select,1000-1999 /dev/sda
1667 smartctl -t select,2000-3999 /dev/sda
1668
1669 If the last test ended at the last LBA of the disk, the new
1670 range starts at LBA 0. The span size of the last span of a disk
1671 is adjusted such that the total number of spans to check the
1672 full disk will not be changed by future uses of '-t se‐
1673 lect,next'.
1674
1675 select,cont[+SIZE] - [ATA only] performs a 'redo' (above) if the
1676 self test status reports that the last test was aborted by the
1677 host. Otherwise it run the 'next' (above) test.
1678
1679 afterselect,on - [ATA only] perform an offline read scan after a
1680 Selective self-test has completed. This option must be used to‐
1681 gether with one or more of the select,N-M options above. If the
1682 LBAs that have been specified in the Selective self-test pass
1683 the test with no errors found, then read scan the remainder of
1684 the disk. If the device is powered-cycled while this read scan
1685 is in progress, the read scan will be automatically resumed af‐
1686 ter a time specified by the pending timer (see below). The
1687 value of this option is preserved between selective self-tests.
1688
1689 afterselect,off - [ATA only] do not read scan the remainder of
1690 the disk after a Selective self-test has completed. This option
1691 must be use together with one or more of the select,N-M options
1692 above. The value of this option is preserved between selective
1693 self-tests.
1694
1695 pending,N - [ATA only] set the pending offline read scan timer
1696 to N minutes. Here N is an integer in the range from 0 to 65535
1697 inclusive. If the device is powered off during a read scan af‐
1698 ter a Selective self-test, then resume the test automatically N
1699 minutes after power-up. This option must be use together with
1700 one or more of the select,N-M options above. The value of this
1701 option is preserved between selective self-tests.
1702
1703 vendor,N - [ATA only] issues the ATA command SMART EXECUTE OFF-
1704 LINE IMMEDIATE with subcommand N in LBA LOW register. The sub‐
1705 command is specified as a hex value in the range 0x00 to 0xff.
1706 Subcommands 0x40–0x7e and 0x90–0xff are reserved for vendor spe‐
1707 cific use, see table 61 of T13/1699-D Revision 6a (ATA8-ACS).
1708 Note that the subcommands 0x00–0x04, 0x7f, 0x81–0x84 are sup‐
1709 ported by other smartctl options (e.g. 0x01: '-t short', 0x7f:
1710 '-X', 0x82: '-C -t long').
1711
1712 WARNING: Only run subcommands documented by the vendor of the
1713 device.
1714
1715 Example for some Intel SSDs only: The subcommand 0x40 ('-t ven‐
1716 dor,0x40') clears the timed workload related SMART attributes
1717 (226, 227, 228). Note that the raw values of these attributes
1718 are held at 65535 (0xffff) until the workload timer reaches 60
1719 minutes.
1720
1721 force - start new self-test even if another test is already run‐
1722 ning. By default a running self-test will not be interrupted to
1723 begin another test.
1724
1725 -C, --captive
1726 [ATA] Runs self-tests in captive mode. This has no effect with
1727 '-t offline' or if the '-t' option is not used.
1728
1729 WARNING: Tests run in captive mode may busy out the drive for
1730 the length of the test. Only run captive tests on drives with‐
1731 out any mounted partitions!
1732
1733 [SCSI] Runs the self-test in "Foreground" mode.
1734
1735 -X, --abort
1736 Aborts non-captive SMART Self Tests. Note that this command
1737 will abort the Offline Immediate Test routine only if your disk
1738 has the "Abort Offline collection upon new command" capability.
1739
1740
1742 In the past there has been a clear distinction between storage devices
1743 that used the ATA and SCSI command sets. This distinction was often
1744 reflected in their device naming and hardware. Now various SCSI trans‐
1745 ports (e.g. SAS, FC and iSCSI) can interconnect to both SCSI disks
1746 (e.g. FC and SAS) and ATA disks (especially SATA). USB and IEEE 1394
1747 storage devices use the SCSI command set externally but almost always
1748 contain ATA or SATA disks (or flash). The storage subsystems in some
1749 operating systems have started to remove the distinction between ATA
1750 and SCSI in their device naming policies.
1751
1752 99% of operations that an OS performs on a disk involve the SCSI IN‐
1753 QUIRY, READ CAPACITY, READ and WRITE commands, or their ATA equiva‐
1754 lents. Since the SCSI commands are slightly more general than their
1755 ATA equivalents, many OSes are generating SCSI commands (mainly READ
1756 and WRITE) and letting a lower level translate them to their ATA equiv‐
1757 alents as the need arises. An important note here is that "lower
1758 level" may be in external equipment and hence outside the control of an
1759 OS.
1760
1761 SCSI to ATA Translation (SAT) is a standard (ANSI INCITS 431-2007) that
1762 specifies how this translation is done. For the other 1% of operations
1763 that an OS performs on a disk, SAT provides two options. First is an
1764 optional ATA PASS-THROUGH SCSI command (there are two variants). The
1765 second is a translation from the closest SCSI command. Most current
1766 interest is in the "pass-through" option.
1767
1768 The relevance to smartmontools (and hence smartctl) is that its inter‐
1769 actions with disks fall solidly into the "1%" category. So even if the
1770 OS can happily treat (and name) a disk as "SCSI", smartmontools needs
1771 to detect the native command set and act accordingly. As more storage
1772 manufacturers (including external SATA drives) comply with SAT, smart‐
1773 montools is able to automatically distinguish the native command set of
1774 the device. In some cases the '-d sat' option is needed on the command
1775 line.
1776
1777 There are also virtual disks which typically have no useful information
1778 to convey to smartmontools, but could conceivably in the future. An
1779 example of a virtual disk is the OS's view of a RAID 1 box. There are
1780 most likely two SATA disks inside a RAID 1 box. Addressing those SATA
1781 disks from a distant OS is a challenge for smartmontools. Another ap‐
1782 proach is running a tool like smartmontools inside the RAID 1 box (e.g.
1783 a Network Attached Storage (NAS) box) and fetching the logs via a
1784 browser.
1785
1786
1788 smartctl -a /dev/sda
1789 Print a large amount of SMART information for drive /dev/sda.
1790
1791 smartctl -s off /dev/sdd
1792 Disable SMART monitoring and data log collection on drive /dev/sdd.
1793
1794 smartctl --smart=on --offlineauto=on --saveauto=on /dev/sda
1795 Enable SMART on drive /dev/sda, enable automatic offline testing every
1796 four hours, and enable autosaving of SMART Attributes. This is a good
1797 start-up line for your system's init files. You can issue this command
1798 on a running system.
1799
1800 smartctl -t long /dev/sdc
1801 Begin an extended self-test of drive /dev/sdc. You can issue this com‐
1802 mand on a running system. The results can be seen in the self-test log
1803 visible with the '-l selftest' option after it has completed.
1804
1805 smartctl -s on -t offline /dev/sda
1806 Enable SMART on the disk, and begin an immediate offline test of drive
1807 /dev/sda. You can issue this command on a running system. The results
1808 are only used to update the SMART Attributes, visible with the '-A' op‐
1809 tion. If any device errors occur, they are logged to the SMART error
1810 log, which can be seen with the '-l error' option.
1811
1812 smartctl -A -v 9,minutes /dev/sda
1813 Shows the vendor Attributes, when the disk stores its power-on time in‐
1814 ternally in minutes rather than hours.
1815
1816 smartctl -q errorsonly -H -l selftest /dev/sda
1817 Produces output only if the device returns failing SMART status, or if
1818 some of the logged self-tests ended with errors.
1819
1820 smartctl -q silent -a /dev/sda
1821 Examine all SMART data for device /dev/sda, but produce no printed out‐
1822 put. You must use the exit status (the $? shell variable) to learn if
1823 any Attributes are out of bound, if the SMART status is failing, if
1824 there are errors recorded in the self-test log, or if there are errors
1825 recorded in the disk error log.
1826
1827 smartctl -a -d 3ware,0 /dev/twl0
1828 Examine all SMART data for the first SATA (not SAS) disk connected to a
1829 3ware RAID 9750 controller card.
1830
1831 smartctl -t long -d areca,4 /dev/sg2
1832 Start a long self-test on the fourth SATA disk connected to an Areca
1833 RAID controller addressed by /dev/sg2.
1834
1835 smartctl -a -d hpt,1/3 /dev/sda (under Linux)
1836 smartctl -a -d hpt,1/3 /dev/hptrr (under FreeBSD)
1837 Examine all SMART data for the (S)ATA disk directly connected to the
1838 third channel of the first HighPoint RocketRAID controller card.
1839
1840 smartctl -t short -d hpt,1/1/2 /dev/sda (under Linux)
1841 smartctl -t short -d hpt,1/1/2 /dev/hptrr (under FreeBSD)
1842 Start a short self-test on the (S)ATA disk connected to second pmport
1843 on the first channel of the first HighPoint RocketRAID controller card.
1844
1845 smartctl -t select,10-100 -t select,30-300 -t afterselect,on -t pend‐
1846 ing,45 /dev/sda
1847 Run a selective self-test on LBAs 10 to 100 and 30 to 300. After the
1848 these LBAs have been tested, read-scan the remainder of the disk. If
1849 the disk is power-cycled during the read-scan, resume the scan 45 min‐
1850 utes after power to the device is restored.
1851
1852 smartctl -a -d cciss,0 /dev/cciss/c0d0
1853 Examine all SMART data for the first SCSI disk connected to a cciss
1854 RAID controller card.
1855
1856
1858 The exit statuses of smartctl are defined by a bitmask. If all is well
1859 with the disk, the exit status (return value) of smartctl is 0 (all
1860 bits turned off). If a problem occurs, or an error, potential error,
1861 or fault is detected, then a non-zero status is returned. In this
1862 case, the eight different bits in the exit status have the following
1863 meanings for ATA disks; some of these values may also be returned for
1864 SCSI disks.
1865
1866 Bit 0: Command line did not parse.
1867
1868 Bit 1: Device open failed, device did not return an IDENTIFY DEVICE
1869 structure, or device is in a low-power mode (see '-n' option
1870 above).
1871
1872 Bit 2: Some SMART or other ATA command to the disk failed, or there was
1873 a checksum error in a SMART data structure (see '-b' option
1874 above).
1875
1876 Bit 3: SMART status check returned "DISK FAILING".
1877
1878 Bit 4: We found prefail Attributes <= threshold.
1879
1880 Bit 5: SMART status check returned "DISK OK" but we found that some
1881 (usage or prefail) Attributes have been <= threshold at some
1882 time in the past.
1883
1884 Bit 6: The device error log contains records of errors.
1885
1886 Bit 7: The device self-test log contains records of errors. [ATA only]
1887 Failed self-tests outdated by a newer successful extended self-
1888 test are ignored.
1889
1890 To test within the shell for whether or not the different bits are
1891 turned on or off, you can use the following type of construction (which
1892 should work with any POSIX compatible shell):
1893 smartstat=$(($? & 8))
1894 This looks at only at bit 3 of the exit status $? (since 8=2^3). The
1895 shell variable $smartstat will be nonzero if SMART status check re‐
1896 turned "disk failing" and zero otherwise.
1897
1898 This shell script prints all status bits:
1899 val=$?; mask=1
1900 for i in 0 1 2 3 4 5 6 7; do
1901 echo "Bit $i: $(((val & mask) && 1))"
1902 mask=$((mask << 1))
1903 done
1904
1905
1907 /usr/sbin/smartctl
1908 full path of this executable.
1909
1910 /usr/share/smartmontools/drivedb.h
1911 drive database (see '-B' option).
1912
1913 /etc/smartmontools/smart_drivedb.h
1914 optional local drive database (see '-B' option).
1915
1916
1918 Bruce Allen (project initiator),
1919 Christian Franke (project manager, Windows port and all sort of
1920 things),
1921 Douglas Gilbert (SCSI subsystem),
1922 Volker Kuhlmann (moderator of support and database mailing list),
1923 Gabriele Pohl (wiki & development team support),
1924 Alex Samorukov (FreeBSD port and more, new Trac wiki).
1925
1926 Many other individuals have made contributions and corrections, see AU‐
1927 THORS, ChangeLog and repository files.
1928
1929 The first smartmontools code was derived from the smartsuite package,
1930 written by Michael Cornwell and Andre Hedrick.
1931
1932
1934 To submit a bug report, create a ticket in smartmontools wiki:
1935 <https://www.smartmontools.org/>.
1936 Alternatively send the info to the smartmontools support mailing list:
1937 <https://listi.jpberlin.de/mailman/listinfo/smartmontools-support>.
1938
1939
1941 smartd(8).
1942 update-smart-drivedb(8).
1943
1944
1946 Please see the following web site for more info: <https://www.smartmon‐
1947 tools.org/>
1948
1949 An introductory article about smartmontools is Monitoring Hard Disks
1950 with SMART, by Bruce Allen, Linux Journal, January 2004, pages 74–77.
1951 See <https://www.linuxjournal.com/article/6983>.
1952
1953 If you would like to understand better how SMART works, and what it
1954 does, a good place to start is with Sections 4.8 and 6.54 of the first
1955 volume of the 'AT Attachment with Packet Interface-7' (ATA/ATAPI-7)
1956 specification Revision 4b. This documents the SMART functionality
1957 which the smartmontools utilities provide access to.
1958
1959 The functioning of SMART was originally defined by the SFF-8035i revi‐
1960 sion 2 and the SFF-8055i revision 1.4 specifications. These are publi‐
1961 cations of the Small Form Factors (SFF) Committee.
1962
1963 Links to these and other documents may be found on the Links page of
1964 the smartmontools Wiki at <https://www.smartmontools.org/wiki/Links>.
1965
1966
1968 smartmontools-7.2 2020-12-30 r5155
1969 $Id: smartctl.8.in 5143 2020-12-21 18:34:31Z chrfranke $
1970
1971
1972
1973smartmontools-7.2 2020-12-30 SMARTCTL(8)