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

ATA, SCSI command sets and SAT

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

EXAMPLES

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

EXIT STATUS

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

FILES

1885       /usr/sbin/smartctl
1886              full path of this executable.
1887
1888       /usr/share/smartmontools/drivedb.h
1889              drive database (see '-B' option).
1890
1891       /etc/smartmontools/smart_drivedb.h
1892              optional local drive database (see '-B' option).
1893
1894

AUTHORS

1896       Bruce Allen (project initiator),
1897       Christian Franke  (project  manager,  Windows  port  and  all  sort  of
1898       things),
1899       Douglas Gilbert (SCSI subsystem),
1900       Volker Kuhlmann (moderator of support and database mailing list),
1901       Gabriele Pohl (wiki & development team support),
1902       Alex Samorukov (FreeBSD port and more, new Trac wiki).
1903
1904       Many  other  individuals  have  made contributions and corrections, see
1905       AUTHORS, ChangeLog and repository files.
1906
1907       The first smartmontools code was derived from the  smartsuite  package,
1908       written by Michael Cornwell and Andre Hedrick.
1909
1910

REPORTING BUGS

1912       To submit a bug report, create a ticket in smartmontools wiki:
1913       <https://www.smartmontools.org/>.
1914       Alternatively send the info to the smartmontools support mailing list:
1915       <https://listi.jpberlin.de/mailman/listinfo/smartmontools-support>.
1916
1917

SEE ALSO

1919       smartd(8).
1920       update-smart-drivedb(8).
1921
1922

REFERENCES

1924       Please see the following web site for more info: <https://www.smartmon
1925       tools.org/>
1926
1927       An introductory article about smartmontools is  Monitoring  Hard  Disks
1928       with  SMART,  by Bruce Allen, Linux Journal, January 2004, pages 74–77.
1929       See <https://www.linuxjournal.com/article/6983>.
1930
1931       If you would like to understand better how SMART  works,  and  what  it
1932       does,  a good place to start is with Sections 4.8 and 6.54 of the first
1933       volume of the 'AT Attachment  with  Packet  Interface-7'  (ATA/ATAPI-7)
1934       specification  Revision  4b.   This  documents  the SMART functionality
1935       which the smartmontools utilities provide access to.
1936
1937       The functioning of SMART was originally defined by the SFF-8035i  revi‐
1938       sion 2 and the SFF-8055i revision 1.4 specifications.  These are publi‐
1939       cations of the Small Form Factors (SFF) Committee.
1940
1941       Links to these and other documents may be found on the  Links  page  of
1942       the smartmontools Wiki at <https://www.smartmontools.org/wiki/Links>.
1943
1944

PACKAGE VERSION

1946       smartmontools-7.0 2019-03-31 r4903
1947       $Id: smartctl.8.in 4882 2018-12-29 21:26:45Z chrfranke $
1948
1949
1950
1951smartmontools-7.0                 2019-03-31                       SMARTCTL(8)
Impressum