1SMARTCTL(8)                 SMART Monitoring Tools                 SMARTCTL(8)
2
3
4

NAME

6       smartctl - Control and Monitor Utility for SMART Disks
7
8

SYNOPSIS

10       smartctl [options] device
11
12

DESCRIPTION

14       [This man page is generated for the Linux version of smartmontools.  It
15       does not contain info specific to other platforms.]
16
17       smartctl controls the Self-Monitoring, Analysis and Reporting  Technol‐
18       ogy  (SMART)  system  built into most ATA/SATA and SCSI/SAS hard drives
19       and solid-state drives.  The purpose of SMART is to monitor the  relia‐
20       bility  of  the hard drive and predict drive failures, and to carry out
21       different types of drive self-tests.  smartctl also supports some  fea‐
22       tures  not  related  to  SMART.  This version of smartctl is compatible
23       with ACS-3, ACS-2, ATA8-ACS, ATA/ATAPI-7  and  earlier  standards  (see
24       REFERENCES below).
25
26       smartctl also provides support for polling TapeAlert messages from SCSI
27       tape drives and changers.
28
29       The user must specify the device to be controlled  or  interrogated  as
30       the  final argument to smartctl.  The command set used by the device is
31       often derived from the device path but may need help with the '-d'  op‐
32       tion  (for  more information see the section on "ATA, SCSI command sets
33       and SAT" below).  Device paths are as follows:
34
35       LINUX:   Use the forms "/dev/sd[a-z]" for  ATA/SATA  and  SCSI/SAS  de‐
36                vices.   For SCSI Tape Drives and Changers with TapeAlert sup‐
37                port use the devices "/dev/nst*" and  "/dev/sg*".   For  disks
38                behind  3ware  controllers  you  may  need  "/dev/sd[a-z]"  or
39                "/dev/twe[0-9]", "/dev/twa[0-9]" or "/dev/twl[0-9]":  see  de‐
40                tails  below.   For  disks  behind  HighPoint  RocketRAID con‐
41                trollers you may need "/dev/sd[a-z]".  For disks behind  Areca
42                SATA  RAID  controllers,  you  need  "/dev/sg[2-9]" (note that
43                smartmontools interacts with the Areca controllers via a  SCSI
44                generic  device  which  is different than the SCSI device used
45                for reading and writing data)!  For HP Smart Array  RAID  con‐
46                trollers,  there are three currently supported drivers: cciss,
47                hpsa, and hpahcisr.  For disks accessed via the  cciss  driver
48                the  device  nodes are of the form "/dev/cciss/c[0-9]d0".  For
49                disks accessed via the hpahcisr and hpsa drivers,  the  device
50                nodes  you  need are "/dev/sg[0-9]*".  ("lsscsi -g" is helpful
51                in determining which scsi generic device node  corresponds  to
52                which  device.)   Use the nodes corresponding to the RAID con‐
53                trollers, not the nodes corresponding to logical drives.   See
54                the  -d option below, as well.  Use the forms "/dev/nvme[0-9]"
55                (broadcast  namespace)  or  "/dev/nvme[0-9]n[1-9]"   (specific
56                namespace 1-9) for NVMe devices.
57
58       if  '-'  is specified as the device path, smartctl reads and interprets
59       it's own debug output from standard input.  See '-r ataioctl' below for
60       details.
61
62       smartctl  guesses  the device type if possible.  If necessary, the '-d'
63       option can be used to override this guess.
64
65       Note that the printed output of smartctl displays most numerical values
66       in  base  10 (decimal), but some values are displayed in base 16 (hexa‐
67       decimal).  To distinguish them, the base 16 values are always displayed
68       with  a  leading  "0x", for example: "0xff".  This man page follows the
69       same convention.
70
71

OPTIONS

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

ATA, SCSI command sets and SAT

1742       In the past there has been a clear distinction between storage  devices
1743       that  used  the  ATA and SCSI command sets.  This distinction was often
1744       reflected in their device naming and hardware.  Now various SCSI trans‐
1745       ports  (e.g.  SAS,  FC  and  iSCSI) can interconnect to both SCSI disks
1746       (e.g. FC and SAS) and ATA disks (especially SATA).  USB and  IEEE  1394
1747       storage  devices  use the SCSI command set externally but almost always
1748       contain ATA or SATA disks (or flash).  The storage subsystems  in  some
1749       operating  systems  have  started to remove the distinction between ATA
1750       and SCSI in their device naming policies.
1751
1752       99% of operations that an OS performs on a disk involve  the  SCSI  IN‐
1753       QUIRY,  READ  CAPACITY,  READ  and WRITE commands, or their ATA equiva‐
1754       lents.  Since the SCSI commands are slightly more  general  than  their
1755       ATA  equivalents,  many  OSes are generating SCSI commands (mainly READ
1756       and WRITE) and letting a lower level translate them to their ATA equiv‐
1757       alents  as  the  need  arises.   An  important note here is that "lower
1758       level" may be in external equipment and hence outside the control of an
1759       OS.
1760
1761       SCSI to ATA Translation (SAT) is a standard (ANSI INCITS 431-2007) that
1762       specifies how this translation is done.  For the other 1% of operations
1763       that  an  OS performs on a disk, SAT provides two options.  First is an
1764       optional ATA PASS-THROUGH SCSI command (there are two  variants).   The
1765       second  is  a  translation from the closest SCSI command.  Most current
1766       interest is in the "pass-through" option.
1767
1768       The relevance to smartmontools (and hence smartctl) is that its  inter‐
1769       actions with disks fall solidly into the "1%" category.  So even if the
1770       OS can happily treat (and name) a disk as "SCSI",  smartmontools  needs
1771       to  detect the native command set and act accordingly.  As more storage
1772       manufacturers (including external SATA drives) comply with SAT,  smart‐
1773       montools is able to automatically distinguish the native command set of
1774       the device.  In some cases the '-d sat' option is needed on the command
1775       line.
1776
1777       There are also virtual disks which typically have no useful information
1778       to convey to smartmontools, but could conceivably in  the  future.   An
1779       example  of a virtual disk is the OS's view of a RAID 1 box.  There are
1780       most likely two SATA disks inside a RAID 1 box.  Addressing those  SATA
1781       disks  from a distant OS is a challenge for smartmontools.  Another ap‐
1782       proach is running a tool like smartmontools inside the RAID 1 box (e.g.
1783       a  Network  Attached  Storage  (NAS)  box)  and fetching the logs via a
1784       browser.
1785
1786

EXAMPLES

1788       smartctl -a /dev/sda
1789       Print a large amount of SMART information for drive /dev/sda.
1790
1791       smartctl -s off /dev/sdd
1792       Disable SMART monitoring and data log collection on drive /dev/sdd.
1793
1794       smartctl --smart=on --offlineauto=on --saveauto=on /dev/sda
1795       Enable SMART on drive /dev/sda, enable automatic offline testing  every
1796       four  hours, and enable autosaving of SMART Attributes.  This is a good
1797       start-up line for your system's init files.  You can issue this command
1798       on a running system.
1799
1800       smartctl -t long /dev/sdc
1801       Begin an extended self-test of drive /dev/sdc.  You can issue this com‐
1802       mand on a running system.  The results can be seen in the self-test log
1803       visible with the '-l selftest' option after it has completed.
1804
1805       smartctl -s on -t offline /dev/sda
1806       Enable  SMART on the disk, and begin an immediate offline test of drive
1807       /dev/sda.  You can issue this command on a running system.  The results
1808       are only used to update the SMART Attributes, visible with the '-A' op‐
1809       tion.  If any device errors occur, they are logged to the  SMART  error
1810       log, which can be seen with the '-l error' option.
1811
1812       smartctl -A -v 9,minutes /dev/sda
1813       Shows the vendor Attributes, when the disk stores its power-on time in‐
1814       ternally in minutes rather than hours.
1815
1816       smartctl -q errorsonly -H -l selftest /dev/sda
1817       Produces output only if the device returns failing SMART status, or  if
1818       some of the logged self-tests ended with errors.
1819
1820       smartctl -q silent -a /dev/sda
1821       Examine all SMART data for device /dev/sda, but produce no printed out‐
1822       put.  You must use the exit status (the $?  shell variable) to learn if
1823       any  Attributes  are  out  of bound, if the SMART status is failing, if
1824       there are errors recorded in the self-test log, or if there are  errors
1825       recorded in the disk error log.
1826
1827       smartctl -a -d 3ware,0 /dev/twl0
1828       Examine all SMART data for the first SATA (not SAS) disk connected to a
1829       3ware RAID 9750 controller card.
1830
1831       smartctl -t long -d areca,4 /dev/sg2
1832       Start a long self-test on the fourth SATA disk connected  to  an  Areca
1833       RAID controller addressed by /dev/sg2.
1834
1835       smartctl -a -d hpt,1/3 /dev/sda (under Linux)
1836       smartctl -a -d hpt,1/3 /dev/hptrr (under FreeBSD)
1837       Examine  all  SMART  data for the (S)ATA disk directly connected to the
1838       third channel of the first HighPoint RocketRAID controller card.
1839
1840       smartctl -t short -d hpt,1/1/2 /dev/sda (under Linux)
1841       smartctl -t short -d hpt,1/1/2 /dev/hptrr (under FreeBSD)
1842       Start a short self-test on the (S)ATA disk connected to  second  pmport
1843       on the first channel of the first HighPoint RocketRAID controller card.
1844
1845       smartctl  -t  select,10-100 -t select,30-300 -t afterselect,on -t pend‐
1846       ing,45 /dev/sda
1847       Run a selective self-test on LBAs 10 to 100 and 30 to 300.   After  the
1848       these  LBAs  have been tested, read-scan the remainder of the disk.  If
1849       the disk is power-cycled during the read-scan, resume the scan 45  min‐
1850       utes after power to the device is restored.
1851
1852       smartctl -a -d cciss,0 /dev/cciss/c0d0
1853       Examine  all  SMART  data  for the first SCSI disk connected to a cciss
1854       RAID controller card.
1855
1856

EXIT STATUS

1858       The exit statuses of smartctl are defined by a bitmask.  If all is well
1859       with  the  disk,  the  exit status (return value) of smartctl is 0 (all
1860       bits turned off).  If a problem occurs, or an error,  potential  error,
1861       or  fault  is  detected,  then  a non-zero status is returned.  In this
1862       case, the eight different bits in the exit status  have  the  following
1863       meanings  for  ATA disks; some of these values may also be returned for
1864       SCSI disks.
1865
1866       Bit 0: Command line did not parse.
1867
1868       Bit 1: Device open failed, device did not  return  an  IDENTIFY  DEVICE
1869              structure,  or  device  is  in a low-power mode (see '-n' option
1870              above).
1871
1872       Bit 2: Some SMART or other ATA command to the disk failed, or there was
1873              a  checksum  error  in  a  SMART data structure (see '-b' option
1874              above).
1875
1876       Bit 3: SMART status check returned "DISK FAILING".
1877
1878       Bit 4: We found prefail Attributes <= threshold.
1879
1880       Bit 5: SMART status check returned "DISK OK" but  we  found  that  some
1881              (usage  or  prefail)  Attributes  have been <= threshold at some
1882              time in the past.
1883
1884       Bit 6: The device error log contains records of errors.
1885
1886       Bit 7: The device self-test log contains records of errors.  [ATA only]
1887              Failed  self-tests outdated by a newer successful extended self-
1888              test are ignored.
1889
1890       To test within the shell for whether or  not  the  different  bits  are
1891       turned on or off, you can use the following type of construction (which
1892       should work with any POSIX compatible shell):
1893       smartstat=$(($? & 8))
1894       This looks at only at bit 3 of the exit status $?  (since 8=2^3).   The
1895       shell  variable  $smartstat  will  be nonzero if SMART status check re‐
1896       turned "disk failing" and zero otherwise.
1897
1898       This shell script prints all status bits:
1899       val=$?; mask=1
1900       for i in 0 1 2 3 4 5 6 7; do
1901         echo "Bit $i: $(((val & mask) && 1))"
1902         mask=$((mask << 1))
1903       done
1904
1905

FILES

1907       /usr/sbin/smartctl
1908              full path of this executable.
1909
1910       /usr/share/smartmontools/drivedb.h
1911              drive database (see '-B' option).
1912
1913       /etc/smartmontools/smart_drivedb.h
1914              optional local drive database (see '-B' option).
1915
1916

AUTHORS

1918       Bruce Allen (project initiator),
1919       Christian Franke  (project  manager,  Windows  port  and  all  sort  of
1920       things),
1921       Douglas Gilbert (SCSI subsystem),
1922       Volker Kuhlmann (moderator of support and database mailing list),
1923       Gabriele Pohl (wiki & development team support),
1924       Alex Samorukov (FreeBSD port and more, new Trac wiki).
1925
1926       Many other individuals have made contributions and corrections, see AU‐
1927       THORS, ChangeLog and repository files.
1928
1929       The first smartmontools code was derived from the  smartsuite  package,
1930       written by Michael Cornwell and Andre Hedrick.
1931
1932

REPORTING BUGS

1934       To submit a bug report, create a ticket in smartmontools wiki:
1935       <https://www.smartmontools.org/>.
1936       Alternatively send the info to the smartmontools support mailing list:
1937       <https://listi.jpberlin.de/mailman/listinfo/smartmontools-support>.
1938
1939

SEE ALSO

1941       smartd(8).
1942       update-smart-drivedb(8).
1943
1944

REFERENCES

1946       Please see the following web site for more info: <https://www.smartmon
1947       tools.org/>
1948
1949       An introductory article about smartmontools is  Monitoring  Hard  Disks
1950       with  SMART,  by Bruce Allen, Linux Journal, January 2004, pages 74–77.
1951       See <https://www.linuxjournal.com/article/6983>.
1952
1953       If you would like to understand better how SMART  works,  and  what  it
1954       does,  a good place to start is with Sections 4.8 and 6.54 of the first
1955       volume of the 'AT Attachment  with  Packet  Interface-7'  (ATA/ATAPI-7)
1956       specification  Revision  4b.   This  documents  the SMART functionality
1957       which the smartmontools utilities provide access to.
1958
1959       The functioning of SMART was originally defined by the SFF-8035i  revi‐
1960       sion 2 and the SFF-8055i revision 1.4 specifications.  These are publi‐
1961       cations of the Small Form Factors (SFF) Committee.
1962
1963       Links to these and other documents may be found on the  Links  page  of
1964       the smartmontools Wiki at <https://www.smartmontools.org/wiki/Links>.
1965
1966

PACKAGE VERSION

1968       smartmontools-7.2 2020-12-30 r5155
1969       $Id: smartctl.8.in 5143 2020-12-21 18:34:31Z chrfranke $
1970
1971
1972
1973smartmontools-7.2                 2020-12-30                       SMARTCTL(8)
Impressum