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'
32       option (for more information see the section on "ATA, SCSI command sets
33       and SAT" below).  Device paths are as follows:
34
35       LINUX:   Use  the  forms  "/dev/sd[a-z]"  for  ATA/SATA  and   SCSI/SAS
36                devices.   For  SCSI  Tape  Drives and Changers with TapeAlert
37                support use the devices "/dev/nst*" and "/dev/sg*".  For disks
38                behind  3ware  controllers  you  may  need  "/dev/sd[a-z]"  or
39                "/dev/twe[0-9]",  "/dev/twa[0-9]"  or   "/dev/twl[0-9]":   see
40                details  below.   For  disks  behind HighPoint RocketRAID con‐
41                trollers you may need "/dev/sd[a-z]".  For disks behind  Areca
42                SATA  RAID  controllers,  you  need  "/dev/sg[2-9]" (note that
43                smartmontools interacts with the Areca controllers via a  SCSI
44                generic  device  which  is different than the SCSI device used
45                for reading and writing data)!  For HP Smart Array  RAID  con‐
46                trollers,  there are three currently supported drivers: cciss,
47                hpsa, and hpahcisr.  For disks accessed via the  cciss  driver
48                the  device  nodes are of the form "/dev/cciss/c[0-9]d0".  For
49                disks accessed via the hpahcisr and hpsa drivers,  the  device
50                nodes  you  need are "/dev/sg[0-9]*".  ("lsscsi -g" is helpful
51                in determining which scsi generic device node  corresponds  to
52                which  device.)   Use the nodes corresponding to the RAID con‐
53                trollers, not the nodes corresponding to logical drives.   See
54                the  -d option below, as well.  Use the forms "/dev/nvme[0-9]"
55                (broadcast  namespace)  or  "/dev/nvme[0-9]n[1-9]"   (specific
56                namespace 1-9) for NVMe devices.
57
58       if  '-'  is specified as the device path, smartctl reads and interprets
59       it's own debug output from standard input.  See '-r ataioctl' below for
60       details.
61
62       smartctl  guesses  the device type if possible.  If necessary, the '-d'
63       option can be used to override this guess.
64
65       Note that the printed output of smartctl displays most numerical values
66       in  base  10 (decimal), but some values are displayed in base 16 (hexa‐
67       decimal).  To distinguish them, the base 16 values are always displayed
68       with  a  leading  "0x", for example: "0xff".  This man page follows the
69       same convention.
70
71

OPTIONS

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

ATA, SCSI command sets and SAT

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

EXAMPLES

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

EXIT STATUS

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

FILES

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

AUTHORS

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

REPORTING BUGS

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

SEE ALSO

1944       smartd(8).
1945       update-smart-drivedb(8).
1946
1947

REFERENCES

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

PACKAGE VERSION

1971       smartmontools-7.2 2021-01-17 r5171
1972       $Id: smartctl.8.in 5143 2020-12-21 18:34:31Z chrfranke $
1973
1974
1975
1976smartmontools-7.2                 2021-01-17                       SMARTCTL(8)
Impressum