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