-
Notifications
You must be signed in to change notification settings - Fork 50
/
smartctl.8.in
2594 lines (2591 loc) · 105 KB
/
smartctl.8.in
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
.ig
Copyright (C) 2002-10 Bruce Allen
Copyright (C) 2004-22 Christian Franke
SPDX-License-Identifier: GPL-2.0-or-later
$Id$
..
.\" Macros borrowed from pages generated with Pod::Man
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp 0.4v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Use groff extension \(aq (apostrophe quote, ASCII 0x27) if possible
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.TH SMARTCTL 8 "CURRENT_SVN_DATE" "CURRENT_SVN_VERSION" "SMART Monitoring Tools"
.SH NAME
\fBsmartctl\fP \- Control and Monitor Utility for SMART Disks
.Sp
.SH SYNOPSIS
.B smartctl [options] device
.Sp
.SH DESCRIPTION
.\" %IF NOT OS ALL
.\"! [This man page is generated for the OS_MAN_FILTER version of smartmontools.
.\"! It does not contain info specific to other platforms.]
.\"! .PP
.\" %ENDIF NOT OS ALL
\fBsmartctl\fP controls the Self-Monitoring, Analysis and
Reporting Technology (SMART) system built into most ATA/SATA and SCSI/SAS
hard drives and solid-state drives.
The purpose of SMART is to monitor the reliability of the hard drive
and predict drive failures, and to carry out different types of drive
self-tests.
\fBsmartctl\fP also supports some features not related to SMART.
This version of \fBsmartctl\fP is compatible with
ACS-3, ACS-2, ATA8-ACS, ATA/ATAPI-7 and earlier standards
(see \fBREFERENCES\fP below).
.PP
\fBsmartctl\fP also provides support for SCSI tape drives and
changers (see \fBTAPE DRIVES\fP below).
.PP
The user must specify the device to be controlled or interrogated as
the final argument to \fBsmartctl\fP. The command set used by the device
is often derived from the device path but may need help with the \*(Aq\-d\*(Aq
option (for more information see the section on "ATA, SCSI command sets
and SAT" below).
Device paths are as follows:
.\" %IF OS Linux
.IP \fBLINUX\fP: 9
Use the forms \fB"/dev/sd[a\-z]"\fP for ATA/SATA and SCSI/SAS devices.
For SCSI Tape Drives and Changers use the
devices \fB"/dev/nst*"\fP and \fB"/dev/sg*"\fP. For disks behind
3ware controllers you may need \fB"/dev/sd[a\-z]"\fP or
\fB"/dev/twe[0\-9]"\fP, \fB"/dev/twa[0\-9]"\fP or \fB"/dev/twl[0\-9]"\fP:
see details below.
For disks behind HighPoint RocketRAID controllers you may need
\fB"/dev/sd[a\-z]"\fP. For disks behind Areca SATA RAID controllers,
you need \fB"/dev/sg[2\-9]"\fP (note that smartmontools interacts with
the Areca controllers via a SCSI generic device which is different
than the SCSI device used for reading and writing data)! For HP Smart
Array RAID controllers, there are three currently supported drivers: cciss,
hpsa, and hpahcisr. For disks accessed via the cciss driver the device nodes
are of the form \fB"/dev/cciss/c[0\-9]d0"\fP. For disks accessed via
the hpahcisr and hpsa drivers, the device nodes you need are
\fB"/dev/sg[0\-9]*"\fP.
("lsscsi \-g" is helpful in determining which scsi generic device node
corresponds to which device.)
Use the nodes corresponding to the RAID controllers, not the nodes
corresponding to logical drives.
See the \fB\-d\fP option below, as well.
Use the forms \fB"/dev/nvme[0\-9]"\fP (broadcast namespace) or
\fB"/dev/nvme[0\-9]n[1\-9]"\fP (specific namespace 1\-9) for NVMe devices.
.\" %ENDIF OS Linux
.\" %IF OS Darwin
.IP \fBDARWIN\fP: 9
Use the forms \fB/dev/disk[0\-9]\fP or equivalently \fBdisk[0\-9]\fP or
equivalently \fB/dev/rdisk[0\-9]\fP.
Long forms are also available: please use \*(Aq\-h\*(Aq to see some examples.
.Sp
There is NVMe support based on the NVMeSMARTLib API in OSX.
.Sp
Note that Darwin SCSI support is not yet implemented.
.Sp
Use the OS X SAT SMART Driver to access SMART data on SAT capable USB and
Firewire devices (see INSTALL file).
.\" %ENDIF OS Darwin
.\" %IF OS FreeBSD
.IP \fBFREEBSD\fP: 9
Use the forms \fB"/dev/ad[0\-9]+"\fP for IDE/ATA
devices and \fB"/dev/da[0\-9]+"\fP or \fB"/dev/pass[0\-9]+"\fP for SCSI devices.
For SATA devices on AHCI bus use \fB"/dev/ada[0\-9]+"\fP format. For HP Smart
Array RAID controllers, use \fB"/dev/ciss[0\-9]"\fP (and see the \fB\-d\fP
option, below).
.\" %ENDIF OS FreeBSD
.\" %IF OS NetBSD OpenBSD
.IP \fBNETBSD/OPENBSD\fP: 9
Use the form \fB"/dev/wd[0\-9]+c"\fP for IDE/ATA
devices. For SCSI disk and tape devices, use the device names
\fB"/dev/sd[0\-9]+c"\fP and \fB"/dev/st[0\-9]+c"\fP respectively.
Be sure to specify the correct "whole disk" partition letter for
your architecture.
.\" %ENDIF OS NetBSD OpenBSD
.\" %IF OS Solaris
.IP \fBSOLARIS\fP: 9
Use the forms \fB"/dev/rdsk/c?t?d?s?"\fP for IDE/ATA and SCSI disk
devices, and \fB"/dev/rmt/*"\fP for SCSI tape devices.
.\" %ENDIF OS Solaris
.\" %IF OS Windows Cygwin
.IP \fBWINDOWS\fP: 9
Use the forms \fB"/dev/sd[a\-z]"\fP for IDE/(S)ATA and SCSI disks
"\\\\.\\PhysicalDrive[0\-25]" (where "a" maps to "0").
Use \fB"/dev/sd[a\-z][a\-z]"\fP for "\\\\.\\PhysicalDrive[26\-...]".
These disks can also be referred to as \fB"/dev/pd[0\-255]"\fP for
"\\\\.\\PhysicalDrive[0\-255]".
ATA disks can also be referred to as \fB"/dev/hd[a\-z]"\fP for
"\\\\.\\PhysicalDrive[0\-25]".
Use one the forms \fB"/dev/tape[0\-255]"\fP, \fB"/dev/st[0\-255]"\fP,
or \fB"/dev/nst[0\-255]"\fP for SCSI tape drives "\\\\.\\Tape[0\-255]".
.Sp
Alternatively, drive letters \fB"X:"\fP or \fB"X:\\"\fP may be used to
specify the (\*(Aqbasic\*(Aq) disk behind a mounted partition. This does
not work with \*(Aqdynamic\*(Aq disks.
.Sp
For disks behind 3ware 9000 controllers use \fB"/dev/sd[a\-z],N"\fP where
N specifies the disk number (3ware \*(Aqport\*(Aq) behind the controller
providing the logical drive (\*(Aqunit\*(Aq) specified by
\fB"/dev/sd[a\-z]"\fP.
Alternatively, use \fB"/dev/tw_cli/cx/py"\fP for controller x, port y
to run the \*(Aqtw_cli\*(Aq tool and parse the output. This provides limited
monitoring (\*(Aq\-i\*(Aq, \*(Aq\-c\*(Aq, \*(Aq\-A\*(Aq below) if SMART
support is missing in the driver.
Use \fB"/dev/tw_cli/stdin"\fP or \fB"/dev/tw_cli/clip"\fP
to parse CLI or 3DM output from standard input or clipboard.
The option \*(Aq\-d 3ware,N\*(Aq is not necessary on Windows.
.Sp
For disks behind Intel controller with RST driver or an AMD controller
with AMD RAID driver, use \fB"/dev/csmi[0\-9],N"\fP where N specifies the
port behind the logical scsi controller "\\\\.\\Scsi[0\-9]:".
.br
The AMD RAID driver may return incomplete information about port assignment.
To allow access to ports not reported, device scan returns all ports.
Device open fails then if the port is unused.
.Sp
By default, the AMD RAID driver only allows CSMI read accesses.
To enable write access, change the registry value
.br
\fB[HKLM\\SYSTEM\\CurrentControlSet\\Services\\rcraid\\Parameters\\Device]\fP
.br
\fB"DriverParameter"="CSMI=Limited;"\fP
.br
to
.br
\fB"DriverParameter"="CSMI=Full;"\fP
.br
and reboot.
.Sp
For SATA or SAS disks behind an Areca controller use
\fB"/dev/arcmsr[0\-9]"\fP, see \*(Aq\-d areca,N[/E]\*(Aq below.
.Sp
Use the forms \fB"/dev/nvme[0\-9]"\fP (broadcast namespace) or
\fB"/dev/nvme[0\-9]n[1\-9]"\fP (specific namespace 1\-9) for first,
second, ..., NVMe device.
Alternatively use the forms \fB"/dev/nvmes[0\-9][n[1\-9]]"\fP for NVMe devices
behind the logical scsi controller "\\\\.\\Scsi[0\-9]:".
Both forms require a NVMe driver which supports NVME_PASS_THROUGH_IOCTL.
.Sp
Use the forms \fB"/dev/sd[...]"\fP or \fB"/dev/pd[...]"\fP (see above)
for NVMe devices behind Windows 10 NVMe driver (stornvme.sys).
.Sp
The prefix \fB"/dev/"\fP is optional.
.\" %ENDIF OS Windows Cygwin
.\" %IF OS OS2
.IP \fBOS/2,eComStation\fP: 9
Use the form \fB"/dev/hd[a\-z]"\fP for ATA/SATA devices using DANIS506 driver.
.Sp
Use the form \fB"/dev/ahci[a\-z]"\fP for ATA/SATA devices using OS2AHCI driver.
.\" %ENDIF OS OS2
.PP
if \*(Aq\-\*(Aq is specified as the device path, \fBsmartctl\fP reads and
interprets it's own debug output from standard input.
See \*(Aq\-r ataioctl\*(Aq below for details.
.PP
\fBsmartctl\fP guesses the device type if possible.
If necessary, the \*(Aq\-d\*(Aq option can be used to override this guess.
.PP
Note that the printed output of \fBsmartctl\fP displays most numerical
values in base 10 (decimal), but some values are displayed in base 16
(hexadecimal). To distinguish them, the base 16 values are always
displayed with a leading \fB"0x"\fP, for example: "0xff".
This man page follows the same convention.
.Sp
.SH OPTIONS
The options are grouped below into several categories. \fBsmartctl\fP
will execute the corresponding commands in the order: INFORMATION,
ENABLE/DISABLE, DISPLAY DATA, RUN/ABORT TESTS.
.Sp
.TP
.B SHOW INFORMATION OPTIONS:
.TP
.B \-h, \-\-help, \-\-usage
Prints a usage message to STDOUT and exits.
.TP
.B \-V, \-\-version, \-\-copyright, \-\-license
Prints version, copyright, license, home page and SVN revision
information for your copy of \fBsmartctl\fP to STDOUT and then exits.
.TP
.B \-i, \-\-info
Prints the device model number, serial number, firmware version, and
ATA Standard version/revision information. Says if the device
supports SMART, and if so, whether SMART support is currently enabled
or disabled. If the device supports Logical Block Address mode (LBA
mode) print current user drive capacity in bytes. (If drive has a
user protected area reserved, or is "clipped", this may be smaller
than the potential maximum drive capacity.) Indicates if the drive is
in the smartmontools database (see \*(Aq\-v\*(Aq options below). If so, the
drive model family may also be printed.
If \*(Aq\-n\*(Aq (see below) is specified, the power mode of the drive is
printed.
.\" %IF OS Darwin FreeBSD Linux NetBSD Windows Cygwin
.Sp
[NVMe] For NVMe devices the information is obtained from the Identify
Controller and the Identify Namespace data structure.
.\" %ENDIF OS Darwin FreeBSD Linux NetBSD Windows Cygwin
.TP
.B \-\-identify[=[w][nvb]]
[ATA only] Prints an annotated table of the IDENTIFY DEVICE data.
By default, only valid words (words not equal to 0x0000 or 0xffff)
and nonzero bits and bit fields are printed.
This can be changed by the optional argument which consists of one or
two characters from the set \*(Aqwnvb\*(Aq.
The character \*(Aqw\*(Aq enables printing of all 256 words. The character
\*(Aqn\*(Aq suppresses printing of bits, \*(Aqv\*(Aq enables printing of all
bits from valid words, \*(Aqb\*(Aq enables printing of all bits.
For example \*(Aq\-\-identify=n\*(Aq (valid words, no bits) produces the
shortest output and \*(Aq\-\-identify=wb\*(Aq (all words, all bits) produces
the longest output.
.TP
.B \-a, \-\-all
Prints all SMART information about the disk.
For ATA devices this is equivalent
to
.br
\*(Aq\-H \-i \-c \-A \-l error \-l selftest \-l selective\*(Aq
.br
and for SCSI, this is equivalent to
.br
\*(Aq\-H \-i \-A \-l error \-l selftest\*(Aq.
.br
.\" %IF OS Darwin FreeBSD Linux NetBSD Windows Cygwin
For NVMe, this is equivalent to
.br
\*(Aq\-H \-i \-c \-A \-l error \-l selftest\*(Aq.
.br
.\" %ENDIF OS Darwin FreeBSD Linux NetBSD Windows Cygwin
Note that for ATA disks this does \fBnot\fP enable the non-SMART options
and the SMART options which require support for 48-bit ATA commands.
.TP
.B \-x, \-\-xall
Prints all SMART and non-SMART information about the device.
For ATA devices this is equivalent to
.br
\*(Aq\-H \-i \-g all \-g wcreorder \-c \-A \-f brief \-l xerror,error
\-l xselftest,selftest \-l selective \-l directory \-l scttemp \-l scterc
\-l devstat \-l defects \-l sataphy\*(Aq.
.br
and for SCSI disks, this is equivalent to
.br
\*(Aq\-H \-i \-g all \-A \-l error \-l selftest \-l background \-l sasphy
\-l defects \-l env_rep\*(Aq.
.br
and for SCSI zoned disks, add \-l zdevstat
.br
and for SCSI tape drivers and changers, add \-l tapedevstat
.br
.\" %IF OS Darwin FreeBSD Linux NetBSD Windows Cygwin
For NVMe, this is equivalent to
.br
\*(Aq\-H \-i \-c \-A \-l error \-l selftest\*(Aq.
.\" %ENDIF OS Darwin FreeBSD Linux NetBSD Windows Cygwin
.TP
.B \-\-scan
Scans for devices and prints each device name, device type and protocol
([ATA] or [SCSI]) info. May be used in conjunction with \*(Aq\-d TYPE\*(Aq
to restrict the scan to a specific TYPE. See also info about platform
specific device scan and the \fBDEVICESCAN\fP directive on
\fBsmartd\fP(8) man page.
.TP
.B \-\-scan\-open
Same as \-\-scan, but also tries to open each device before printing
device info. The device open may change the device type due
to autodetection (see also \*(Aq\-d test\*(Aq).
.Sp
This option can be used to create a draft \fBsmartd.conf\fP file.
All options after \*(Aq\-\-\*(Aq are appended to each output line.
For example:
.Vb 1
smartctl \-\-scan\-open \-\- \-a \-W 4,45,50 \-m admin@work > smartd.conf
.Ve
.Sp
Multiple \*(Aq\-d TYPE\*(Aq options may be specified with
\*(Aq\-\-scan[\-open]\*(Aq to combine the scan results of more than one TYPE.
.TP
.B \-g NAME, \-\-get=NAME
Get non-SMART device settings. See \*(Aq\-s, \-\-set\*(Aq below for further
info.
.Sp
.TP
.B RUN-TIME BEHAVIOR OPTIONS:
.TP
.B \-j, \-\-json[=cgiosuvy]
Enables JSON or YAML output mode.
.Sp
The output could be modified or enhanced by the optional argument which
consists of one or more characters from the set \*(Aqcgiosuvy\*(Aq:
.br
\*(Aqc\*(Aq: Outputs \fBc\fPompact format without extra spaces and newlines.
By default, output is pretty-printed.
If used with YAML format, the indentation of arrays is reduced.
.br
\*(Aqg\*(Aq: Outputs JSON structure as single assignments to allow the usage
of \fBg\fPrep.
Each assignment reflects the absolute path of a value.
The syntax is compatible with \fBgron\fP:
.br
\*(Aqjson.KEY1[INDEX2].KEY3 = VALUE;\*(Aq.
.br
\*(Aqo\*(Aq: Includes the full \fBo\fPriginal plaintext \fBo\fPutput of
\fBsmartctl\fP as a JSON array \*(Aqsmartctl.output[]\*(Aq.
.br
\*(Aqs\*(Aq: Outputs JSON object elements \fBs\fPorted by key.
By default, object elements are ordered as generated internally.
.br
\*(Aqv\*(Aq: Enables \fBv\fPerbose output of possible unsafe integers.
If specified, values which may exceed JSON safe integer (53-bit) range are
always output as a number (with some \*(AqKEY\*(Aq) and a string
(\*(AqKEY_s\*(Aq), regardless of the actual value.
Values which may exceed 64-bit range are also output as a little endian
byte array (\*(AqKEY_le\*(Aq).
By default, the additional elements are only output if the value actually
exceeds the range.
.br
\*(Aqy\*(Aq: Outputs in YAML format.
.Sp
The following two arguments are primarily indented for development:
.br
\*(Aqi\*(Aq: Includes lines from the plaintext output which print info already
\fBi\fPmplemented for JSON output.
The lines appear as strings with key \*(Aqsmartctl_NNNN_i\*(Aq.
.br
\*(Aqu\*(Aq: Includes lines from the plaintext output which print info still
\fBu\fPnimplemented for JSON output.
The lines appear as strings with key \*(Aqsmartctl_NNNN_u\*(Aq.
.TP
.B \-q TYPE, \-\-quietmode=TYPE
Specifies that \fBsmartctl\fP should run in one of the quiet modes
described here. The valid arguments to this option are:
.Sp
.I errorsonly
\- only print: For the \*(Aq\-l error\*(Aq option, if nonzero, the number
of errors recorded in the SMART error log and the power-on time when
they occurred; For the \*(Aq\-l selftest\*(Aq option, errors recorded in
the device self-test log; For the \*(Aq\-H\*(Aq option, SMART "disk failing"
status or device Attributes (pre-failure or usage) which failed either now
or in the past; For the \*(Aq\-A\*(Aq option, device Attributes (pre-failure
or usage) which failed either now or in the past.
.Sp
.I silent
\- print no output. The only way to learn about what was found is to
use the exit status of \fBsmartctl\fP (see EXIT STATUS below).
.Sp
.I noserial
\- Do not print the serial number of the device.
.TP
.B \-d TYPE, \-\-device=TYPE
Specifies the type of the device.
The valid arguments to this option are:
.Sp
.I auto
\- attempt to guess the device type from the device name or from
controller type info provided by the operating system or from
a matching USB ID entry in the drive database.
This is the default.
.Sp
.I test
\- prints the guessed TYPE, then opens the device and prints the
(possibly changed) TYPE name and then exits without performing
any further commands.
.Sp
.I ata
\- the device type is ATA. This prevents
\fBsmartctl\fP
from issuing SCSI commands to an ATA device.
.Sp
.\" %IF NOT OS Darwin
.I scsi
\- the device type is SCSI. This prevents
\fBsmartctl\fP
from issuing ATA commands to a SCSI device.
.Sp
.\" %ENDIF NOT OS Darwin
.\" %IF OS Darwin FreeBSD Linux NetBSD Windows Cygwin
.I nvme[,NSID]
\- the device type is NVM Express (NVMe).
The optional parameter NSID specifies the namespace id (in hex) passed
to the driver.
Use 0xffffffff for the broadcast namespace id.
The default for NSID is the namespace id addressed by the device name.
.Sp
.\" %ENDIF OS Darwin FreeBSD Linux NetBSD Windows Cygwin
.\" %IF NOT OS Darwin
.I sat[,auto][,N]
\- the device type is SCSI to ATA Translation (SAT).
This is for ATA disks that have a SCSI to ATA Translation Layer (SATL)
between the disk and the operating system.
SAT defines two ATA PASS THROUGH SCSI commands, one 12 bytes long and
the other 16 bytes long. The default is the 16 byte variant which can be
overridden with either \*(Aq\-d sat,12\*(Aq or \*(Aq\-d sat,16\*(Aq.
.Sp
If \*(Aq\-d sat,auto\*(Aq is specified, device type SAT (for ATA/SATA disks)
is only used if the SCSI INQUIRY data reports a SATL (VENDOR: "ATA ").
Otherwise device type SCSI (for SCSI/SAS disks) is used.
.Sp
.I usbcypress
\- this device type is for ATA disks that are behind a Cypress USB to PATA
bridge. This will use the ATACB proprietary scsi pass through command.
The default SCSI operation code is 0x24, but although it can be overridden
with \*(Aq\-d usbcypress,0xN\*(Aq, where N is the scsi operation code,
you're running the risk of damage to the device or filesystems on it.
.Sp
.I usbjmicron[,p][,x][,PORT]
\- this device type is for SATA disks that are behind a JMicron USB to
PATA/SATA bridge.
The 48-bit ATA commands (required e.g.\& for \*(Aq\-l xerror\*(Aq, see below)
do not work with all of these bridges and are therefore disabled by default.
These commands can be enabled by \*(Aq\-d usbjmicron,x\*(Aq.
If two disks are connected to a bridge with two ports, an error message is
printed if no PORT is specified.
The port can be specified by \*(Aq\-d usbjmicron[,x],PORT\*(Aq where PORT is 0
(master) or 1 (slave). This is not necessary if the device uses a port
multiplier to connect multiple disks to one port. The disks appear under
separate /dev/ice names then.
CAUTION: Specifying \*(Aq,x\*(Aq for a device which does not support it results
in I/O errors and may disconnect the drive. The same applies if the specified
PORT does not exist or is not connected to a disk.
.Sp
The Prolific PL2507/3507 USB bridges with older firmware support a pass-through
command similar to JMicron and work with \*(Aq\-d usbjmicron,0\*(Aq.
Newer Prolific firmware requires a modified command which can be selected by
\*(Aq\-d usbjmicron,p\*(Aq.
Note that this does not yet support the SMART status command.
.Sp
.I usbprolific
\- this device type is for SATA disks that are behind a Prolific
PL2571/2771/2773/2775 USB to SATA bridge.
.Sp
.I usbsunplus
\- this device type is for SATA disks that are behind a SunplusIT USB to SATA
bridge.
.Sp
.I sntasmedia
\- [NEW EXPERIMENTAL SMARTCTL FEATURE]
this device type is for NVMe disks that are behind an ASMedia USB to NVMe
bridge.
.Sp
.I sntjmicron[,NSID]
\- this device type is for NVMe disks that are behind a JMicron USB to NVMe
bridge.
The optional parameter NSID specifies the namespace id (in hex) passed
to the driver.
The default namespace id is the broadcast namespace id (0xffffffff).
.Sp
.I sntrealtek
\- this device type is for NVMe disks that are behind a Realtek USB to NVMe
bridge.
.Sp
.\" %ENDIF NOT OS Darwin
.\" %IF OS Linux
.I marvell
\- [Linux only] (deprecated and subject to remove).
.Sp
.\" %ENDIF OS Linux
.\" %IF OS FreeBSD Linux
.I megaraid,N
\- [FreeBSD and Linux only] the device consists of one or more SCSI/SAS disks connected
to a MegaRAID controller. The non-negative integer N (in the range of 0 to
127 inclusive) denotes which disk on the controller is monitored. This interface
will also work for Dell PERC controllers.
Use syntax such as:
.\" %ENDIF OS FreeBSD Linux
.\" %IF OS ALL
.br
FreeBSD:
.\" %ENDIF OS ALL
.\" %IF OS FreeBSD
.br
\fBsmartctl \-a \-d megaraid,2 /dev/mfi0\fP
.br
\fBsmartctl \-a \-d megaraid,0 /dev/mrsas0\fP
.br
.Sp
.\" %ENDIF OS FreeBSD
.\" %IF OS ALL
Linux:
.\" %ENDIF OS ALL
.\" %IF OS Linux
.br
\fBsmartctl \-a \-d megaraid,2 /dev/sda\fP
.br
\fBsmartctl \-a \-d megaraid,0 /dev/sdb\fP
.br
\fBsmartctl \-a \-d megaraid,0 /dev/bus/0\fP
.br
It is possible to set RAID device name as /dev/bus/N, where N is a SCSI bus
number.
.Sp
The following entry in /proc/devices must exist:
.br
For PERC2/3/4 controllers: \fBmegadevN\fP
.br
For PERC5/6 controllers: \fBmegaraid_sas_ioctlN\fP
.Sp
.\" %ENDIF OS Linux
.\" %IF OS Linux Windows Cygwin
.I aacraid,H,L,ID
\- [Linux, Windows and Cygwin only] the device consists of one or more
SCSI/SAS or SATA disks connected to an AacRaid controller.
The non-negative integers H,L,ID (Host number, Lun, ID) denote which disk
on the controller is monitored.
Use syntax such as:
.br
\fBsmartctl \-a \-d aacraid,0,0,2 /dev/sda\fP
.br
\fBsmartctl \-a \-d aacraid,1,0,4 /dev/sdb\fP
.Sp
Option \*(Aq\-d sat,auto+...\*(Aq is implicitly enabled to detect SATA disks.
Use \*(Aq\-d scsi+aacraid,H,L,ID\*(Aq to disable it.
.Sp
.\" %ENDIF OS Linux Windows Cygwin
.\" %IF OS Linux
On Linux, the following entry in /proc/devices must exist: \fBaac\fP.
Character device nodes /dev/aacH (H=Host number) are created if required.
.Sp
.\" %ENDIF OS Linux
.\" %IF OS Windows Cygwin
On Windows, the device name parameter /dev/sdX is ignored if
\*(Aq\-d aacraid\*(Aq is specified.
.Sp
.\" %ENDIF OS Windows Cygwin
.\" %IF OS FreeBSD Linux
.I 3ware,N
\- [FreeBSD and Linux only] the device consists of one or more ATA disks
connected to a 3ware RAID controller. The non-negative integer N
(in the range from 0 to 127 inclusive) denotes which disk on the controller
is monitored.
Use syntax such as:
.br
\fBsmartctl \-a \-d 3ware,2 /dev/sda\fP [Linux only]
.br
\fBsmartctl \-a \-d 3ware,0 /dev/twe0\fP
.br
\fBsmartctl \-a \-d 3ware,1 /dev/twa0\fP
.br
\fBsmartctl \-a \-d 3ware,1 /dev/twl0\fP [Linux only]
.br
\fBsmartctl \-a \-d 3ware,1 /dev/tws0\fP [FreeBSD only]
.br
The first two forms, which refer to devices /dev/sda\-z (deprecated)
and /dev/twe0\-15, may be used with 3ware series 6000, 7000, and 8000
series controllers that use the 3x-xxxx driver.
The devices /dev/twa0\-15, must be used with 3ware 9000 series controllers,
which use the 3w\-9xxx driver.
The devices /dev/twl0\-15 [Linux] or /dev/tws0\-15 [FreeBSD] must be used
with the 3ware/LSI 9750 series controllers which use the 3w-sas driver.
.Sp
Note that if the special character device nodes /dev/tw[ls]?, /dev/twa?
and /dev/twe? do not exist, or exist with the incorrect major or minor
numbers, smartctl will recreate them on the fly.
.Sp
.\" %ENDIF OS FreeBSD Linux
.\" %IF OS FreeBSD Linux Windows Cygwin
.I areca,N
\- [FreeBSD, Linux, Windows and Cygwin only] the device consists of one or
more SATA disks connected to an Areca SATA RAID controller.
The positive integer N (in the range from 1 to 24 inclusive) denotes which
disk on the controller is monitored.
.\" %ENDIF OS FreeBSD Linux Windows Cygwin
.\" %IF OS Linux
On Linux use syntax such as:
.br
\fBsmartctl \-a \-d areca,2 /dev/sg2\fP
.br
\fBsmartctl \-a \-d areca,3 /dev/sg3\fP
.br
.\" %ENDIF OS Linux
.\" %IF OS FreeBSD
On FreeBSD use syntax such as:
.br
\fBsmartctl \-a \-d areca,2 /dev/arcmsr1\fP
.br
\fBsmartctl \-a \-d areca,3 /dev/arcmsr2\fP
.br
.\" %ENDIF OS FreeBSD
.\" %IF OS Windows Cygwin
On Windows and Cygwin use syntax such as:
.br
\fBsmartctl \-a \-d areca,2 /dev/arcmsr0\fP
.br
\fBsmartctl \-a \-d areca,3 /dev/arcmsr1\fP
.br
.\" %ENDIF OS Windows Cygwin
.\" %IF OS FreeBSD Linux Windows Cygwin
The first line above addresses the second disk on the first Areca RAID
controller.
The second line addresses the third disk on the second Areca RAID
controller.
.\" %ENDIF OS FreeBSD Linux Windows Cygwin
.\" %IF OS Linux
To help identify the correct device on Linux, use the command:
.br
\fBcat /proc/scsi/sg/device_hdr /proc/scsi/sg/devices\fP
.br
to show the SCSI generic devices (one per line, starting with
/dev/sg0). The correct SCSI generic devices to address for
smartmontools are the ones with the type field equal to 3. If the
incorrect device is addressed, please read the warning/error messages
carefully. They should provide hints about what devices to use.
.\" %ENDIF OS Linux
.\" %IF OS FreeBSD Linux Windows Cygwin
.Sp
Important: the Areca controller must have firmware version 1.46 or
later. Lower-numbered firmware versions will give (harmless) SCSI
error messages and no SMART information.
.Sp
.I areca,N/E
\- [FreeBSD, Linux, Windows and Cygwin only] the device consists of one
or more SATA or SAS disks connected to an Areca SAS RAID controller.
The integer N (range 1 to 128) denotes the channel (slot) and E (range
1 to 8) denotes the enclosure.
Important: This requires Areca SAS controller firmware version 1.51 or later.
.Sp
.\" %ENDIF OS FreeBSD Linux Windows Cygwin
.\" %IF OS FreeBSD Linux
.I cciss,N
\- [FreeBSD and Linux only] the device consists of one or more SCSI/SAS or
SATA disks connected to a cciss RAID controller.
The non-negative integer N (in the range from 0 to 15 inclusive) denotes
which disk on the controller is monitored.
.Sp
Option \*(Aq\-d sat,auto+...\*(Aq is implicitly enabled to detect SATA disks.
Use \*(Aq\-d scsi+cciss,N\*(Aq to disable it.
.Sp
To look at disks behind HP Smart Array controllers, use syntax
such as:
.\" %ENDIF OS FreeBSD Linux
.\" %IF OS Linux
.br
\fBsmartctl \-a \-d cciss,0 /dev/cciss/c0d0\fP (cciss driver under Linux)
.br
\fBsmartctl \-a \-d cciss,0 /dev/sg2\fP (hpsa or hpahcisr drivers under Linux)
.\" %ENDIF OS Linux
.\" %IF OS FreeBSD
.br
\fBsmartctl \-a \-d cciss,0 /dev/ciss0\fP (under FreeBSD)
.\" %ENDIF OS FreeBSD
.\" %IF OS FreeBSD Linux
.Sp
.I hpt,L/M/N
\- [FreeBSD and Linux only] the device consists of one or more ATA disks
connected to a HighPoint RocketRAID controller. The integer L is the
controller id, the integer M is the channel number, and the integer N
is the PMPort number if it is available. The allowed values of L are
from 1 to 4 inclusive, M are from 1 to 128 inclusive and N from 1 to 4
if PMPort available. And also these values are limited by the model
of the HighPoint RocketRAID controller.
Use syntax such as:
.\" %ENDIF OS FreeBSD Linux
.\" %IF OS Linux
.br
\fBsmartctl \-a \-d hpt,1/3 /dev/sda\fP (under Linux)
.br
\fBsmartctl \-a \-d hpt,1/2/3 /dev/sda\fP (under Linux)
.\" %ENDIF OS Linux
.\" %IF OS FreeBSD
.br
\fBsmartctl \-a \-d hpt,1/3 /dev/hptrr\fP (under FreeBSD)
.br
\fBsmartctl \-a \-d hpt,1/2/3 /dev/hptrr\fP (under FreeBSD)
.\" %ENDIF OS FreeBSD
.\" %IF OS FreeBSD Linux
.br
Note that the /dev/sda\-z form should be the device node which stands for
the disks derived from the HighPoint RocketRAID controllers under Linux and
under FreeBSD, it is the character device which the driver registered (eg,
/dev/hptrr, /dev/hptmv6).
.\" %ENDIF OS FreeBSD Linux
.Sp
.\" %IF OS Linux
.I sssraid,E,S
\- [Linux only]
[NEW EXPERIMENTAL SMARTCTL FEATURE]
the device consists of one or more SCSI/SAS or SATA disks connected to a
SSSRAID controller.
The non-negative integer E (in the range of 0 to 8) denotes the enclosure
and S(range 0 to 128) denotes the slot.
Use syntax such as:
.br
\fBsmartctl \-a \-d sssraid,0,1 /dev/bsg/sssraid0\fP
.br
It is possible to set RAID device name as /dev/bsg/sssraidN, where N is a
SCSI bus number.
.Sp
.\" %ENDIF OS Linux
.I intelliprop,N[+TYPE]
\- the device consists of multiple ATA disks connected to an Intelliprop
controller.
The integer N is the port number from 0 to 3 of the ATA drive to be targeted.
The TYPE can be ata(default), sat, or a USB controller listed above.
Note: if a type of ATA does not work, try a type of sat.
Use syntax such as:
.br
\fBsmartctl \-a \-d intelliprop,1 /dev/sda\fP (under Linux)
.br
\fBsmartctl \-a \-d intelliprop,1+sat /dev/sda\fP (under Linux)
.br
\fBWARNING: The disks are selected by write commands to the ATA Device
Vendor Specific Log at address 0xc0.
Using this option with other devices may have undesirable side effects.\fP
.Sp
.I jmb39x[\-q],N[,sLBA][,force][+TYPE]
\- the device consists of multiple SATA disks connected to a JMicron JMB39x
RAID port multiplier.
The suffix \*(Aq\-q\*(Aq selects a slightly different command variant used by
some QNAP NAS devices.
The integer N is the port number from 0 to 4.
.br
\fBWARNING: The ATA pass-through commands are issued via READ/WRITE commands
to a LBA of the RAID volume.
Using this option with other devices may overwrite this sector.\fP
.br
The default LBA is 33.
The LBA could be selected in the range from 1 to 255 inclusive.
.br
If a GPT partition table is used, LBA 33 contains the last 4 (of 128)
entries of the partition table.
These entries are zero filled in most cases.
If a MBR partition table is used, LBA 33 may be zero filled or may contain
code from a boot loader.
.br
By default, access to the device is refused if the selected sector is not
zero filled.
The \*(Aqforce\*(Aq flag disables this check.
.br
\fBWARNING: Original sector data is not written back if smartctl is aborted
with a signal.\fP
.Sp
.I jms56x,N[,sLBA][,force][+TYPE]
\- the device consists of multiple SATA disks connected to a JMicron JMS56x
USB to SATA RAID bridge.
See \*(Aqjmb39x...\*(Aq above for valid arguments.
.TP
.B \-T TYPE, \-\-tolerance=TYPE
[ATA only] Specifies how tolerant \fBsmartctl\fP should be of ATA and SMART
command failures.
.Sp
The behavior of \fBsmartctl\fP depends upon whether the command is
"\fBoptional\fP" or "\fBmandatory\fP". Here "\fBmandatory\fP" means
"required by the ATA Specification if the device implements
the SMART command set" and "\fBoptional\fP" means "not required by the
ATA Specification even if the device implements the SMART
command set." The "\fBmandatory\fP" ATA and SMART commands are: (1)
ATA IDENTIFY DEVICE, (2) SMART ENABLE/DISABLE ATTRIBUTE AUTOSAVE, (3)
SMART ENABLE/DISABLE, and (4) SMART RETURN STATUS.
.Sp
The valid arguments to this option are:
.Sp
.I normal
\- exit on failure of any \fBmandatory\fP SMART command, and ignore
all failures of \fBoptional\fP SMART commands. This is the default.
Note that on some devices, issuing unimplemented optional SMART
commands doesn't cause an error. This can result in misleading
\fBsmartctl\fP messages such as "Feature X not implemented", followed
shortly by "Feature X: enabled". In most such cases, contrary to the
final message, Feature X is \fBnot\fP enabled.
.Sp
.I conservative
\- exit on failure of any \fBoptional\fP SMART command.
.Sp
.I permissive
\- ignore failure(s) of \fBmandatory\fP SMART commands. This option
may be given more than once. Each additional use of this option will
cause one more additional failure to be ignored. Note that the use of
this option can lead to messages like "Feature X not supported",
followed shortly by "Feature X enable failed". In a few
such cases, contrary to the final message, Feature X \fBis\fP enabled.
.Sp
.I verypermissive
\- equivalent to giving a large number of \*(Aq\-T permissive\*(Aq options:
ignore failures of \fBany number\fP of \fBmandatory\fP SMART commands.
Please see the note above.
.TP
.B \-b TYPE, \-\-badsum=TYPE
[ATA only] Specifies the action \fBsmartctl\fP should take if a checksum
error is detected in the: (1) Device Identity Structure, (2) SMART
Self-Test Log Structure, (3) SMART Attribute Value Structure, (4) SMART
Attribute Threshold Structure, or (5) ATA Error Log Structure.
.Sp
The valid arguments to this option are:
.Sp
.I warn
\- report the incorrect checksum but carry on in spite of it. This is the
default.
.Sp
.I exit
\- exit \fBsmartctl\fP.
.Sp
.I ignore
\- continue silently without issuing a warning.
.TP
.B \-r TYPE, \-\-report=TYPE
Intended primarily to help \fBsmartmontools\fP developers understand
the behavior of \fBsmartmontools\fP on non-conforming or poorly
conforming hardware. This option reports details of \fBsmartctl\fP
transactions with the device. The option can be used multiple times.
When used just once, it shows a record of the ioctl() transactions
with the device. When used more than once, the detail of these
ioctl() transactions are reported in greater detail. The valid
arguments to this option are:
.Sp
.I ioctl
\- report all ioctl() transactions.
.Sp
.I ataioctl
\- report only ioctl() transactions with ATA devices.
.Sp
.I scsiioctl
\- report only ioctl() transactions with SCSI devices.
Invoking this once shows the SCSI commands in hex and the corresponding status.
Invoking it a second time adds a hex listing of the first 64 bytes of data
send to, or received from the device.
.Sp
.\" %IF OS Darwin FreeBSD Linux NetBSD Windows Cygwin
.I nvmeioctl
\- report only ioctl() transactions with NVMe devices.
.Sp
.\" %ENDIF OS Darwin FreeBSD Linux NetBSD Windows Cygwin
Any argument may include a positive integer to specify the level of detail
that should be reported. The argument should be followed by a comma then
the integer with no spaces. For example,
.I ataioctl,2
The default level is 1, so \*(Aq\-r ataioctl,1\*(Aq and \*(Aq\-r ataioctl\*(Aq
are equivalent.
.Sp
For testing purposes, the output of \*(Aq\-r ataioctl,2\*(Aq can later be parsed
by \fBsmartctl\fP itself if \*(Aq\-\*(Aq is used as device path argument.
The ATA command input parameters, sector data and return values are
reconstructed from the debug report read from stdin.
Then \fBsmartctl\fP internally simulates an ATA device with the same
behaviour.
This is does not work for SCSI devices yet.
.TP
.B \-n POWERMODE[,STATUS[,STATUS2]], \-\-nocheck=POWERMODE[,STATUS[,STATUS2]]
[ATA, SCSI] Specifies if \fBsmartctl\fP should exit before performing any
checks when the device is in a low-power mode.
It may be used to prevent a disk from being spun-up by \fBsmartctl\fP.
The power mode is ignored by default.
.Sp
Note: If this option is used it may also be necessary to specify the device
type with the \*(Aq\-d\*(Aq option. Otherwise the device may spin up due to
commands issued during device type autodetection.
.Sp
By default, exit status 2 is returned if the device is in one of the
specified low-power modes.
This status is also returned if the device open or identification failed
(see EXIT STATUS below).
The optional STATUS parameter allows one to override this default.
STATUS is an integer in the range from 0 to 255 inclusive.
For example use \*(Aq\-n standby,0\*(Aq to return success if a device is in
SLEEP or STANDBY mode.
Use \*(Aq\-n standby,3\*(Aq to return a unique exit status in this case.
.Sp
The valid arguments to this option are:
.Sp
.I never
\- check the device always, but print the power mode if \*(Aq\-i\*(Aq is
specified.
.Sp
.I sleep[,STATUS[,STATUS2]]
\- check the device unless it is in SLEEP mode.
.Sp
.I standby[,STATUS[,STATUS2]]
\- check the device unless it is in SLEEP or STANDBY mode. In
these modes most disks are not spinning, so if you want to prevent
a disk from spinning up, this is probably what you want.
.Sp
.I idle[,STATUS[,STATUS2]]
\- check the device unless it is in SLEEP, STANDBY or IDLE mode.
In the IDLE state, most disks are still spinning, so this is probably
not what you want.
.Sp
The \*(Aq\-n\*(Aq option is ignored if the power mode check is not supported
or returns an unknown value.
.br
[ATA only][NEW EXPERIMENTAL SMARTCTL FEATURE]
If the optional STATUS2 parameter is specified, \fBsmartctl\fP exits
immediately with STATUS2 in this case.
For example use \*(Aq\-n standby,3,5\*(Aq to return unique exit statuses in
the STANDBY and UNSUPPORTED cases.
.TP
.B SMART FEATURE ENABLE/DISABLE COMMANDS:
.IP
.B Note:
if multiple options are used to both enable and disable a
feature, then
.B both
the enable and disable commands will be issued. The enable command
will always be issued
.B before
the corresponding disable command.
.TP
.B \-s VALUE, \-\-smart=VALUE
Enables or disables SMART on device. The valid arguments to
this option are \fIon\fP and \fIoff\fP.
.Sp
[ATA]
Note that the ATA commands SMART ENABLE/DISABLE OPERATIONS were declared obsolete
in ATA ACS-4 Revision 10 (Nov 2015).
.Sp
[SCSI tape drive or changer]
It is not necessary (or useful) to enable SMART to see the TapeAlert messages.
.TP
.B \-o VALUE, \-\-offlineauto=VALUE
[ATA only] Enables or disables SMART automatic offline test, which scans the
drive every four hours for disk defects.
This command can be given during normal system operation.
The valid arguments to this option are \fIon\fP and \fIoff\fP.
.Sp
Note that the SMART automatic offline test command is listed as
"Obsolete" in every version of the ATA and ATA/ATAPI Specifications.
It was originally part of the SFF-8035i Revision 2.0 specification,
but was never part of any ATA specification. However it is
implemented and used by many vendors.
You can tell if automatic offline testing is supported by seeing if
this command enables and disables it, as indicated by the \*(AqAuto
Offline Data Collection\*(Aq part of the SMART capabilities report
(displayed with \*(Aq\-c\*(Aq).
.Sp
SMART provides \fBthree\fP basic categories of testing. The
\fBfirst\fP category, called "online" testing, has no effect on the
performance of the device. It is turned on by the \*(Aq\-s on\*(Aq option.
.Sp
The \fBsecond\fP category of testing is called "offline" testing.
This type of test can, in principle, degrade the device performance.
The \*(Aq\-o on\*(Aq option causes this offline testing to be carried out,
automatically, on a regular scheduled basis. Normally, the disk will
suspend offline testing while disk accesses are taking place, and then
automatically resume it when the disk would otherwise be idle, so in
practice it has little effect. Note that a one-time offline test can
also be carried out immediately upon receipt of a user command. See
the \*(Aq\-t offline\*(Aq option below, which causes a one-time offline test
to be carried out immediately.
.Sp
The choice (made by the SFF-8035i and ATA specification authors) of
the word \fItesting\fP for these first two categories is unfortunate,
and often leads to confusion. In fact these first two categories of
online and offline testing could have been more accurately described
as online and offline \fBdata collection\fP.
.Sp
The results of this automatic or immediate offline testing (data
collection) are reflected in the values of the SMART Attributes.
Thus, if problems or errors are detected, the values of these
Attributes will go below their failure thresholds; some types of
errors may also appear in the SMART error log.
These are visible with the \*(Aq\-A\*(Aq and \*(Aq\-l error\*(Aq options
respectively.
.Sp
Some SMART attribute values are updated only during off-line data
collection activities; the rest are updated during normal operation of
the device or during both normal operation and off-line testing. The
Attribute value table produced by the \*(Aq\-A\*(Aq option indicates this in
the UPDATED column. Attributes of the first type are labeled
"Offline" and Attributes of the second type are labeled "Always".
.Sp
The \fBthird\fP category of testing (and the \fIonly\fP category for
which the word \*(Aqtesting\*(Aq is really an appropriate choice) is "self"
testing. This third type of test is only performed (immediately) when
a command to run it is issued.
The \*(Aq\-t\*(Aq and \*(Aq\-X\*(Aq options can be used to carry out and
abort such self-tests; please see below for further details.