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