]> git.proxmox.com Git - mirror_smartmontools-debian.git/blob - smartctl.8.in
import smartmontools 7.0
[mirror_smartmontools-debian.git] / smartctl.8.in
1 .ig
2 Copyright (C) 2002-10 Bruce Allen
3 Copyright (C) 2004-16 Christian Franke
4
5 $Id: smartctl.8.in 4311 2016-04-27 21:03:01Z chrfranke $
6
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 2, or (at your option)
10 any later version.
11
12 You should have received a copy of the GNU General Public License
13 (for example COPYING); If not, see <http://www.gnu.org/licenses/>.
14
15 This code was originally developed as a Senior Thesis by Michael Cornwell
16 at the Concurrent Systems Laboratory (now part of the Storage Systems
17 Research Center), Jack Baskin School of Engineering, University of
18 California, Santa Cruz. http://ssrc.soe.ucsc.edu/
19
20 ..
21 .TH SMARTCTL 8 "CURRENT_SVN_DATE" "CURRENT_SVN_VERSION" "SMART Monitoring Tools"
22 .SH NAME
23 \fBsmartctl\fP \- Control and Monitor Utility for SMART Disks
24
25 .SH SYNOPSIS
26 .B smartctl [options] device
27
28 .SH DESCRIPTION
29 .\" %IF NOT OS ALL
30 .\"! [This man page is generated for the OS_MAN_FILTER version of smartmontools.
31 .\"! It does not contain info specific to other platforms.]
32 .\"! .PP
33 .\" %ENDIF NOT OS ALL
34 \fBsmartctl\fP controls the Self-Monitoring, Analysis and
35 Reporting Technology (SMART) system built into most ATA/SATA and SCSI/SAS
36 hard drives and solid-state drives.
37 The purpose of SMART is to monitor the reliability of the hard drive
38 and predict drive failures, and to carry out different types of drive
39 self-tests.
40 \fBsmartctl\fP also supports some features not related to SMART.
41 This version of \fBsmartctl\fP is compatible with
42 ACS-3, ACS-2, ATA8-ACS, ATA/ATAPI-7 and earlier standards
43 (see \fBREFERENCES\fP below).
44
45 \fBsmartctl\fP also provides support for polling TapeAlert messages
46 from SCSI tape drives and changers.
47
48 The user must specify the device to be controlled or interrogated as
49 the final argument to \fBsmartctl\fP. The command set used by the device
50 is often derived from the device path but may need help with the \'\-d\'
51 option (for more information see the section on "ATA, SCSI command sets
52 and SAT" below). Device paths are as follows:
53 .\" %IF OS Linux
54 .IP \fBLINUX\fP: 9
55 Use the forms \fB"/dev/sd[a\-z]"\fP for ATA/SATA and SCSI/SAS devices.
56 For SCSI Tape Drives and Changers with TapeAlert support use the
57 devices \fB"/dev/nst*"\fP and \fB"/dev/sg*"\fP. For disks behind
58 3ware controllers you may need \fB"/dev/sd[a\-z]"\fP or
59 \fB"/dev/twe[0\-9]"\fP, \fB"/dev/twa[0\-9]"\fP or \fB"/dev/twl[0\-9]"\fP: see details
60 below. For disks behind HighPoint RocketRAID controllers you may need
61 \fB"/dev/sd[a\-z]"\fP. For disks behind Areca SATA RAID controllers,
62 you need \fB"/dev/sg[2\-9]"\fP (note that smartmontools interacts with
63 the Areca controllers via a SCSI generic device which is different
64 than the SCSI device used for reading and writing data)! For HP Smart
65 Array RAID controllers, there are three currently supported drivers: cciss,
66 hpsa, and hpahcisr. For disks accessed via the cciss driver the device nodes
67 are of the form \fB"/dev/cciss/c[0\-9]d0"\fP. For disks accessed via
68 the hpahcisr and hpsa drivers, the device nodes you need are \fB"/dev/sg[0\-9]*"\fP.
69 ("lsscsi \-g" is helpful in determining which scsi generic device node corresponds
70 to which device.) Use the nodes corresponding to the RAID controllers,
71 not the nodes corresponding to logical drives. See the \fB\-d\fP option below, as well.
72 Use the forms \fB"/dev/nvme[0\-9]"\fP (broadcast namespace) or
73 \fB"/dev/nvme[0\-9]n[1\-9]"\fP (specific namespace 1\-9) for NVMe devices.
74 .\" %ENDIF OS Linux
75 .\" %IF OS Darwin
76 .IP \fBDARWIN\fP: 9
77 Use the forms \fB/dev/disk[0\-9]\fP or equivalently \fBdisk[0\-9]\fP or equivalently
78 \fB/dev/rdisk[0\-9]\fP. Long forms are also available: please use \'\-h\' to see some
79 examples. Note that there is currently no Darwin SCSI support.
80
81 Use the OS X SAT SMART Driver to access SMART data on SAT capable USB and
82 Firewire devices (see INSTALL file).
83 .\" %ENDIF OS Darwin
84 .\" %IF OS FreeBSD
85 .IP \fBFREEBSD\fP: 9
86 Use the forms \fB"/dev/ad[0\-9]+"\fP for IDE/ATA
87 devices and \fB"/dev/da[0\-9]+"\fP or \fB"/dev/pass[0\-9]+"\fP for SCSI devices.
88 For SATA devices on AHCI bus use \fB"/dev/ada[0\-9]+"\fP format. For HP Smart
89 Array RAID controllers, use \fB"/dev/ciss[0\-9]"\fP (and see the \fB-d\fP option,
90 below).
91 .\" %ENDIF OS FreeBSD
92 .\" %IF OS NetBSD OpenBSD
93 .IP \fBNETBSD/OPENBSD\fP: 9
94 Use the form \fB"/dev/wd[0\-9]+c"\fP for IDE/ATA
95 devices. For SCSI disk and tape devices, use the device names
96 \fB"/dev/sd[0\-9]+c"\fP and \fB"/dev/st[0\-9]+c"\fP respectively.
97 Be sure to specify the correct "whole disk" partition letter for
98 your architecture.
99 .\" %ENDIF OS NetBSD OpenBSD
100 .\" %IF OS Solaris
101 .IP \fBSOLARIS\fP: 9
102 Use the forms \fB"/dev/rdsk/c?t?d?s?"\fP for IDE/ATA and SCSI disk
103 devices, and \fB"/dev/rmt/*"\fP for SCSI tape devices.
104 .\" %ENDIF OS Solaris
105 .\" %IF OS Windows Cygwin
106 .IP \fBWINDOWS\fP: 9
107 Use the forms \fB"/dev/sd[a\-z]"\fP for IDE/(S)ATA and SCSI disks
108 "\\\\.\\PhysicalDrive[0\-25]" (where "a" maps to "0").
109 Use \fB"/dev/sd[a\-z][a\-z]"\fP for "\\\\.\\PhysicalDrive[26\-...]".
110 These disks can also be referred to as \fB"/dev/pd[0\-255]"\fP for
111 "\\\\.\\PhysicalDrive[0\-255]".
112 ATA disks can also be referred to as \fB"/dev/hd[a\-z]"\fP for
113 "\\\\.\\PhysicalDrive[0\-25]".
114 Use one the forms \fB"/dev/tape[0\-255]"\fP, \fB"/dev/st[0\-255]"\fP,
115 or \fB"/dev/nst[0\-255]"\fP for SCSI tape drives "\\\\.\\Tape[0\-255]".
116
117 Alternatively, drive letters \fB"X:"\fP or \fB"X:\\"\fP may be used to
118 specify the (\'basic\') disk behind a mounted partition. This does
119 not work with \'dynamic\' disks.
120
121 For disks behind 3ware 9000 controllers use \fB"/dev/sd[a\-z],N"\fP where
122 N specifies the disk number (3ware \'port\') behind the controller
123 providing the logical drive (\'unit\') specified by \fB"/dev/sd[a\-z]"\fP.
124 Alternatively, use \fB"/dev/tw_cli/cx/py"\fP for controller x, port y
125 to run the \'tw_cli\' tool and parse the output. This provides limited
126 monitoring (\'\-i\', \'\-c\', \'\-A\' below) if SMART support is missing
127 in the driver. Use \fB"/dev/tw_cli/stdin"\fP or \fB"/dev/tw_cli/clip"\fP
128 to parse CLI or 3DM output from standard input or clipboard.
129 The option \'\-d 3ware,N\' is not necessary on Windows.
130
131 For disks behind an Intel ICHxR controller with RST driver use
132 \fB"/dev/csmi[0\-9],N"\fP where N specifies the port behind the logical
133 scsi controller "\\\\.\\Scsi[0\-9]:".
134
135 For SATA or SAS disks behind an Areca controller use
136 \fB"/dev/arcmsr[0\-9]"\fP, see \'\-d areca,N[/E]\' below.
137
138 [NEW EXPERIMENTAL SMARTCTL FEATURE]
139 Use the forms \fB"/dev/nvme[0\-9]"\fP (broadcast namespace) or
140 \fB"/dev/nvme[0\-9]n[1\-9]"\fP (specific namespace 1\-9) for first,
141 second, ..., NVMe device.
142 Alternatively use the forms \fB"/dev/nvmes[0\-9][n[1\-9]]"\fP for NVMe devices
143 behind the logical scsi controller "\\\\.\\Scsi[0\-9]:".
144
145 The prefix \fB"/dev/"\fP is optional.
146 .\" %ENDIF OS Windows Cygwin
147 .\" %IF OS OS2
148 .IP \fBOS/2,eComStation\fP: 9
149 Use the form \fB"/dev/hd[a\-z]"\fP for IDE/ATA devices.
150 .\" %ENDIF OS OS2
151 .PP
152 if \'\-\' is specified as the device path, \fBsmartctl\fP reads and
153 interprets it's own debug output from standard input.
154 See \'\-r ataioctl\' below for details.
155 .PP
156 Based on the device path, \fBsmartctl\fP will guess the device type
157 (ATA or SCSI). If necessary, the \'\-d\' option can be used to override
158 this guess
159
160 Note that the printed output of \fBsmartctl\fP displays most numerical
161 values in base 10 (decimal), but some values are displayed in base 16
162 (hexadecimal). To distinguish them, the base 16 values are always
163 displayed with a leading \fB"0x"\fP, for example: "0xff". This man
164 page follows the same convention.
165
166 .SH OPTIONS
167 The options are grouped below into several categories. \fBsmartctl\fP
168 will execute the corresponding commands in the order: INFORMATION,
169 ENABLE/DISABLE, DISPLAY DATA, RUN/ABORT TESTS.
170
171 .TP
172 .B SHOW INFORMATION OPTIONS:
173 .TP
174 .B \-h, \-\-help, \-\-usage
175 Prints a usage message to STDOUT and exits.
176 .TP
177 .B \-V, \-\-version, \-\-copyright, \-\-license
178 Prints version, copyright, license, home page and SVN revision
179 information for your copy of \fBsmartctl\fP to STDOUT and then exits.
180 Please include this information if you are reporting bugs or problems.
181 .TP
182 .B \-i, \-\-info
183 Prints the device model number, serial number, firmware version, and
184 ATA Standard version/revision information. Says if the device
185 supports SMART, and if so, whether SMART support is currently enabled
186 or disabled. If the device supports Logical Block Address mode (LBA
187 mode) print current user drive capacity in bytes. (If drive is has a
188 user protected area reserved, or is "clipped", this may be smaller
189 than the potential maximum drive capacity.) Indicates if the drive is
190 in the smartmontools database (see \'\-v\' options below). If so, the
191 drive model family may also be printed. If \'\-n\' (see below) is
192 specified, the power mode of the drive is printed.
193 .\" %IF OS FreeBSD Linux Windows Cygwin
194
195 [NVMe] [FreeBSD, Linux, Windows and Cygwin only]
196 [NEW EXPERIMENTAL SMARTCTL FEATURE]
197 For NVMe devices the information is obtained from the Identify Controller
198 and the Identify Namespace data structure.
199 .\" %ENDIF OS FreeBSD Linux Windows Cygwin
200 .TP
201 .B \-\-identify[=[w][nvb]]
202 [ATA only] Prints an annotated table of the IDENTIFY DEVICE data.
203 By default, only valid words (words not equal to 0x0000 or 0xffff)
204 and nonzero bits and bit fields are printed.
205 This can be changed by the optional argument which consists of one or
206 two characters from the set \'wnvb\'.
207 The character \'w\' enables printing of all 256 words. The character
208 \'n\' suppresses printing of bits, \'v\' enables printing of all bits
209 from valid words, \'b\' enables printing of all bits.
210 For example \'\-\-identify=n\' (valid words, no bits) produces the
211 shortest output and \'\-\-identify=wb\' (all words, all bits) produces
212 the longest output.
213 .TP
214 .B \-a, \-\-all
215 Prints all SMART information about the disk, or TapeAlert information
216 about the tape drive or changer. For ATA devices this is equivalent
217 to
218 .nf
219 \'\-H \-i \-c \-A \-l error \-l selftest \-l selective\'
220 .fi
221 and for SCSI, this is equivalent to
222 .nf
223 \'\-H \-i \-A \-l error \-l selftest\'.
224 .fi
225 .\" %IF OS FreeBSD Linux Windows Cygwin
226 For NVMe, this is equivalent to
227 .nf
228 \'\-H \-i \-c \-A \-l error'.
229 .fi
230 .\" %ENDIF OS FreeBSD Linux Windows Cygwin
231 Note that for ATA disks this does \fBnot\fP enable the non-SMART options
232 and the SMART options which require support for 48-bit ATA commands.
233 .TP
234 .B \-x, \-\-xall
235 Prints all SMART and non-SMART information about the device. For ATA
236 devices this is equivalent to
237 .nf
238 \'\-H \-i \-g all \-c \-A \-f brief \-l xerror,error \-l xselftest,selftest
239 \-l selective \-l directory \-l scttemp \-l scterc \-l devstat \-l sataphy\'.
240 .fi
241 and for SCSI, this is equivalent to
242 .nf
243 \'\-H \-i \-A \-l error \-l selftest \-l background \-l sasphy\'.
244 .fi
245 .\" %IF OS FreeBSD Linux Windows Cygwin
246 For NVMe, this is equivalent to
247 .nf
248 \'\-H \-i \-c \-A \-l error'.
249 .fi
250 .\" %ENDIF OS FreeBSD Linux Windows Cygwin
251 .TP
252 .B \-\-scan
253 Scans for devices and prints each device name, device type and protocol
254 ([ATA] or [SCSI]) info. May be used in conjunction with \'\-d TYPE\'
255 to restrict the scan to a specific TYPE. See also info about platform
256 specific device scan and the \fBDEVICESCAN\fP directive on
257 \fBsmartd\fP(8) man page.
258 .TP
259 .B \-\-scan\-open
260 Same as \-\-scan, but also tries to open each device before printing
261 device info. The device open may change the device type due
262 to autodetection (see also \'\-d test\').
263
264 This option can be used to create a draft \fBsmartd.conf\fP file.
265 All options after \'\-\-\' are appended to each output line.
266 For example:
267 .nf
268 smartctl \-\-scan\-open \-\- \-a \-W 4,45,50 \-m admin@work > smartd.conf
269 .fi
270
271 [NEW EXPERIMENTAL SMARTCTL FEATURE]
272 Multiple \'\-d TYPE\' options may be specified with \'\-\-scan[\-open]\'
273 to combine the scan results of more than one TYPE.
274 .TP
275 .B \-g NAME, \-\-get=NAME
276 Get non-SMART device settings. See \'\-s, \-\-set\' below for further info.
277
278 .TP
279 .B RUN-TIME BEHAVIOR OPTIONS:
280 .TP
281 .B \-q TYPE, \-\-quietmode=TYPE
282 Specifies that \fBsmartctl\fP should run in one of the two quiet modes
283 described here. The valid arguments to this option are:
284
285 .I errorsonly
286 \- only print: For the \'\-l error\' option, if nonzero, the number
287 of errors recorded in the SMART error log and the power-on time when
288 they occurred; For the \'\-l selftest\' option, errors recorded in the device
289 self-test log; For the \'\-H\' option, SMART "disk failing" status or device
290 Attributes (pre-failure or usage) which failed either now or in the
291 past; For the \'\-A\' option, device Attributes (pre-failure or usage)
292 which failed either now or in the past.
293
294 .I silent
295 \- print no output. The only way to learn about what was found is to
296 use the exit status of \fBsmartctl\fP (see EXIT STATUS below).
297
298 .I noserial
299 \- Do not print the serial number of the device.
300 .TP
301 .B \-d TYPE, \-\-device=TYPE
302 Specifies the type of the device.
303 The valid arguments to this option are:
304
305 .I auto
306 \- attempt to guess the device type from the device name or from
307 controller type info provided by the operating system or from
308 a matching USB ID entry in the drive database.
309 This is the default.
310
311 .I test
312 \- prints the guessed type, then opens the device and prints the
313 (possibly changed) TYPE name and then exists without performing
314 any further commands.
315
316 .I ata
317 \- the device type is ATA. This prevents
318 \fBsmartctl\fP
319 from issuing SCSI commands to an ATA device.
320
321 .\" %IF NOT OS Darwin
322 .I scsi
323 \- the device type is SCSI. This prevents
324 \fBsmartctl\fP
325 from issuing ATA commands to a SCSI device.
326
327 .\" %ENDIF NOT OS Darwin
328 .\" %IF OS FreeBSD Linux Windows Cygwin
329 .I nvme[,NSID]
330 \- [FreeBSD, Linux, Windows and Cygwin only]
331 [NEW EXPERIMENTAL SMARTCTL FEATURE]
332 the device type is NVM Express (NVMe).
333 The optional parameter NSID specifies the namespace id (in hex) passed
334 to the driver.
335 Use 0xffffffff for the broadcast namespace id.
336 The default for NSID is the namespace id addressed by the device name.
337
338 .\" %ENDIF OS FreeBSD Linux Windows Cygwin
339 .\" %IF NOT OS Darwin
340 .I sat[,auto][,N]
341 \- the device type is SCSI to ATA Translation (SAT).
342 This is for ATA disks that have a SCSI to ATA Translation (SAT) Layer
343 (SATL) between the disk and the operating system.
344 SAT defines two ATA PASS THROUGH SCSI commands, one 12 bytes long and
345 the other 16 bytes long. The default is the 16 byte variant which can be
346 overridden with either \'\-d sat,12\' or \'\-d sat,16\'.
347
348 If \'\-d sat,auto\' is specified, device type SAT (for ATA/SATA disks) is
349 only used if the SCSI INQUIRY data reports a SATL (VENDOR: "ATA ").
350 Otherwise device type SCSI (for SCSI/SAS disks) is used.
351
352 .I usbcypress
353 \- this device type is for ATA disks that are behind a Cypress USB to PATA
354 bridge. This will use the ATACB proprietary scsi pass through command.
355 The default SCSI operation code is 0x24, but although it can be overridden
356 with \'\-d usbcypress,0xN\', where N is the scsi operation code,
357 you're running the risk of damage to the device or filesystems on it.
358
359 .I usbjmicron[,p][,x][,PORT]
360 \- this device type is for SATA disks that are behind a JMicron USB to
361 PATA/SATA bridge. The 48-bit ATA commands (required e.g. for \'\-l xerror\',
362 see below) do not work with all of these bridges and are therefore disabled by
363 default. These commands can be enabled by \'\-d usbjmicron,x\'.
364 If two disks are connected to a bridge with two ports, an error message is printed
365 if no PORT is specified.
366 The port can be specified by \'\-d usbjmicron[,x],PORT\' where PORT is 0
367 (master) or 1 (slave). This is not necessary if the device uses a port
368 multiplier to connect multiple disks to one port. The disks appear under
369 separate /dev/ice names then.
370 CAUTION: Specifying \',x\' for a device which does not support it results
371 in I/O errors and may disconnect the drive. The same applies if the specified
372 PORT does not exist or is not connected to a disk.
373
374 The Prolific PL2507/3507 USB bridges with older firmware support a pass-through
375 command similar to JMicron and work with \'\-d usbjmicron,0\'.
376 Newer Prolific firmware requires a modified command which can be selected by
377 \'\-d usbjmicron,p\'.
378 Note that this does not yet support the SMART status command.
379
380 .I usbprolific
381 \- [NEW EXPERIMENTAL SMARTCTL FEATURE]
382 this device type is for SATA disks that are behind a Prolific PL2571/2771/2773/2775
383 USB to SATA bridge.
384
385 .I usbsunplus
386 \- this device type is for SATA disks that are behind a SunplusIT USB to SATA
387 bridge.
388
389 .\" %ENDIF NOT OS Darwin
390 .\" %IF OS Linux
391 .I marvell
392 \- [Linux only] interact with SATA disks behind Marvell chip-set
393 controllers (using the Marvell rather than libata driver).
394
395 .I megaraid,N
396 \- [Linux only] the device consists of one or more SCSI/SAS disks connected
397 to a MegaRAID controller. The non-negative integer N (in the range of 0 to
398 127 inclusive) denotes which disk on the controller is monitored.
399 Use syntax such as:
400 .nf
401 \fBsmartctl \-a \-d megaraid,2 /dev/sda\fP
402 .fi
403 .nf
404 \fBsmartctl \-a \-d megaraid,0 /dev/sdb\fP
405 .fi
406 .nf
407 \fBsmartctl \-a \-d megaraid,0 /dev/bus/0\fP
408 .fi
409 This interface will also work for Dell PERC controllers.
410 It is possible to set RAID device name as /dev/bus/N, where N is a SCSI bus
411 number.
412
413 The following entry in /proc/devices must exist:
414 .br
415 For PERC2/3/4 controllers: \fBmegadevN\fP
416 .br
417 For PERC5/6 controllers: \fBmegaraid_sas_ioctlN\fP
418
419 .\" %ENDIF OS Linux
420 .\" %IF OS Linux Windows Cygwin
421 .I aacraid,H,L,ID
422 \- [Linux, Windows and Cygwin only] [NEW EXPERIMENTAL SMARTCTL FEATURE]
423 the device consists of one or more SCSI/SAS disks connected to an AacRaid controller.
424 The non-negative integers H,L,ID (Host number, Lun, ID) denote which disk
425 on the controller is monitored.
426 Use syntax such as:
427 .nf
428 \fBsmartctl \-a \-d aacraid,0,0,2 /dev/sda\fP
429 .fi
430 .nf
431 \fBsmartctl \-a \-d aacraid,1,0,4 /dev/sdb\fP
432 .fi
433
434 .\" %ENDIF OS Linux Windows Cygwin
435 .\" %IF OS Linux
436 On Linux, the following entry in /proc/devices must exist: \fBaac\fP.
437 Character device nodes /dev/aacH (H=Host number) are created if required.
438
439 .\" %ENDIF OS Linux
440 .\" %IF OS Windows Cygwin
441 On Windows, the device name parameter /dev/sdX is ignored if \'-d aacraid\'
442 is specified.
443
444 .\" %ENDIF OS Windows Cygwin
445 .\" %IF OS FreeBSD Linux
446 .I 3ware,N
447 \- [FreeBSD and Linux only] the device consists of one or more ATA disks
448 connected to a 3ware RAID controller. The non-negative integer N
449 (in the range from 0 to 127 inclusive) denotes which disk on the controller
450 is monitored.
451 Use syntax such as:
452 .nf
453 \fBsmartctl \-a \-d 3ware,2 /dev/sda\fP [Linux only]
454 .fi
455 .nf
456 \fBsmartctl \-a \-d 3ware,0 /dev/twe0\fP
457 .fi
458 .nf
459 \fBsmartctl \-a \-d 3ware,1 /dev/twa0\fP
460 .fi
461 .nf
462 \fBsmartctl \-a \-d 3ware,1 /dev/twl0\fP [Linux only]
463 .fi
464 .nf
465 \fBsmartctl \-a \-d 3ware,1 /dev/tws0\fP [FreeBSD only]
466 .fi
467 The first two forms, which refer to devices /dev/sda\-z and /dev/twe0\-15,
468 may be used with 3ware series 6000, 7000, and 8000 series controllers
469 that use the 3x-xxxx driver.
470 \fBNote that the /dev/sda\-z form is deprecated\fP starting with
471 the Linux 2.6 kernel series and may not be supported by the Linux
472 kernel in the near future. The final form, which refers to devices
473 /dev/twa0\-15, must be used with 3ware 9000 series controllers, which
474 use the 3w\-9xxx driver.
475
476 The devices /dev/twl0\-15 [Linux] or /dev/tws0\-15 [FreeBSD] must be used with the 3ware/LSI 9750 series
477 controllers which use the 3w-sas driver.
478
479 Note that if the special character device nodes /dev/tw[ls]?, /dev/twa?
480 and /dev/twe? do not exist, or exist with the incorrect major or minor
481 numbers, smartctl will recreate them on the fly. Typically /dev/twa0
482 refers to the first 9000-series controller, /dev/twa1 refers to the
483 second 9000 series controller, and so on. The /dev/twl0 devices refers
484 to the first 9750 series controller, /dev/twl1 resfers to the second
485 9750 series controller, and so on. Likewise /dev/twe0 refers to
486 the first 6/7/8000-series controller, /dev/twe1 refers to the second
487 6/7/8000 series controller, and so on.
488
489 Note that for the 6/7/8000 controllers, \fBany\fP of the physical
490 disks can be queried or examined using \fBany\fP of the 3ware's SCSI
491 logical device /dev/sd? entries. Thus, if logical device /dev/sda is
492 made up of two physical disks (3ware ports zero and one) and logical
493 device /dev/sdb is made up of two other physical disks (3ware ports
494 two and three) then you can examine the SMART data on \fBany\fP of the
495 four physical disks using \fBeither\fP SCSI device /dev/sda \fBor\fP
496 /dev/sdb. If you need to know which logical SCSI device a particular
497 physical disk (3ware port) is associated with, use the dmesg or SYSLOG
498 output to show which SCSI ID corresponds to a particular 3ware unit,
499 and then use the 3ware CLI or 3dm tool to determine which ports
500 (physical disks) correspond to particular 3ware units.
501
502 If the value of N corresponds to a port that does \fBnot\fP exist on
503 the 3ware controller, or to a port that does not physically have a
504 disk attached to it, the behavior of \fBsmartctl\fP depends upon the
505 specific controller model, firmware, Linux kernel and platform. In
506 some cases you will get a warning message that the device does not
507 exist. In other cases you will be presented with \'void\' data for a
508 non-existent device.
509
510 Note that if the /dev/sd? addressing form is used, then older 3w-xxxx
511 drivers do not pass the "Enable Autosave"
512 (\'\fB\-S on\fP\') and "Enable Automatic Offline" (\'\fB\-o on\fP\')
513 commands to the disk, and produce these types of harmless syslog error
514 messages instead: "\fB3w-xxxx: tw_ioctl(): Passthru size (123392) too
515 big\fP". This can be fixed by upgrading to version 1.02.00.037 or
516 later of the 3w-xxxx driver, or by applying a patch to older
517 versions. Alternatively, use the character device /dev/twe0\-15 interface.
518
519 The selective self-test functions (\'\-t select,A\-B\') are only supported
520 using the character device interface /dev/twl0\-15, /dev/tws0\-15, /dev/twa0\-15 and /dev/twe0\-15.
521 The necessary WRITE LOG commands can not be passed through the SCSI
522 interface.
523
524 .\" %ENDIF OS FreeBSD Linux
525 .\" %IF OS FreeBSD Linux Windows Cygwin
526 .I areca,N
527 \- [FreeBSD, Linux, Windows and Cygwin only] the device consists of one or more SATA disks
528 connected to an Areca SATA RAID controller. The positive integer N (in the range
529 from 1 to 24 inclusive) denotes which disk on the controller is monitored.
530 .\" %ENDIF OS FreeBSD Linux Windows Cygwin
531 .\" %IF OS Linux
532 On Linux use syntax such as:
533 .nf
534 \fBsmartctl \-a \-d areca,2 /dev/sg2\fP
535 .fi
536 .nf
537 \fBsmartctl \-a \-d areca,3 /dev/sg3\fP
538 .fi
539 .\" %ENDIF OS Linux
540 .\" %IF OS FreeBSD
541 On FreeBSD use syntax such as:
542 .nf
543 \fBsmartctl \-a \-d areca,2 /dev/arcmsr1\fP
544 .fi
545 .nf
546 \fBsmartctl \-a \-d areca,3 /dev/arcmsr2\fP
547 .fi
548 .\" %ENDIF OS FreeBSD
549 .\" %IF OS Windows Cygwin
550 On Windows and Cygwin use syntax such as:
551 .nf
552 \fBsmartctl \-a \-d areca,2 /dev/arcmsr0\fP
553 .fi
554 .nf
555 \fBsmartctl \-a \-d areca,3 /dev/arcmsr1\fP
556 .fi
557 .\" %ENDIF OS Windows Cygwin
558 .\" %IF OS FreeBSD Linux Windows Cygwin
559 The first line above addresses the second disk on the first Areca RAID controller.
560 The second line addresses the third disk on the second Areca RAID
561 controller.
562 .\" %ENDIF OS FreeBSD Linux Windows Cygwin
563 .\" %IF OS Linux
564 To help identify the correct device on Linux, use the command:
565 .nf
566 \fBcat /proc/scsi/sg/device_hdr /proc/scsi/sg/devices\fP
567 .fi
568 to show the SCSI generic devices (one per line, starting with
569 /dev/sg0). The correct SCSI generic devices to address for
570 smartmontools are the ones with the type field equal to 3. If the
571 incorrect device is addressed, please read the warning/error messages
572 carefully. They should provide hints about what devices to use.
573 .\" %ENDIF OS Linux
574 .\" %IF OS FreeBSD Linux Windows Cygwin
575
576 Important: the Areca controller must have firmware version 1.46 or
577 later. Lower-numbered firmware versions will give (harmless) SCSI
578 error messages and no SMART information.
579
580 .I areca,N/E
581 \- [FreeBSD, Linux, Windows and Cygwin only] the device consists of one
582 or more SATA or SAS disks connected to an Areca SAS RAID controller.
583 The integer N (range 1 to 128) denotes the channel (slot) and E (range
584 1 to 8) denotes the enclosure.
585 Important: This requires Areca SAS controller firmware version 1.51 or later.
586
587 .\" %ENDIF OS FreeBSD Linux Windows Cygwin
588 .\" %IF OS FreeBSD Linux
589 .I cciss,N
590 \- [FreeBSD and Linux only] the device consists of one or more SCSI/SAS or SATA disks
591 connected to a cciss RAID controller. The non-negative integer N (in the range
592 from 0 to 15 inclusive) denotes which disk on the controller is monitored.
593
594 To look at disks behind HP Smart Array controllers, use syntax
595 such as:
596 .\" %ENDIF OS FreeBSD Linux
597 .\" %IF OS Linux
598 .nf
599 \fBsmartctl \-a \-d cciss,0 /dev/cciss/c0d0\fP (cciss driver under Linux)
600 .fi
601 .nf
602 \fBsmartctl \-a \-d cciss,0 /dev/sg2\fP (hpsa or hpahcisr drivers under Linux)
603 .fi
604 .\" %ENDIF OS Linux
605 .\" %IF OS FreeBSD
606 .nf
607 \fBsmartctl \-a \-d cciss,0 /dev/ciss0\fP (under FreeBSD)
608 .fi
609 .\" %ENDIF OS FreeBSD
610 .\" %IF OS FreeBSD Linux
611
612 .I hpt,L/M/N
613 \- [FreeBSD and Linux only] the device consists of one or more ATA disks
614 connected to a HighPoint RocketRAID controller. The integer L is the
615 controller id, the integer M is the channel number, and the integer N
616 is the PMPort number if it is available. The allowed values of L are
617 from 1 to 4 inclusive, M are from 1 to 128 inclusive and N from 1 to 4
618 if PMPort available. And also these values are limited by the model
619 of the HighPoint RocketRAID controller.
620 Use syntax such as:
621 .\" %ENDIF OS FreeBSD Linux
622 .\" %IF OS Linux
623 .nf
624 \fBsmartctl \-a \-d hpt,1/3 /dev/sda\fP (under Linux)
625 .fi
626 .nf
627 \fBsmartctl \-a \-d hpt,1/2/3 /dev/sda\fP (under Linux)
628 .fi
629 .\" %ENDIF OS Linux
630 .\" %IF OS FreeBSD
631 .nf
632 \fBsmartctl \-a \-d hpt,1/3 /dev/hptrr\fP (under FreeBSD)
633 .fi
634 .nf
635 \fBsmartctl \-a \-d hpt,1/2/3 /dev/hptrr\fP (under FreeBSD)
636 .fi
637 .\" %ENDIF OS FreeBSD
638 .\" %IF OS FreeBSD Linux
639 Note that the /dev/sda\-z form should be the device node which stands for
640 the disks derived from the HighPoint RocketRAID controllers under Linux and
641 under FreeBSD, it is the character device which the driver registered (eg,
642 /dev/hptrr, /dev/hptmv6).
643 .\" %ENDIF OS FreeBSD Linux
644 .TP
645 .B \-T TYPE, \-\-tolerance=TYPE
646 [ATA only] Specifies how tolerant \fBsmartctl\fP should be of ATA and SMART
647 command failures.
648
649 The behavior of \fBsmartctl\fP depends upon whether the command is
650 "\fBoptional\fP" or "\fBmandatory\fP". Here "\fBmandatory\fP" means
651 "required by the ATA Specification if the device implements
652 the SMART command set" and "\fBoptional\fP" means "not required by the
653 ATA Specification even if the device implements the SMART
654 command set." The "\fBmandatory\fP" ATA and SMART commands are: (1)
655 ATA IDENTIFY DEVICE, (2) SMART ENABLE/DISABLE ATTRIBUTE AUTOSAVE, (3)
656 SMART ENABLE/DISABLE, and (4) SMART RETURN STATUS.
657
658 The valid arguments to this option are:
659
660 .I normal
661 \- exit on failure of any \fBmandatory\fP SMART command, and ignore
662 all failures of \fBoptional\fP SMART commands. This is the default.
663 Note that on some devices, issuing unimplemented optional SMART
664 commands doesn\'t cause an error. This can result in misleading
665 \fBsmartctl\fP messages such as "Feature X not implemented", followed
666 shortly by "Feature X: enabled". In most such cases, contrary to the
667 final message, Feature X is \fBnot\fP enabled.
668
669 .I conservative
670 \- exit on failure of any \fBoptional\fP SMART command.
671
672 .I permissive
673 \- ignore failure(s) of \fBmandatory\fP SMART commands. This option
674 may be given more than once. Each additional use of this option will
675 cause one more additional failure to be ignored. Note that the use of
676 this option can lead to messages like "Feature X not supported",
677 followed shortly by "Feature X enable failed". In a few
678 such cases, contrary to the final message, Feature X \fBis\fP enabled.
679
680 .I verypermissive
681 \- equivalent to giving a large number of \'\-T permissive\' options:
682 ignore failures of \fBany number\fP of \fBmandatory\fP SMART commands.
683 Please see the note above.
684 .TP
685 .B \-b TYPE, \-\-badsum=TYPE
686 [ATA only] Specifies the action \fBsmartctl\fP should take if a checksum
687 error is detected in the: (1) Device Identity Structure, (2) SMART
688 Self-Test Log Structure, (3) SMART Attribute Value Structure, (4) SMART
689 Attribute Threshold Structure, or (5) ATA Error Log Structure.
690
691 The valid arguments to this option are:
692
693 .I warn
694 \- report the incorrect checksum but carry on in spite of it. This is the
695 default.
696
697 .I exit
698 \- exit \fBsmartctl\fP.
699
700 .I ignore
701 \- continue silently without issuing a warning.
702 .TP
703 .B \-r TYPE, \-\-report=TYPE
704 Intended primarily to help \fBsmartmontools\fP developers understand
705 the behavior of \fBsmartmontools\fP on non-conforming or poorly
706 conforming hardware. This option reports details of \fBsmartctl\fP
707 transactions with the device. The option can be used multiple times.
708 When used just once, it shows a record of the ioctl() transactions
709 with the device. When used more than once, the detail of these
710 ioctl() transactions are reported in greater detail. The valid
711 arguments to this option are:
712
713 .I ioctl
714 \- report all ioctl() transactions.
715
716 .I ataioctl
717 \- report only ioctl() transactions with ATA devices.
718
719 .I scsiioctl
720 \- report only ioctl() transactions with SCSI devices. Invoking this once
721 shows the SCSI commands in hex and the corresponding status. Invoking
722 it a second time adds a hex listing of the first 64 bytes of data send to,
723 or received from the device.
724
725 .\" %IF OS FreeBSD Linux Windows Cygwin
726 .I nvmeioctl
727 \- [FreeBSD, Linux, Windows and Cygwin only]
728 [NEW EXPERIMENTAL SMARTCTL FEATURE]
729 report only ioctl() transactions with NVMe devices.
730
731 .\" %ENDIF OS FreeBSD Linux Windows Cygwin
732 Any argument may include a positive integer to specify the level of detail
733 that should be reported. The argument should be followed by a comma then
734 the integer with no spaces. For example,
735 .I ataioctl,2
736 The default
737 level is 1, so \'\-r ataioctl,1\' and \'\-r ataioctl\' are equivalent.
738
739 For testing purposes, the output of \'\-r ataioctl,2\' can later be parsed
740 by \fBsmartctl\fP itself if \'\-\' is used as device path argument.
741 The ATA command input parameters, sector data and return values are
742 reconstructed from the debug report read from stdin.
743 Then \fBsmartctl\fP internally simulates an ATA device with the same
744 behaviour. This is does not work for SCSI devices yet.
745 .TP
746 .B \-n POWERMODE, \-\-nocheck=POWERMODE
747 [ATA only] Specifies if \fBsmartctl\fP should exit before performing any
748 checks when the device is in a low-power mode. It may be used to prevent
749 a disk from being spun-up by \fBsmartctl\fP. The power mode is ignored by
750 default. A nonzero exit status is returned if the device is in one of the
751 specified low-power modes (see EXIT STATUS below).
752
753 Note: If this option is used it may also be necessary to specify the device
754 type with the \'\-d\' option. Otherwise the device may spin up due to
755 commands issued during device type autodetection.
756
757 The valid arguments to this option are:
758
759 .I never
760 \- check the device always, but print the power mode if \'\-i\' is
761 specified.
762
763 .I sleep
764 \- check the device unless it is in SLEEP mode.
765
766 .I standby
767 \- check the device unless it is in SLEEP or STANDBY mode. In
768 these modes most disks are not spinning, so if you want to prevent
769 a disk from spinning up, this is probably what you want.
770
771 .I idle
772 \- check the device unless it is in SLEEP, STANDBY or IDLE mode.
773 In the IDLE state, most disks are still spinning, so this is probably
774 not what you want.
775
776 .TP
777 .B SMART FEATURE ENABLE/DISABLE COMMANDS:
778 .IP
779 .B Note:
780 if multiple options are used to both enable and disable a
781 feature, then
782 .B both
783 the enable and disable commands will be issued. The enable command
784 will always be issued
785 .B before
786 the corresponding disable command.
787 .TP
788 .B \-s VALUE, \-\-smart=VALUE
789 Enables or disables SMART on device. The valid arguments to
790 this option are \fIon\fP and \fIoff\fP. Note that the command \'\-s on\'
791 (perhaps used with with the \'\-o on\' and \'\-S on\' options) should be
792 placed in a start-up script for your machine, for example in rc.local or
793 rc.sysinit. In principle the SMART feature settings are preserved over
794 power-cycling, but it doesn\'t hurt to be sure. It is not necessary (or
795 useful) to enable SMART to see the TapeAlert messages.
796 .TP
797 .B \-o VALUE, \-\-offlineauto=VALUE
798 [ATA only] Enables or disables SMART automatic offline test, which scans the
799 drive every four hours for disk defects. This command can be given during
800 normal system operation. The valid arguments to this option are \fIon\fP
801 and \fIoff\fP.
802
803 Note that the SMART automatic offline test command is listed as
804 "Obsolete" in every version of the ATA and ATA/ATAPI Specifications.
805 It was originally part of the SFF-8035i Revision 2.0 specification,
806 but was never part of any ATA specification. However it is
807 implemented and used by many vendors.
808 You can tell if automatic offline testing is supported by seeing if
809 this command enables and disables it, as indicated by the \'Auto
810 Offline Data Collection\' part of the SMART capabilities report
811 (displayed with \'\-c\').
812
813 SMART provides \fBthree\fP basic categories of testing. The
814 \fBfirst\fP category, called "online" testing, has no effect on the
815 performance of the device. It is turned on by the \'\-s on\' option.
816
817 The \fBsecond\fP category of testing is called "offline" testing. This
818 type of test can, in principle, degrade the device performance. The
819 \'\-o on\' option causes this offline testing to be carried out,
820 automatically, on a regular scheduled basis. Normally, the disk will
821 suspend offline testing while disk accesses are taking place, and then
822 automatically resume it when the disk would otherwise be idle, so in
823 practice it has little effect. Note that a one-time offline test can
824 also be carried out immediately upon receipt of a user command. See
825 the \'\-t offline\' option below, which causes a one-time offline test
826 to be carried out immediately.
827
828 The choice (made by the SFF-8035i and ATA specification authors) of
829 the word \fItesting\fP for these first two categories is unfortunate,
830 and often leads to confusion. In fact these first two categories of
831 online and offline testing could have been more accurately described
832 as online and offline \fBdata collection\fP.
833
834 The results of this automatic or immediate offline testing (data
835 collection) are reflected in the values of the SMART Attributes.
836 Thus, if problems or errors are detected, the values of these
837 Attributes will go below their failure thresholds; some types of
838 errors may also appear in the SMART error log. These are visible with
839 the \'\-A\' and \'\-l error\' options respectively.
840
841 Some SMART attribute values are updated only during off-line data
842 collection activities; the rest are updated during normal operation of
843 the device or during both normal operation and off-line testing. The
844 Attribute value table produced by the \'\-A\' option indicates this in
845 the UPDATED column. Attributes of the first type are labeled
846 "Offline" and Attributes of the second type are labeled "Always".
847
848 The \fBthird\fP category of testing (and the \fIonly\fP category for
849 which the word \'testing\' is really an appropriate choice) is "self"
850 testing. This third type of test is only performed (immediately) when
851 a command to run it is issued. The \'\-t\' and \'\-X\' options can be
852 used to carry out and abort such self-tests; please see below for
853 further details.
854
855 Any errors detected in the self testing will be shown in the
856 SMART self-test log, which can be examined using the \'\-l selftest\'
857 option.
858
859 \fBNote:\fP in this manual page, the word \fB"Test"\fP is used in
860 connection with the second category just described, e.g. for the
861 "offline" testing. The words \fB"Self-test"\fP are used in
862 connection with the third category.
863 .TP
864 .B \-S VALUE, \-\-saveauto=VALUE
865 [ATA] Enables or disables SMART autosave of device vendor-specific
866 Attributes. The valid arguments to this option are \fIon\fP
867 and \fIoff\fP. Note that this feature is preserved across disk power
868 cycles, so you should only need to issue it once.
869
870 The ATA standard does not specify a method to check whether SMART
871 autosave is enabled. Unlike SCSI (below), smartctl is unable to print
872 a warning if autosave is disabled.
873
874 [SCSI] For SCSI devices this toggles the value of the Global Logging
875 Target Save Disabled (GLTSD) bit in the Control Mode Page. Some disk
876 manufacturers set this bit by default. This prevents error counters,
877 power-up hours and other useful data from being placed in non-volatile
878 storage, so these values may be reset to zero the next time the device
879 is power-cycled. If the GLTSD bit is set then \'smartctl \-a\' will
880 issue a warning. Use \fIon\fP to clear the GLTSD bit and thus enable
881 saving counters to non-volatile storage. For extreme streaming-video
882 type applications you might consider using \fIoff\fP to set the GLTSD
883 bit.
884 .TP
885 .B \-g NAME, \-\-get=NAME, \-s NAME[,VALUE], \-\-set=NAME[,VALUE]
886 Gets/sets non-SMART device settings.
887 Note that the \'\-\-set\' option shares its short option \'\-s\' with
888 \'\-\-smart\'. Valid arguments are:
889
890 .I all
891 \- Gets all values. This is equivalent to
892 .nf
893 \'-g aam -g apm -g lookahead -g security -g wcache\'
894 .fi
895
896 .I aam[,N|off]
897 \- [ATA only] Gets/sets the Automatic Acoustic Management (AAM) feature
898 (if supported). A value of 128 sets the most quiet (slowest) mode and 254
899 the fastest (loudest) mode, \'off\' disables AAM. Devices may support
900 intermediate levels. Values below 128 are defined as vendor specific (0)
901 or retired (1 to 127). Note that the AAM feature was declared obsolete in
902 ATA ACS-2 Revision 4a (Dec 2010).
903
904 .I apm[,N|off]
905 \- [ATA only] Gets/sets the Advanced Power Management (APM) feature on
906 device (if supported). If a value between 1 and 254 is provided, it will
907 attempt to enable APM and set the specified value, \'off\' disables APM.
908 Note the actual behavior depends on the drive, for example some drives disable
909 APM if their value is set above 128. Values below 128 are supposed to allow
910 drive spindown, values 128 and above adjust only head-parking frequency,
911 although the actual behavior defined is also vendor-specific.
912
913 .I lookahead[,on|off]
914 \- [ATA only] Gets/sets the read look-ahead feature (if supported).
915 Read look-ahead is usually enabled by default.
916
917 .I security
918 \- [ATA only] Gets the status of ATA Security feature (if supported).
919 If ATA Security is enabled an ATA user password is set. The drive will be
920 locked on next reset then.
921
922 .I security-freeze
923 \- [ATA only] Sets ATA Security feature to frozen mode. This prevents that
924 the drive accepts any security commands until next reset. Note that the
925 frozen mode may already be set by BIOS or OS.
926
927 .I standby,[N|off]
928 \- [ATA only] Sets the standby (spindown) timer and places the drive in the
929 IDLE mode. A value of 0 or \'off\' disables the standby timer.
930 Values from 1 to 240 specify timeouts from 5 seconds to 20 minutes in 5
931 second increments. Values from 241 to 251 specify timeouts from 30 minutes
932 to 330 minutes in 30 minute increments. Value 252 specifies 21 minutes.
933 Value 253 specifies a vendor specific time between 8 and 12 hours. Value
934 255 specifies 21 minutes and 15 seconds. Some drives may use a vendor
935 specific interpretation for the values. Note that there is no get option
936 because ATA standards do not specify a method to read the standby timer.
937
938 .I standby,now
939 \- [ATA only] Places the drive in the STANDBY mode. This usually spins down
940 the drive. The setting of the standby timer is not affected.
941
942 .I wcache[,on|off]
943 \- [ATA] Gets/sets the volatile write cache feature (if supported).
944 The write cache is usually enabled by default.
945
946 .I wcache[,on|off]
947 \- [SCSI] Gets/sets the \'Write Cache Enable\' (WCE) bit (if supported).
948 The write cache is usually enabled by default.
949
950 .I wcreorder[,on|off]
951 \- [ATA only] Gets/sets Write Cache Reordering.
952 If it is disabled (off), disk write scheduling is executed on a
953 first-in-first-out (FIFO) basis. If Write Cache Reordering is enabled (on),
954 then disk write scheduling may be reordered by the drive. If write cache is
955 disabled, the current Write Cache Reordering state is remembered but has
956 no effect on non-cached writes, which are always written in the order received.
957 The state of Write Cache Reordering has no effect on either NCQ or LCQ queued
958 commands.
959
960 .I rcache[,on|off]
961 \- [SCSI only] Gets/sets the \'Read Cache Disable\' (RCE) bit.
962 \'Off\' value disables read cache (if supported).
963 The read cache is usually enabled by default.
964
965 .TP
966 .B SMART READ AND DISPLAY DATA OPTIONS:
967 .TP
968 .B \-H, \-\-health
969 Prints the health status of the device or pending TapeAlert messages.
970
971 If the device reports failing health status, this means
972 .B either
973 that the device has already failed,
974 .B or
975 that it is predicting its own failure within the next 24 hours. If
976 this happens, use the \'\-a\' option to get more information, and
977 .B get your data off the disk and to someplace safe as soon as you can.
978
979 [ATA] Health status is obtained by checking the (boolean) result returned
980 by the SMART RETURN STATUS command.
981 The return value of this ATA command may be unknown due to limitations or
982 bugs in some layer (e.g. RAID controller or USB bridge firmware) between
983 disk and operating system.
984 In this case, \fBsmartctl\fP prints a warning and checks whether any
985 Prefailure SMART Attribute value is less than or equal to its threshold
986 (see \'\-A\' below).
987
988 [SCSI] Health status is obtained by checking the Additional Sense Code
989 (ASC) and Additional Sense Code Qualifier (ASCQ) from Informal Exceptions
990 (IE) log page (if supported) and/or from SCSI sense data.
991
992 [SCSI tape drive or changer] TapeAlert status is obtained by reading the
993 TapeAlert log page.
994 Please note that the TapeAlert log page flags are cleared for the initiator
995 when the page is read.
996 This means that each alert condition is reported only once by \fBsmartctl\fP
997 for each initiator for each activation of the condition.
998 .\" %IF OS FreeBSD Linux Windows Cygwin
999
1000 [NVMe] [FreeBSD, Linux, Windows and Cygwin only]
1001 [NEW EXPERIMENTAL SMARTCTL FEATURE]
1002 NVMe status is obtained by reading the "Critical Warning" byte from
1003 the SMART/Health Information log.
1004 .\" %ENDIF OS FreeBSD Linux Windows Cygwin
1005 .TP
1006 .B \-c, \-\-capabilities
1007 [ATA] Prints only the generic SMART capabilities. These
1008 show what SMART features are implemented and how the device will
1009 respond to some of the different SMART commands. For example it
1010 shows if the device logs errors, if it supports offline surface
1011 scanning, and so on. If the device can carry out self-tests, this
1012 option also shows the estimated time required to run those tests.
1013
1014 Note that the time required to run the Self-tests (listed in minutes)
1015 are fixed. However the time required to run the Immediate Offline
1016 Test (listed in seconds) is variable. This means that if you issue a
1017 command to perform an Immediate Offline test with the \'\-t offline\' option,
1018 then the time may jump to a larger value and then count down as the
1019 Immediate Offline Test is carried out. Please see REFERENCES below
1020 for further information about the the flags and capabilities described
1021 by this option.
1022 .\" %IF OS FreeBSD Linux Windows Cygwin
1023
1024 [NVMe] [FreeBSD, Linux, Windows and Cygwin only]
1025 [NEW EXPERIMENTAL SMARTCTL FEATURE]
1026 Prints various NVMe device capabilities obtained from the Identify Controller
1027 and the Identify Namespace data structure.
1028 .\" %ENDIF OS FreeBSD Linux Windows Cygwin
1029 .TP
1030 .B \-A, \-\-attributes
1031 [ATA] Prints only the vendor specific SMART Attributes. The Attributes
1032 are numbered from 1 to 253 and have specific names and ID numbers. For
1033 example Attribute 12 is "power cycle count": how many times has the
1034 disk been powered up.
1035
1036 Each Attribute has a "Raw" value, printed under the heading
1037 "RAW_VALUE", and a "Normalized" value printed under the heading
1038 "VALUE". [Note: \fBsmartctl\fP prints these values in base-10.] In
1039 the example just given, the "Raw Value" for Attribute 12 would be the
1040 actual number of times that the disk has been power-cycled, for
1041 example 365 if the disk has been turned on once per day for exactly
1042 one year. Each vendor uses their own algorithm to convert this "Raw"
1043 value to a "Normalized" value in the range from 1 to 254. Please keep
1044 in mind that \fBsmartctl\fP only reports the different Attribute
1045 types, values, and thresholds as read from the device. It does
1046 \fBnot\fP carry out the conversion between "Raw" and "Normalized"
1047 values: this is done by the disk\'s firmware.
1048
1049 The conversion from Raw value to a quantity with physical units is
1050 not specified by the SMART standard. In most cases, the values printed
1051 by \fBsmartctl\fP are sensible. For example the temperature Attribute
1052 generally has its raw value equal to the temperature in Celsius.
1053 However in some cases vendors use unusual conventions. For example
1054 the Hitachi disk on my laptop reports its power-on hours in minutes,
1055 not hours. Some IBM disks track three temperatures rather than one, in
1056 their raw values. And so on.
1057
1058 Each Attribute also has a Threshold value (whose range is 0 to 255)
1059 which is printed under the heading "THRESH". If the Normalized value
1060 is \fBless than or equal to\fP the Threshold value, then the Attribute
1061 is said to have failed. If the Attribute is a pre-failure Attribute,
1062 then disk failure is imminent.
1063
1064 Each Attribute also has a "Worst" value shown under the heading
1065 "WORST". This is the smallest (closest to failure) value that the
1066 disk has recorded at any time during its lifetime when SMART was
1067 enabled. [Note however that some vendors firmware may actually
1068 \fBincrease\fP the "Worst" value for some "rate-type" Attributes.]
1069
1070 The Attribute table printed out by \fBsmartctl\fP also shows the
1071 "TYPE" of the Attribute. Attributes are one of two possible types:
1072 Pre-failure or Old age. Pre-failure Attributes are ones which, if
1073 less than or equal to their threshold values, indicate pending disk
1074 failure. Old age, or usage Attributes, are ones which indicate
1075 end-of-product life from old-age or normal aging and wearout, if
1076 the Attribute value is less than or equal to the threshold. \fBPlease
1077 note\fP: the fact that an Attribute is of type 'Pre-fail' does
1078 \fBnot\fP mean that your disk is about to fail! It only has this
1079 meaning if the Attribute\'s current Normalized value is less than or
1080 equal to the threshold value.
1081
1082 If the Attribute\'s current Normalized value is less than or equal to
1083 the threshold value, then the "WHEN_FAILED" column will display
1084 "FAILING_NOW". If not, but the worst recorded value is less than or
1085 equal to the threshold value, then this column will display
1086 "In_the_past". If the "WHEN_FAILED" column has no entry (indicated by
1087 a dash: \'\-\') then this Attribute is OK now (not failing) and has
1088 also never failed in the past.
1089
1090 The table column labeled "UPDATED" shows if the SMART Attribute values
1091 are updated during both normal operation and off-line testing, or
1092 only during offline testing. The former are labeled "Always" and the
1093 latter are labeled "Offline".
1094
1095 So to summarize: the Raw Attribute values are the ones that might have
1096 a real physical interpretation, such as "Temperature Celsius",
1097 "Hours", or "Start-Stop Cycles". Each manufacturer converts these,
1098 using their detailed knowledge of the disk\'s operations and failure
1099 modes, to Normalized Attribute values in the range 1\-254. The
1100 current and worst (lowest measured) of these Normalized Attribute
1101 values are stored on the disk, along with a Threshold value that the
1102 manufacturer has determined will indicate that the disk is going to
1103 fail, or that it has exceeded its design age or aging limit.
1104 \fBsmartctl\fP does \fBnot\fP calculate any of the Attribute values,
1105 thresholds, or types, it merely reports them from the SMART data on
1106 the device.
1107
1108 Note that starting with ATA/ATAPI-4, revision 4, the meaning of these
1109 Attribute fields has been made entirely vendor-specific. However most
1110 newer ATA/SATA disks seem to respect their meaning, so we have retained
1111 the option of printing the Attribute values.
1112
1113 Solid-state drives use different meanings for some of the attributes.
1114 In this case the attribute name printed by smartctl is incorrect unless
1115 the drive is already in the smartmontools drive database.
1116
1117 [SCSI] For SCSI devices the "attributes" are obtained from the temperature
1118 and start-stop cycle counter log pages. Certain vendor specific
1119 attributes are listed if recognised. The attributes are output in a
1120 relatively free format (compared with ATA disk attributes).
1121 .\" %IF OS FreeBSD Linux Windows Cygwin
1122
1123 [NVMe] [FreeBSD, Linux, Windows and Cygwin only]
1124 [NEW EXPERIMENTAL SMARTCTL FEATURE]
1125 For NVMe devices the attributes are obtained from the SMART/Health
1126 Information log.
1127 .\" %ENDIF OS FreeBSD Linux Windows Cygwin
1128 .TP
1129 .B \-f FORMAT, \-\-format=FORMAT
1130 [ATA only] Selects the output format of the attributes:
1131
1132 .I old
1133 \- Old smartctl format. This is the default unless the \'\-x\' option is
1134 specified.
1135
1136 .I brief
1137 \- New format which fits into 80 colums (except in some rare cases).
1138 This format also decodes four additional attribute flags.
1139 This is the default if the '\-x\' option is specified.
1140
1141 .I hex,id
1142 \- Print all attribute IDs as hexadecimal numbers.
1143
1144 .I hex,val
1145 \- Print all normalized values as hexadecimal numbers.
1146
1147 .I hex
1148 \- Same as \'\-f hex,id \-f hex,val\'.
1149 .TP
1150 .B \-l TYPE, \-\-log=TYPE
1151 Prints either the SMART Error Log, the SMART Self-Test Log, the SMART
1152 Selective Self-Test Log [ATA only], the Log Directory [ATA only], or
1153 the Background Scan Results Log [SCSI only].
1154 The valid arguments to this option are:
1155
1156 .I error
1157 \- [ATA] prints the Summary SMART error log. SMART disks maintain a log
1158 of the most recent five non-trivial errors. For each of these errors, the
1159 disk power-on lifetime at which the error occurred is recorded, as is
1160 the device status (idle, standby, etc) at the time of the error. For
1161 some common types of errors, the Error Register (ER) and Status
1162 Register (SR) values are decoded and printed as text. The meanings of these
1163 are:
1164 .nf
1165 \fBABRT\fP: Command \fBAB\fPo\fBRT\fPed
1166 \fBAMNF\fP: \fBA\fPddress \fBM\fPark \fBN\fPot \fBF\fPound
1167 \fBCCTO\fP: \fBC\fPommand \fBC\fPompletion \fBT\fPimed \fBO\fPut
1168 \fBEOM\fP: \fBE\fPnd \fBO\fPf \fBM\fPedia
1169 \fBICRC\fP: \fBI\fPnterface \fBC\fPyclic \fBR\fPedundancy \fBC\fPode (CRC) error
1170 \fBIDNF\fP: \fBID\fPentity \fBN\fPot \fBF\fPound
1171 \fBILI\fP: (packet command-set specific)
1172 \fBMC\fP: \fBM\fPedia \fBC\fPhanged
1173 \fBMCR\fP: \fBM\fPedia \fBC\fPhange \fBR\fPequest
1174 \fBNM\fP: \fBN\fPo \fBM\fPedia
1175 \fBobs\fP: \fBobs\fPolete
1176 \fBTK0NF\fP: \fBT\fPrac\fBK 0 N\fPot \fBF\fPound
1177 \fBUNC\fP: \fBUNC\fPorrectable Error in Data
1178 \fBWP\fP: Media is \fBW\fPrite \fBP\fProtected
1179 .fi
1180 In addition, up to the last five commands that preceded the error are
1181 listed, along with a timestamp measured from the start of the
1182 corresponding power cycle. This is displayed in the form
1183 Dd+HH:MM:SS.msec where D is the number of days, HH is hours, MM is
1184 minutes, SS is seconds and msec is milliseconds. [Note: this time
1185 stamp wraps after 2^32 milliseconds, or 49 days 17 hours 2 minutes and
1186 47.296 seconds.] The key ATA disk registers are also recorded in the
1187 log. The final column of the error log is a text-string description
1188 of the ATA command defined by the Command Register (CR) and Feature
1189 Register (FR) values. Commands that are obsolete in the most current
1190 spec are listed like this: \fBREAD LONG (w/ retry) [OBS-4]\fP,
1191 indicating that the command became obsolete with or in the ATA-4
1192 specification. Similarly, the notation \fB[RET\-\fP\fIN\fP\fB]\fP is
1193 used to indicate that a command was retired in the ATA-\fIN\fP
1194 specification. Some commands are not defined in any version of the
1195 ATA specification but are in common use nonetheless; these are marked
1196 \fB[NS]\fP, meaning non-standard.
1197
1198 The ATA Specification (ATA ACS-2 Revision 7, Section A.7.1) says:
1199 \fB"Error log data structures shall include, but are not limited to,
1200 Uncorrectable errors, ID Not Found errors for which the LBA requested was
1201 valid, servo errors, and write fault errors. Error log data structures
1202 shall not include errors attributed to the receipt of faulty commands."\fP
1203 The definitions of these terms are:
1204 .br
1205 \fBUNC\fP (\fBUNC\fPorrectable): data is uncorrectable. This refers
1206 to data which has been read from the disk, but for which the Error
1207 Checking and Correction (ECC) codes are inconsistent. In effect, this
1208 means that the data can not be read.
1209 .br
1210 \fBIDNF\fP (\fBID N\fPot \fBF\fPound): user-accessible address could
1211 not be found. For READ LOG type commands, \fBIDNF\fP can also indicate
1212 that a device data log structure checksum was incorrect.
1213
1214 If the command that caused the error was a READ or WRITE command, then
1215 the Logical Block Address (LBA) at which the error occurred will be
1216 printed in base 10 and base 16. The LBA is a linear address, which
1217 counts 512-byte sectors on the disk, starting from zero. (Because of
1218 the limitations of the SMART error log, if the LBA is greater than
1219 0xfffffff, then either no error log entry will be made, or the error
1220 log entry will have an incorrect LBA. This may happen for drives with
1221 a capacity greater than 128 GiB or 137 GB.) On Linux systems the
1222 smartmontools web page has instructions about how to convert the LBA
1223 address to the name of the disk file containing the erroneous disk
1224 sector.
1225
1226 Please note that some manufacturers \fBignore\fP the ATA
1227 specifications, and make entries in the error log if the device
1228 receives a command which is not implemented or is not valid.
1229
1230 .I error
1231 \- [SCSI] prints the error counter log pages for reads, write and verifies.
1232 The verify row is only output if it has an element other than zero.
1233
1234 .\" %IF OS FreeBSD Linux Windows Cygwin
1235 .I error[,NUM]
1236 \- [NVMe] [FreeBSD, Linux, Windows and Cygwin only]
1237 [NEW EXPERIMENTAL SMARTCTL FEATURE]
1238 prints the NVMe Error Information log.
1239 Only the 16 most recent log entries are printed by default.
1240 This number can be changed by the optional parameter NUM.
1241 The maximum number of log entries is vendor specific
1242 (in the range from 1 to 256 inclusive).
1243
1244 .\" %ENDIF OS FreeBSD Linux Windows Cygwin
1245 .I xerror[,NUM][,error]
1246 \- [ATA only] prints the Extended Comprehensive SMART error log
1247 (General Purpose Log address 0x03). Unlike the Summary SMART error
1248 log (see \'\-l error\' above), it provides sufficient space to log
1249 the contents of the 48-bit LBA register set introduced with ATA-6.
1250 It also supports logs with more than one sector. Each sector holds
1251 up to 4 log entries. The actual number of log sectors is vendor
1252 specific.
1253
1254 Only the 8 most recent error log entries are printed by default.
1255 This number can be changed by the optional parameter NUM.
1256
1257 If ',error' is appended and the Extended Comprehensive SMART error
1258 log is not supported, the Summary SMART self-test log is printed.
1259
1260 Please note that recent drives may report errors only in the Extended
1261 Comprehensive SMART error log. The Summary SMART error log may be reported
1262 as supported but is always empty then.
1263
1264 .I selftest
1265 \- [ATA] prints the SMART self-test log. The disk maintains a self-test
1266 log showing the results of the self tests, which can be run using the
1267 \'\-t\' option described below. For each of the most recent
1268 twenty-one self-tests, the log shows the type of test (short or
1269 extended, off-line or captive) and the final status of the test. If
1270 the test did not complete successfully, then the percentage of the
1271 test remaining is shown. The time at which the test took place,
1272 measured in hours of disk lifetime, is also printed. [Note: this time
1273 stamp wraps after 2^16 hours, or 2730 days and 16 hours, or about 7.5
1274 years.] If any errors were detected, the Logical Block Address (LBA)
1275 of the first error is printed in decimal notation. On Linux systems the
1276 smartmontools web page has instructions about how to convert this LBA
1277 address to the name of the disk file containing the erroneous block.
1278
1279 .I selftest
1280 \- [SCSI] the self-test log for a SCSI device has a slightly different
1281 format than for an ATA device. For each of the most recent twenty
1282 self-tests, it shows the type of test and the status (final or in
1283 progress) of the test. SCSI standards use the terms "foreground" and
1284 "background" (rather than ATA\'s corresponding "captive" and
1285 "off-line") and "short" and "long" (rather than ATA\'s corresponding
1286 "short" and "extended") to describe the type of the test. The printed
1287 segment number is only relevant when a test fails in the third or
1288 later test segment. It identifies the test that failed and consists
1289 of either the number of the segment that failed during the test, or
1290 the number of the test that failed and the number of the segment in
1291 which the test was run, using a vendor-specific method of putting both
1292 numbers into a single byte. The Logical Block Address (LBA) of the
1293 first error is printed in hexadecimal notation. On Linux systems the
1294 smartmontools web page has instructions about how to convert this LBA
1295 address to the name of the disk file containing the erroneous block.
1296 If provided, the SCSI Sense Key (SK), Additional Sense Code (ASC) and
1297 Additional Sense Code Qualifier (ASQ) are also printed. The self tests
1298 can be run using the \'\-t\' option described below (using the ATA
1299 test terminology).
1300
1301 .I xselftest[,NUM][,selftest]
1302 \- [ATA only] prints the Extended SMART self-test log (General Purpose
1303 Log address 0x07). Unlike the SMART self-test log (see \'\-l selftest\'
1304 above), it supports 48-bit LBA and logs with more than one sector.
1305 Each sector holds up to 19 log entries. The actual number of log sectors
1306 is vendor specific.
1307
1308 Only the 25 most recent log entries are printed by default. This number
1309 can be changed by the optional parameter NUM.
1310
1311 If ',selftest' is appended and the Extended SMART self-test log is not
1312 supported, the old SMART self-test log is printed.
1313
1314 .I selective
1315 \- [ATA only] Please see the \'\-t select\' option below for a
1316 description of selective self-tests. The selective self-test log
1317 shows the start/end Logical Block Addresses (LBA) of each of the five
1318 test spans, and their current test status. If the span is being
1319 tested or the remainder of the disk is being read-scanned, the
1320 current 65536-sector block of LBAs being tested is also displayed.
1321 The selective self-test log also shows if a read-scan of the
1322 remainder of the disk will be carried out after the selective
1323 self-test has completed (see \'\-t afterselect\' option) and the time
1324 delay before restarting this read-scan if it is interrupted (see
1325 \'\-t pending\' option).
1326
1327 .I directory[,gs]
1328 \- [ATA only] if the device supports the General Purpose Logging feature
1329 set (ATA-6 and above) then this prints the Log Directory (the log at
1330 address 0). The Log Directory shows what logs are available and their
1331 length in sectors (512 bytes). The contents of the logs at address 1
1332 [Summary SMART error log] and at address 6 [SMART self-test log] may
1333 be printed using the previously-described
1334 .I error
1335 and
1336 .I selftest
1337 arguments to this option.
1338 If your version of smartctl supports 48-bit ATA commands, both the
1339 General Purpose Log (GPL) and SMART Log (SL) directories are printed in
1340 one combined table. The output can be restricted to the GPL directory or
1341 SL directory by \'\-l directory,q\' or \'\-l directory,s\' respectively.
1342
1343 .I background
1344 \- [SCSI only] the background scan results log outputs information derived
1345 from Background Media Scans (BMS) done after power up and/or periodically
1346 (e.g. every 24 hours) on recent SCSI disks. If supported, the BMS status
1347 is output first, indicating whether a background scan is currently
1348 underway (and if so a progress percentage), the amount of time the disk
1349 has been powered up and the number of scans already completed. Then there
1350 is a header and a line for each background scan "event". These will
1351 typically be either recovered or unrecoverable errors. That latter group
1352 may need some attention. There is a description of the background scan
1353 mechanism in section 4.18 of SBC-3 revision 6 (see www.t10.org ).
1354
1355 .I scttemp, scttempsts, scttemphist
1356 \- [ATA only] prints the disk temperature information provided by the
1357 SMART Command Transport (SCT) commands.
1358 The option \'scttempsts\' prints current temperature and temperature
1359 ranges returned by the SCT Status command, \'scttemphist\' prints
1360 temperature limits and the temperature history table returned by
1361 the SCT Data Table command, and \'scttemp\' prints both.
1362 The temperature values are preserved across power cycles.
1363 The logging interval can be configured with the
1364 \'\-l scttempint,N[,p]\' option, see below.
1365 The SCT commands were introduced in ATA8-ACS and were also
1366 supported by many ATA-7 disks.
1367
1368 .I scttempint,N[,p]
1369 \- [ATA only] clears the SCT temperature history table and sets the
1370 time interval for temperature logging to N minutes.
1371 If \',p\' is specified, the setting is preserved across power cycles.
1372 Otherwise, the setting is volatile and will be reverted to the last
1373 non-volatile setting by the next hard reset. The default interval
1374 is vendor specific, typical values are 1, 2, or 5 minutes.
1375
1376 .I scterc[,READTIME,WRITETIME]
1377 \- [ATA only] prints values and descriptions of the SCT Error Recovery
1378 Control settings. These are equivalent to TLER (as used by Western
1379 Digital), CCTL (as used by Samsung and Hitachi/HGST) and ERC (as used by
1380 Seagate). READTIME and WRITETIME arguments (deciseconds) set the
1381 specified values. Values of 0 disable the feature, other values less
1382 than 65 are probably not supported. For RAID configurations, this is
1383 typically set to 70,70 deciseconds.
1384
1385 .I devstat[,PAGE]
1386 \- [ATA only] prints values and descriptions of the ATA Device Statistics
1387 log pages (General Purpose Log address 0x04). If no PAGE number is specified,
1388 entries from all supported pages are printed. If PAGE 0 is specified,
1389 the list of supported pages is printed. Device Statistics was
1390 introduced in ACS-2 and is only supported by some recent devices.
1391
1392 .I sataphy[,reset]
1393 \- [SATA only] prints values and descriptions of the SATA Phy Event
1394 Counters (General Purpose Log address 0x11). If \'\-l sataphy,reset\'
1395 is specified, all counters are reset after reading the values.
1396 This also works for SATA devices with Packet interface like CD/DVD
1397 drives.
1398
1399 .I sasphy[,reset]
1400 \- [SAS (SCSI) only] prints values and descriptions of the SAS (SSP)
1401 Protocol Specific log page (log page 0x18). If \'\-l sasphy,reset\'
1402 is specified, all counters are reset after reading the values.
1403
1404 .I gplog,ADDR[,FIRST[\-LAST|+SIZE]]
1405 \- [ATA only] prints a hex dump of any log accessible via General
1406 Purpose Logging (GPL) feature. The log address ADDR is the hex address
1407 listed in the log directory (see \'\-l directory\' above).
1408 The range of log sectors (pages) can be specified by decimal values
1409 FIRST\-LAST or FIRST+SIZE. FIRST defaults to 0, SIZE defaults to 1.
1410 LAST can be set to \'max\' to specify the last page of the log.
1411
1412 .I smartlog,ADDR[,FIRST[\-LAST|+SIZE]]
1413 \- [ATA only] prints a hex dump of any log accessible via SMART Read
1414 Log command. See \'\-l gplog,...\' above for parameter syntax.
1415
1416 For example, all these commands:
1417 .nf
1418 smartctl \-l gplog,0x80,10-15 /dev/sda
1419 smartctl \-l gplog,0x80,10+6 /dev/sda
1420 smartctl \-l smartlog,0x80,10-15 /dev/sda
1421 .fi
1422 print pages 10-15 of log 0x80 (first host vendor specific log).
1423
1424 The hex dump format is compatible with the \'xxd \-r\' command.
1425 This command:
1426 .nf
1427 smartctl \-l gplog,0x11 /dev/sda | grep ^0 | xxd -r >log.bin
1428 .fi
1429 writes a binary representation of the one sector log 0x11
1430 (SATA Phy Event Counters) to file log.bin.
1431
1432 .\" %IF OS FreeBSD Linux Windows Cygwin
1433 .I nvmelog,PAGE,SIZE
1434 \- [NVMe only] [FreeBSD, Linux, Windows and Cygwin only]
1435 [NEW EXPERIMENTAL SMARTCTL FEATURE]
1436 prints a hex dump of the first SIZE bytes from the NVMe log with
1437 identifier PAGE.
1438 PAGE is a hexadecimal number in the range from 0x1 to 0xff.
1439 SIZE is a hexadecimal number in the range from 0x4 to 0x4000 (16 KiB).
1440 \fBWARNING: Do not specify the identifier of an unknown log page.
1441 Reading a log page may have undesirable side effects.\fP
1442
1443 .\" %ENDIF OS FreeBSD Linux Windows Cygwin
1444 .I ssd
1445 \- [ATA] prints the Solid State Device Statistics log page.
1446 This has the same effect as \'\-l devstat,7\', see above.
1447
1448 .I ssd
1449 \- [SCSI] prints the Solid State Media percentage used endurance
1450 indicator. A value of 0 indicates as new condition while 100
1451 indicates the device is at the end of its lifetime as projected by the
1452 manufacturer. The value may reach 255.
1453 .TP
1454 .B \-v ID,FORMAT[:BYTEORDER][,NAME], \-\-vendorattribute=ID,FORMAT[:BYTEORDER][,NAME]
1455 [ATA only] Sets a vendor-specific raw value print FORMAT, an optional
1456 BYTEORDER and an optional NAME for Attribute ID.
1457 This option may be used multiple times.
1458
1459 The Attribute ID can be in the range 1 to 255. If \'N\' is specified as
1460 ID, the settings for all Attributes are changed.
1461
1462 The optional BYTEORDER consists of 1 to 8 characters from the
1463 set \'012345rvwz\'. The characters \'0\' to \'5\' select the byte 0
1464 to 5 from the 48-bit raw value, \'r\' selects the reserved byte of
1465 the attribute data block, \'v\' selects the normalized value, \'w\'
1466 selects the worst value and \'z\' inserts a zero byte.
1467 The default BYTEORDER is \'543210\' for all 48-bit formats, \'r543210\'
1468 for the 54-bit formats, and \'543210wv\' for the 64-bit formats.
1469 For example, \'\-v 5,raw48:012345\' prints the raw value of
1470 attribute 5 with big endian instead of little endian
1471 byte ordering.
1472
1473 The NAME is a string of letters, digits and underscore. Its length should
1474 not exceed 23 characters. The \'\-P showall\' option reports an error if
1475 this is the case.
1476
1477 .I \-v help
1478 \- Prints (to STDOUT) a list of all valid arguments to this option,
1479 then exits.
1480
1481 Valid arguments for FORMAT are:
1482
1483 .I raw8
1484 \- Print the Raw value as six 8-bit unsigned base-10 integers.
1485 This may be useful for decoding the meaning of the Raw value.
1486
1487 .I raw16
1488 \- Print the Raw value as three 16-bit unsigned base-10 integers.
1489 This may be useful for decoding the meaning of the Raw value.
1490
1491 .I raw48
1492 \- Print the Raw value as a 48-bit unsigned base-10 integer.
1493 This is the default for most attributes.
1494
1495 .I hex48
1496 \- Print the Raw value as a 12 digit hexadecimal number.
1497 This may be useful for decoding the meaning of the Raw value.
1498
1499 .I raw56
1500 \- Print the Raw value as a 54-bit unsigned base-10 integer.
1501 This includes the reserved byte which follows the 48-bit raw value.
1502
1503 .I hex56
1504 \- Print the Raw value as a 14 digit hexadecimal number.
1505 This includes the reserved byte which follows the 48-bit raw value.
1506
1507 .I raw64
1508 \- Print the Raw value as a 64-bit unsigned base-10 integer.
1509 This includes two bytes from the normalized and worst attribute value.
1510 This raw format is used by some SSD devices with Indilinx controller.
1511
1512 .I hex64
1513 \- Print the Raw value as a 16 digit hexadecimal number.
1514 This includes two bytes from the normalized and worst attribute value.
1515 This raw format is used by some SSD devices with Indilinx controller.
1516
1517 .I min2hour
1518 \- Raw Attribute is power-on time in minutes. Its raw value
1519 will be displayed in the form "Xh+Ym". Here X is hours, and Y is
1520 minutes in the range 0\-59 inclusive. Y is always printed with two
1521 digits, for example "06" or "31" or "00".
1522
1523 .I sec2hour
1524 \- Raw Attribute is power-on time in seconds. Its raw value
1525 will be displayed in the form "Xh+Ym+Zs". Here X is hours, Y is
1526 minutes in the range 0\-59 inclusive, and Z is seconds in the range
1527 0\-59 inclusive. Y and Z are always printed with two digits, for
1528 example "06" or "31" or "00".
1529
1530 .I halfmin2hour
1531 \- Raw Attribute is power-on time, measured in units of 30
1532 seconds. This format is used by some Samsung disks. Its raw value
1533 will be displayed in the form "Xh+Ym". Here X is hours, and Y is
1534 minutes in the range 0\-59 inclusive. Y is always printed with two
1535 digits, for example "06" or "31" or "00".
1536
1537 .I msec24hour32
1538 \- Raw Attribute is power-on time measured in 32-bit hours and 24-bit
1539 milliseconds since last hour update. It will be displayed in the form
1540 "Xh+Ym+Z.Ms". Here X is hours, Y is minutes, Z is seconds and M is
1541 milliseconds.
1542
1543 .I tempminmax
1544 \- Raw Attribute is the disk temperature in Celsius. Info about
1545 Min/Max temperature is printed if available. This is the default
1546 for Attributes 190 and 194. The recording interval (lifetime,
1547 last power cycle, last soft reset) of the min/max values is device
1548 specific.
1549
1550 .I temp10x
1551 \- Raw Attribute is ten times the disk temperature in Celsius.
1552
1553 .I raw16(raw16)
1554 \- Print the raw attribute as a 16-bit value and two optional
1555 16-bit values if these words are nonzero. This is the default
1556 for Attributes 5 and 196.
1557
1558 .I raw16(avg16)
1559 \- Raw attribute is spin-up time. It is printed as a 16-bit value
1560 and an optional "Average" 16-bit value if the word is nonzero.
1561 This is the default for Attribute 3.
1562
1563 .I raw24(raw8)
1564 \- Print the raw attribute as a 24-bit value and three optional
1565 8-bit values if these bytes are nonzero. This is the default
1566 for Attribute 9.
1567
1568 .I raw24/raw24
1569 \- Raw Attribute contains two 24-bit values. The first is the
1570 number of load cycles. The second is the number of unload cycles.
1571 The difference between these two values is the number of times that
1572 the drive was unexpectedly powered off (also called an emergency
1573 unload). As a rule of thumb, the mechanical stress created by one
1574 emergency unload is equivalent to that created by one hundred normal
1575 unloads.
1576
1577 .I raw24/raw32
1578 \- Raw attribute is an error rate which consists of a 24-bit error
1579 count and a 32-bit total count.
1580
1581 The following old arguments to \'\-v\' are also still valid:
1582
1583 .I 9,minutes
1584 \- same as:
1585 .I 9,min2hour,Power_On_Minutes.
1586
1587 .I 9,seconds
1588 \- same as:
1589 .I 9,sec2hour,Power_On_Seconds.
1590
1591 .I 9,halfminutes
1592 \- same as:
1593 .I 9,halfmin2hour,Power_On_Half_Minutes.
1594
1595 .I 9,temp
1596 \- same as:
1597 .I 9,tempminmax,Temperature_Celsius.
1598
1599 .I 192,emergencyretractcyclect
1600 \- same as:
1601 .I 192,raw48,Emerg_Retract_Cycle_Ct
1602
1603 .I 193,loadunload
1604 \- same as:
1605 .I 193,raw24/raw24.
1606
1607 .I 194,10xCelsius
1608 \- same as:
1609 .I 194,temp10x,Temperature_Celsius_x10.
1610
1611 .I 194,unknown
1612 \- same as:
1613 .I 194,raw48,Unknown_Attribute.
1614
1615 .I 197,increasing
1616 \- same as:
1617 .I 197,raw48,Total_Pending_Sectors.
1618 Also means that Attribute number 197 (Current Pending Sector Count)
1619 is not reset if uncorrectable sectors are reallocated
1620 (see \fBsmartd.conf\fP(5) man page).
1621
1622 .I 198,increasing
1623 \- same as:
1624 .I 198,raw48,Total_Offl_Uncorrectabl.
1625 Also means that Attribute number 198 (Offline Uncorrectable Sector Count)
1626 is not reset if uncorrectable sectors are reallocated
1627 (see \fBsmartd.conf\fP(5) man page).
1628
1629 .I 198,offlinescanuncsectorct
1630 \- same as:
1631 .I 198,raw48,Offline_Scan_UNC_SectCt.
1632
1633 .I 200,writeerrorcount
1634 \- same as:
1635 .I 200,raw48,Write_Error_Count.
1636
1637 .I 201,detectedtacount
1638 \- same as:
1639 .I 201,raw48,Detected_TA_Count.
1640
1641 .I 220,temp
1642 \- same as:
1643 .I 220,tempminmax,Temperature_Celsius.
1644 .TP
1645 .B \-F TYPE, \-\-firmwarebug=TYPE
1646 [ATA only] Modifies the behavior of \fBsmartctl\fP to compensate for some
1647 known and understood device firmware or driver bug. This option may be used
1648 multiple times. The valid arguments are:
1649
1650 .I none
1651 \- Assume that the device firmware obeys the ATA specifications. This
1652 is the default, unless the device has presets for \'\-F\' in the
1653 drive database. Using this option on the command line will override any
1654 preset values.
1655
1656 .I nologdir
1657 \- Suppresses read attempts of SMART or GP Log Directory.
1658 Support for all standard logs is assumed without an actual check.
1659 Some Intel SSDs may freeze if log address 0 is read.
1660
1661 .I samsung
1662 \- In some Samsung disks (example: model SV4012H Firmware Version:
1663 RM100-08) some of the two- and four-byte quantities in the SMART data
1664 structures are byte-swapped (relative to the ATA specification).
1665 Enabling this option tells \fBsmartctl\fP to evaluate these quantities
1666 in byte-reversed order. Some signs that your disk needs this option
1667 are (1) no self-test log printed, even though you have run self-tests;
1668 (2) very large numbers of ATA errors reported in the ATA error log;
1669 (3) strange and impossible values for the ATA error log timestamps.
1670
1671 .I samsung2
1672 \- In some Samsung disks the number of ATA errors reported is byte swapped.
1673 Enabling this option tells \fBsmartctl\fP to evaluate this quantity in
1674 byte-reversed order. An indication that your Samsung disk needs this
1675 option is that the self-test log is printed correctly, but there are a
1676 very large number of errors in the SMART error log. This is because
1677 the error count is byte swapped. Thus a disk with five errors
1678 (0x0005) will appear to have 20480 errors (0x5000).
1679
1680 .I samsung3
1681 \- Some Samsung disks (at least SP2514N with Firmware VF100-37) report
1682 a self-test still in progress with 0% remaining when the test was already
1683 completed. Enabling this option modifies the output of the self-test
1684 execution status (see options \'\-c\' or \'\-a\' above) accordingly.
1685
1686 .I xerrorlba
1687 \- Fixes LBA byte ordering in Extended Comprehensive SMART error log.
1688 Some disks use little endian byte ordering instead of ATA register
1689 ordering to specifiy the LBA addresses in the log entries.
1690
1691 .I swapid
1692 \- Fixes byte swapped ATA identify strings (device name, serial number,
1693 firmware version) returned by some buggy device drivers.
1694 .TP
1695 .B \-P TYPE, \-\-presets=TYPE
1696 [ATA only] Specifies whether \fBsmartctl\fP should use any preset options
1697 that are available for this drive. By default, if the drive is recognized
1698 in the \fBsmartmontools\fP database, then the presets are used.
1699
1700 The argument
1701 .I show
1702 will show any preset options for your drive and the argument
1703 .I showall
1704 will show all known drives in the \fBsmartmontools\fP database, along
1705 with their preset options. If there are no presets for your drive and
1706 you think there should be (for example, a \-v or \-F option is needed
1707 to get \fBsmartctl\fP to display correct values) then please contact
1708 the \fBsmartmontools\fP developers so that this information can be
1709 added to the \fBsmartmontools\fP database. Contact information is at the
1710 end of this man page.
1711
1712 The valid arguments to this option are:
1713
1714 .I use
1715 \- if a drive is recognized, then use the stored presets for it. This
1716 is the default. Note that presets will NOT override additional
1717 Attribute interpretation (\'\-v N,something\') command-line options or
1718 explicit \'\-F\' command-line options..
1719
1720 .I ignore
1721 \- do not use presets.
1722
1723 .I show
1724 \- show if the drive is recognized in the database, and if so, its
1725 presets, then exit.
1726
1727 .I showall
1728 \- list all recognized drives, and the presets that are set for them,
1729 then exit. This also checks the drive database regular expressions
1730 and settings for syntax errors.
1731
1732 The \'\-P showall\' option takes up to two optional arguments to
1733 match a specific drive type and firmware version. The command:
1734 .nf
1735 smartctl \-P showall
1736 .fi
1737 lists all entries, the command:
1738 .nf
1739 smartctl \-P showall \'MODEL\'
1740 .fi
1741 lists all entries matching MODEL, and the command:
1742 .nf
1743 smartctl \-P showall \'MODEL\' \'FIRMWARE\'
1744 .fi
1745 lists all entries for this MODEL and a specific FIRMWARE version.
1746 .TP
1747 .B \-B [+]FILE, \-\-drivedb=[+]FILE
1748 [ATA only] Read the drive database from FILE. The new database replaces
1749 the built in database by default. If \'+\' is specified, then the new
1750 entries prepend the built in entries.
1751
1752 Optional entries are read from the file
1753 .\" %IF NOT OS Windows
1754 \fB/usr/local/etc/smart_drivedb.h\fP
1755 .\" %ENDIF NOT OS Windows
1756 .\" %IF OS ALL
1757 (Windows: \fBEXEDIR/drivedb-add.h\fP)
1758 .\" %ENDIF OS ALL
1759 .\" %IF OS Windows
1760 .\"! \fBEXEDIR/drivedb-add.h\fP.
1761 .\" %ENDIF OS Windows
1762 .\" %IF ENABLE_DRIVEDB
1763 if this option is not specified.
1764
1765 If
1766 .\" %IF NOT OS Windows
1767 \fB/usr/local/share/smartmontools/drivedb.h\fP
1768 .\" %ENDIF NOT OS Windows
1769 .\" %IF OS ALL
1770 (Windows: \fBEXEDIR/drivedb.h\fP)
1771 .\" %ENDIF OS ALL
1772 .\" %IF OS Windows
1773 .\"! \fBEXEDIR/drivedb.h\fP
1774 .\" %ENDIF OS Windows
1775 is present, the contents of this file is used instead of the built in table.
1776 .\" %IF ENABLE_UPDATE_SMART_DRIVEDB
1777
1778 Run
1779 .\" %IF NOT OS Windows
1780 \fB/usr/local/sbin/update-smart-drivedb\fP
1781 .\" %ENDIF NOT OS Windows
1782 .\" %IF OS ALL
1783 (Windows: \fBEXEDIR/update-smart-drivedb.exe\fP)
1784 .\" %ENDIF OS ALL
1785 .\" %IF OS Windows
1786 .\"! \fBEXEDIR/update-smart-drivedb.exe\fP
1787 .\" %ENDIF OS Windows
1788 to update this file from the smartmontools SVN repository.
1789 .\" %ENDIF ENABLE_UPDATE_SMART_DRIVEDB
1790 .\" %ENDIF ENABLE_DRIVEDB
1791
1792 The database files use the same C/C++ syntax that is used to initialize
1793 the built in database array. C/C++ style comments are allowed.
1794 Example:
1795
1796 .nf
1797 /* Full entry: */
1798 {
1799 "Model family", // Info about model family/series.
1800 "MODEL1.*REGEX", // Regular expression to match model of device.
1801 "VERSION.*REGEX", // Regular expression to match firmware version(s).
1802 "Some warning", // Warning message.
1803 "\-v 9,minutes" // String of preset \-v and \-F options.
1804 },
1805 /* Minimal entry: */
1806 {
1807 "", // No model family/series info.
1808 "MODEL2.*REGEX", // Regular expression to match model of device.
1809 "", // All firmware versions.
1810 "", // No warning.
1811 "" // No options preset.
1812 },
1813 /* USB ID entry: */
1814 {
1815 "USB: Device; Bridge", // Info about USB device and bridge name.
1816 "0x1234:0xabcd", // Regular expression to match vendor:product ID.
1817 "0x0101", // Regular expression to match bcdDevice.
1818 "", // Not used.
1819 "\-d sat" // String with device type option.
1820 },
1821 /* ... */
1822 .fi
1823
1824 .TP
1825 .B SMART RUN/ABORT OFFLINE TEST AND self-test OPTIONS:
1826 .TP
1827 .B \-t TEST, \-\-test=TEST
1828 Executes TEST immediately. The \'\-C\' option can be used in
1829 conjunction with this option to run the short or long (and also for
1830 ATA devices, selective or conveyance) self-tests in captive mode
1831 (known as "foreground mode" for SCSI devices). Note that only one
1832 test type can be run at a time, so only one test type should be
1833 specified per command line. Note also that if a computer is shutdown
1834 or power cycled during a self-test, no harm should result. The
1835 self-test will either be aborted or will resume automatically.
1836
1837 All \'\-t TEST\' commands can be given during normal system operation
1838 unless captive mode (\'\-C\' option) is used.
1839 A running self-test can, however, degrade performance of the drive.
1840 Frequent I/O requests from the operating system increase the duration
1841 of a test. These impacts may vary from device to device.
1842
1843 If a test failure occurs then the device may discontinue the testing
1844 and report the result immediately.
1845
1846 The valid arguments to this option are:
1847
1848 .I offline
1849 \- [ATA] runs SMART Immediate Offline Test. This immediately
1850 starts the test described above. This command can be given during
1851 normal system operation. The effects of this test are visible only in
1852 that it updates the SMART Attribute values, and if errors are
1853 found they will appear in the SMART error log, visible with the \'\-l error\'
1854 option.
1855
1856 If the \'\-c\' option to \fBsmartctl\fP shows that the device has the
1857 "Suspend Offline collection upon new command" capability then you can
1858 track the progress of the Immediate Offline test using the \'\-c\'
1859 option to \fBsmartctl\fP. If the \'\-c\' option show that the device
1860 has the "Abort Offline collection upon new command" capability then
1861 most commands will abort the Immediate Offline Test, so you should not
1862 try to track the progress of the test with \'\-c\', as it will abort
1863 the test.
1864
1865 .I offline
1866 \- [SCSI] runs the default self test in foreground. No entry is placed
1867 in the self test log.
1868
1869 .I short
1870 \- [ATA] runs SMART Short Self Test (usually under ten minutes).
1871 This command can be given during normal system operation (unless run in
1872 captive mode \- see the \'\-C\' option below). This is a
1873 test in a different category than the immediate or automatic offline
1874 tests. The "Self" tests check the electrical and mechanical
1875 performance as well as the read performance of the disk. Their
1876 results are reported in the Self Test Error Log, readable with
1877 the \'\-l selftest\' option. Note that on some disks the progress of the
1878 self-test can be monitored by watching this log during the self-test; with other disks
1879 use the \'\-c\' option to monitor progress.
1880
1881 .I short
1882 \- [SCSI] runs the "Background short" self-test.
1883
1884 .I long
1885 \- [ATA] runs SMART Extended Self Test (tens of minutes). This is a
1886 longer and more thorough version of the Short Self Test described
1887 above. Note that this command can be given during normal
1888 system operation (unless run in captive mode \- see the \'\-C\' option below).
1889
1890 .I long
1891 \- [SCSI] runs the "Background long" self-test.
1892
1893 .I conveyance
1894 \- [ATA only] runs a SMART Conveyance Self Test (minutes). This
1895 self-test routine is intended to identify damage incurred during
1896 transporting of the device. This self-test routine should take on the
1897 order of minutes to complete. Note that this command can be given
1898 during normal system operation (unless run in captive mode \- see the
1899 \'\-C\' option below).
1900
1901 .I select,N\-M, select,N+SIZE
1902 \- [ATA only] runs a SMART Selective Self Test, to test a \fBrange\fP
1903 of disk Logical Block Addresses (LBAs), rather than the entire disk.
1904 Each range of LBAs that is checked is called a "span" and is specified
1905 by a starting LBA (N) and an ending LBA (M) with N less than or equal
1906 to M. The range can also be specified as N+SIZE. A span at the end of
1907 a disk can be specified by N\-\fBmax\fP.
1908
1909 For example the commands:
1910 .nf
1911 smartctl \-t select,10\-20 /dev/sda
1912 smartctl \-t select,10+11 /dev/sda
1913 .fi
1914 both runs a self test on one span consisting of LBAs ten to twenty
1915 (inclusive). The command:
1916 .nf
1917 smartctl \-t select,100000000\-max /dev/sda
1918 .fi
1919 run a self test from LBA 100000000 up to the end of the disk.
1920 The \'\-t\' option can be given up to five times, to test
1921 up to five spans. For example the command:
1922 .nf
1923 smartctl \-t select,0\-100 \-t select,1000\-2000 /dev/sda
1924 .fi
1925 runs a self test on two spans. The first span consists of 101 LBAs
1926 and the second span consists of 1001 LBAs. Note that the spans can
1927 overlap partially or completely, for example:
1928 .nf
1929 smartctl \-t select,0\-10 \-t select,5\-15 \-t select,10\-20 /dev/sda
1930 .fi
1931 The results of the selective self-test can be obtained (both during
1932 and after the test) by printing the SMART self-test log, using the
1933 \'\-l selftest\' option to smartctl.
1934
1935 Selective self tests are particularly useful as disk capacities
1936 increase: an extended self test (smartctl \-t long) can take several
1937 hours. Selective self-tests are helpful if (based on SYSLOG error
1938 messages, previous failed self-tests, or SMART error log entries) you
1939 suspect that a disk is having problems at a particular range of
1940 Logical Block Addresses (LBAs).
1941
1942 Selective self-tests can be run during normal system operation (unless
1943 done in captive mode \- see the \'\-C\' option below).
1944
1945 The following variants of the selective self-test command use spans based
1946 on the ranges from past tests already stored on the disk:
1947
1948 .I select,redo[+SIZE]
1949 \- [ATA only] redo the last SMART Selective Self Test using the same LBA
1950 range. The starting LBA is identical to the LBA used by last test, same
1951 for ending LBA unless a new span size is specified by optional +SIZE
1952 argument.
1953
1954 For example the commands:
1955 .nf
1956 smartctl \-t select,10\-20 /dev/sda
1957 smartctl \-t select,redo /dev/sda
1958 smartctl \-t select,redo+20 /dev/sda
1959 .fi
1960 have the same effect as:
1961 .nf
1962 smartctl \-t select,10\-20 /dev/sda
1963 smartctl \-t select,10\-20 /dev/sda
1964 smartctl \-t select,10\-29 /dev/sda
1965 .fi
1966
1967 .I select,next[+SIZE]
1968 \- [ATA only] runs a SMART Selective Self Test on the LBA range which
1969 follows the range of the last test. The starting LBA is set to (ending
1970 LBA +1) of the last test. A new span size may be specified by the
1971 optional +SIZE argument.
1972
1973 For example the commands:
1974 .nf
1975 smartctl \-t select,0\-999 /dev/sda
1976 smartctl \-t select,next /dev/sda
1977 smartctl \-t select,next+2000 /dev/sda
1978 .fi
1979 have the same effect as:
1980 .nf
1981 smartctl \-t select,0\-999 /dev/sda
1982 smartctl \-t select,1000\-1999 /dev/sda
1983 smartctl \-t select,2000\-3999 /dev/sda
1984 .fi
1985
1986 If the last test ended at the last LBA of the disk, the new range starts
1987 at LBA 0. The span size of the last span of a disk is adjusted such that
1988 the total number of spans to check the full disk will not be changed
1989 by future uses of \'\-t select,next\'.
1990
1991 .I select,cont[+SIZE]
1992 \- [ATA only] performs a \'redo\' (above) if the self test status reports
1993 that the last test was aborted by the host. Otherwise it run the \'next\'
1994 (above) test.
1995
1996 .I afterselect,on
1997 \- [ATA only] perform an offline read scan after a Selective self-test
1998 has completed. This option must be used together with one or more of
1999 the \fIselect,N\-M\fP options above. If the LBAs that have been
2000 specified in the Selective self-test pass the test with no errors
2001 found, then read scan the \fBremainder\fP of the disk. If the device
2002 is powered-cycled while this read scan is in progress, the read scan
2003 will be automatically resumed after a time specified by the pending
2004 timer (see below). The value of this option is preserved between
2005 selective self-tests.
2006
2007 .I afterselect,off
2008 \- [ATA only] do not read scan the remainder of the disk after a
2009 Selective self-test has completed. This option must be use together
2010 with one or more of the \fIselect,N\-M\fP options above. The value of this
2011 option is preserved between selective self-tests.
2012
2013 .I pending,N
2014 \- [ATA only] set the pending offline read scan timer to N minutes.
2015 Here N is an integer in the range from 0 to 65535 inclusive. If the
2016 device is powered off during a read scan after a Selective self-test,
2017 then resume the test automatically N minutes after power-up. This
2018 option must be use together with one or more of the \fIselect,N\-M\fP
2019 options above. The value of this option is preserved between selective
2020 self-tests.
2021
2022 .I vendor,N
2023 \- [ATA only] issues the ATA command SMART EXECUTE OFF-LINE IMMEDIATE
2024 with subcommand N in LBA LOW register. The subcommand is specified as
2025 a hex value in the range 0x00 to 0xff. Subcommands 0x40-0x7e and
2026 0x90-0xff are reserved for vendor specific use, see table 61 of
2027 T13/1699-D Revision 6a (ATA8-ACS). Note that the subcommands
2028 0x00-0x04,0x7f,0x81-0x84 are supported by other smartctl options
2029 (e.g. 0x01: \'\-t short\', 0x7f: \'\-X\', 0x82: \'\-C \-t long\').
2030
2031 \fBWARNING: Only run subcommands documented by the vendor of the
2032 device.\fP
2033
2034 Example for some Intel SSDs only:
2035 The subcommand 0x40 (\'\-t vendor,0x40\') clears the timed workload
2036 related SMART attributes (226, 227, 228). Note that the raw values of
2037 these attributes are held at 65535 (0xffff) until the workload timer
2038 reaches 60 minutes.
2039
2040 .I force
2041 \- start new self-test even if another test is already running.
2042 By default a running self-test will not be interrupted to begin another
2043 test.
2044 .TP
2045 .B \-C, \-\-captive
2046 [ATA] Runs self-tests in captive mode. This has no effect with \'\-t
2047 offline\' or if the \'\-t\' option is not used.
2048
2049 \fBWARNING: Tests run in captive mode may busy out the drive for the
2050 length of the test. Only run captive tests on drives without any
2051 mounted partitions!\fP
2052
2053 [SCSI] Runs the self-test in "Foreground" mode.
2054 .TP
2055 .B \-X, \-\-abort
2056 Aborts non-captive SMART Self Tests. Note that this
2057 command will abort the Offline Immediate Test routine only if your
2058 disk has the "Abort Offline collection upon new command" capability.
2059
2060 .SH ATA, SCSI command sets and SAT
2061 In the past there has been a clear distinction between storage devices
2062 that used the ATA and SCSI command sets. This distinction was often
2063 reflected in their device naming and hardware. Now various SCSI
2064 transports (e.g. SAS, FC and iSCSI) can interconnect to both SCSI
2065 disks (e.g. FC and SAS) and ATA disks (especially SATA). USB and
2066 IEEE 1394 storage devices use the SCSI command set externally but
2067 almost always contain ATA or SATA disks (or flash). The storage
2068 subsystems in some operating systems have started to remove the
2069 distinction between ATA and SCSI in their device naming policies.
2070 .PP
2071 99% of operations that an OS performs on a disk involve the SCSI INQUIRY,
2072 READ CAPACITY, READ and WRITE commands, or their ATA equivalents. Since
2073 the SCSI commands are slightly more general than their ATA equivalents,
2074 many OSes are generating SCSI commands (mainly READ and WRITE) and
2075 letting a lower level translate them to their ATA equivalents as the
2076 need arises. An important note here is that "lower level" may be in
2077 external equipment and hence outside the control of an OS.
2078 .PP
2079 SCSI to ATA Translation (SAT) is a standard (ANSI INCITS 431-2007) that
2080 specifies how this translation is done. For the other 1% of operations
2081 that an OS performs on a disk, SAT provides two options. First is an
2082 optional ATA PASS-THROUGH SCSI command (there are two variants). The
2083 second is a translation from the closest SCSI command. Most current
2084 interest is in the "pass-through" option.
2085 .PP
2086 The relevance to smartmontools (and hence smartctl) is that its
2087 interactions with disks fall solidly into the "1%" category. So even
2088 if the OS can happily treat (and name) a disk as "SCSI", smartmontools
2089 needs to detect the native command set and act accordingly.
2090 As more storage manufacturers (including external SATA drives) comply
2091 with SAT, smartmontools is able to automatically distinguish the native
2092 command set of the device. In some cases the '\-d sat' option is needed
2093 on the command line.
2094 .PP
2095 There are also virtual disks which typically have no useful information
2096 to convey to smartmontools, but could conceivably in the future. An
2097 example of a virtual disk is the OS's view of a RAID 1 box. There are
2098 most likely two SATA disks inside a RAID 1 box. Addressing those SATA
2099 disks from a distant OS is a challenge for smartmontools. Another
2100 approach is running a tool like smartmontools inside the RAID 1 box (e.g.
2101 a Network Attached Storage (NAS) box) and fetching the logs via a
2102 browser.
2103
2104 .SH EXAMPLES
2105 .nf
2106 .B smartctl \-a /dev/sda
2107 .fi
2108 Print a large amount of SMART information for drive /dev/sda .
2109 .PP
2110 .nf
2111 .B smartctl \-s off /dev/sdd
2112 .fi
2113 Disable SMART monitoring and data log collection on drive /dev/sdd .
2114 .PP
2115 .nf
2116 .B smartctl \-\-smart=on \-\-offlineauto=on \-\-saveauto=on /dev/sda
2117 .fi
2118 Enable SMART on drive /dev/sda, enable automatic offline
2119 testing every four hours, and enable autosaving of
2120 SMART Attributes. This is a good start-up line for your system\'s
2121 init files. You can issue this command on a running system.
2122 .PP
2123 .nf
2124 .B smartctl \-t long /dev/sdc
2125 .fi
2126 Begin an extended self-test of drive /dev/sdc. You can issue this
2127 command on a running system. The results can be seen in the self-test
2128 log visible with the \'\-l selftest\' option after it has completed.
2129 .PP
2130 .nf
2131 .B smartctl \-s on \-t offline /dev/sda
2132 .fi
2133 Enable SMART on the disk, and begin an immediate offline test of
2134 drive /dev/sda. You can issue this command on a running system. The
2135 results are only used to update the SMART Attributes, visible
2136 with the \'\-A\' option. If any device errors occur, they are logged to
2137 the SMART error log, which can be seen with the \'\-l error\' option.
2138 .PP
2139 .nf
2140 .B smartctl \-A \-v 9,minutes /dev/sda
2141 .fi
2142 Shows the vendor Attributes, when the disk stores its power-on time
2143 internally in minutes rather than hours.
2144 .PP
2145 .nf
2146 .B smartctl \-q errorsonly \-H \-l selftest /dev/sda
2147 .fi
2148 Produces output only if the device returns failing SMART status,
2149 or if some of the logged self-tests ended with errors.
2150 .PP
2151 .nf
2152 .B smartctl \-q silent \-a /dev/sda
2153 .fi
2154 Examine all SMART data for device /dev/sda, but produce no
2155 printed output. You must use the exit status (the
2156 .B $?
2157 shell variable) to learn if any Attributes are out of bound, if the
2158 SMART status is failing, if there are errors recorded in the
2159 self-test log, or if there are errors recorded in the disk error log.
2160 .PP
2161 .nf
2162 .B smartctl \-a \-d 3ware,0 /dev/sda
2163 .fi
2164 Examine all SMART data for the first ATA disk connected to a 3ware
2165 RAID controller card.
2166 .PP
2167 .nf
2168 .B smartctl \-a \-d 3ware,0 /dev/twe0
2169 .fi
2170 Examine all SMART data for the first ATA disk connected to a 3ware
2171 RAID 6000/7000/8000 controller card.
2172 .PP
2173 .nf
2174 .B smartctl \-a \-d 3ware,0 /dev/twa0
2175 .fi
2176 Examine all SMART data for the first ATA disk connected to a
2177 3ware RAID 9000 controller card.
2178 .PP
2179 .nf
2180 .B smartctl \-a \-d 3ware,0 /dev/twl0
2181 .fi
2182 Examine all SMART data for the first SATA (not SAS) disk connected to a
2183 3ware RAID 9750 controller card.
2184 .PP
2185 .nf
2186 .B smartctl \-t short \-d 3ware,3 /dev/sdb
2187 .fi
2188 Start a short self-test on the fourth ATA disk connected to the 3ware RAID
2189 controller card which is the second SCSI device /dev/sdb.
2190 .PP
2191 .nf
2192 .B smartctl \-t long \-d areca,4 /dev/sg2
2193 .fi
2194 Start a long self-test on the fourth SATA disk connected to an Areca RAID
2195 controller addressed by /dev/sg2.
2196 .PP
2197 .nf
2198 .B smartctl \-a \-d hpt,1/3 /dev/sda (under Linux)
2199 .B smartctl \-a \-d hpt,1/3 /dev/hptrr (under FreeBSD)
2200 .fi
2201 Examine all SMART data for the (S)ATA disk directly connected to the third channel of the
2202 first HighPoint RocketRAID controller card.
2203 .nf
2204 .PP
2205 .nf
2206 .B smartctl \-t short \-d hpt,1/1/2 /dev/sda (under Linux)
2207 .B smartctl \-t short \-d hpt,1/1/2 /dev/hptrr (under FreeBSD)
2208 .fi
2209 Start a short self-test on the (S)ATA disk connected to second pmport on the
2210 first channel of the first HighPoint RocketRAID controller card.
2211 .PP
2212 .nf
2213 .B smartctl \-t select,10\-100 \-t select,30\-300 \-t afterselect,on \-t pending,45 /dev/sda
2214 .fi
2215 Run a selective self-test on LBAs 10 to 100 and 30 to 300. After the
2216 these LBAs have been tested, read-scan the remainder of the disk. If the disk is
2217 power-cycled during the read-scan, resume the scan 45 minutes after power to the
2218 device is restored.
2219 .PP
2220 .nf
2221 .B smartctl \-a \-d cciss,0 /dev/cciss/c0d0
2222 .fi
2223 Examine all SMART data for the first SCSI disk connected to a cciss
2224 RAID controller card.
2225
2226 .SH EXIT STATUS
2227 The exit statuses of \fBsmartctl\fP are defined by a bitmask.
2228 If all is well with the disk, the exit status (return value) of
2229 \fBsmartctl\fP is 0 (all bits turned off). If a problem occurs, or an
2230 error, potential error, or fault is detected, then a non-zero status
2231 is returned. In this case, the eight different bits in the exit status
2232 have the following meanings for ATA disks; some of these values
2233 may also be returned for SCSI disks.
2234 .TP
2235 .B Bit 0:
2236 Command line did not parse.
2237 .TP
2238 .B Bit 1:
2239 Device open failed, device did not return an IDENTIFY DEVICE structure,
2240 or device is in a low-power mode (see \'\-n\' option above).
2241 .TP
2242 .B Bit 2:
2243 Some SMART or other ATA command to the disk failed, or there was a checksum
2244 error in a SMART data structure (see \'\-b\' option above).
2245 .TP
2246 .B Bit 3:
2247 SMART status check returned "DISK FAILING".
2248 .TP
2249 .B Bit 4:
2250 We found prefail Attributes <= threshold.
2251 .TP
2252 .B Bit 5:
2253 SMART status check returned "DISK OK" but we found that some (usage
2254 or prefail) Attributes have been <= threshold at some time in the
2255 past.
2256 .TP
2257 .B Bit 6:
2258 The device error log contains records of errors.
2259 .TP
2260 .B Bit 7:
2261 The device self-test log contains records of errors.
2262 [ATA only] Failed self-tests outdated by a newer successful extended
2263 self-test are ignored.
2264 .PP
2265 To test within the shell for whether or not the different bits are
2266 turned on or off, you can use the following type of construction
2267 (which should work with any POSIX compatible shell):
2268 .nf
2269 .B smartstat=$(($? & 8))
2270 .fi
2271 This looks at only at bit 3 of the exit status
2272 .B $?
2273 (since 8=2^3). The shell variable
2274 $smartstat will be nonzero if SMART status check returned "disk
2275 failing" and zero otherwise.
2276 .PP
2277 This shell script prints all status bits:
2278 .nf
2279 val=$?; mask=1
2280 for i in 0 1 2 3 4 5 6 7; do
2281 echo "Bit $i: $(((val & mask) && 1))"
2282 mask=$((mask << 1))
2283 done
2284 .fi
2285
2286 .\" %IF NOT OS Windows
2287 .SH FILES
2288 .TP
2289 .B /usr/local/sbin/smartctl
2290 full path of this executable.
2291 .\" %IF ENABLE_DRIVEDB
2292 .TP
2293 .B /usr/local/share/smartmontools/drivedb.h
2294 drive database (see \'\-B\' option).
2295 .\" %ENDIF ENABLE_DRIVEDB
2296 .TP
2297 .B /usr/local/etc/smart_drivedb.h
2298 optional local drive database (see \'\-B\' option).
2299
2300 .\" %ENDIF NOT OS Windows
2301 .SH AUTHORS
2302 \fBBruce Allen\fP (project initiator),
2303 .br
2304 \fBChristian Franke\fP (project manager, Windows port and all sort of things),
2305 .br
2306 \fBDouglas Gilbert\fP (SCSI subsystem),
2307 .br
2308 \fBVolker Kuhlmann\fP (moderator of support and database mailing list),
2309 .br
2310 \fBGabriele Pohl\fP (wiki & development team support),
2311 .br
2312 \fBAlex Samorukov\fP (FreeBSD port and more, new Trac wiki).
2313
2314 Many other individuals have made contributions and corrections,
2315 see AUTHORS, ChangeLog and repository files.
2316
2317 The first smartmontools code was derived from the smartsuite package,
2318 written by Michael Cornwell and Andre Hedrick.
2319
2320 .SH REPORTING BUGS
2321 To submit a bug report, create a ticket in smartmontools wiki:
2322 .br
2323 <\fBhttp://www.smartmontools.org/\fP>.
2324 .br
2325 Alternatively send the info to the smartmontools support mailing list:
2326 .br
2327 <\fBhttps://lists.sourceforge.net/lists/listinfo/smartmontools-support\fB>.
2328
2329 .SH SEE ALSO
2330 \fBsmartd\fP(8).
2331 .\" %IF ENABLE_UPDATE_SMART_DRIVEDB
2332 .br
2333 \fBupdate-smart-drivedb\fP(8).
2334 .\" %ENDIF ENABLE_UPDATE_SMART_DRIVEDB
2335
2336 .SH REFERENCES
2337 Please see the following web site for more info:
2338 \fBhttp://www.smartmontools.org/\fP
2339
2340 An introductory article about smartmontools is \fIMonitoring Hard
2341 Disks with SMART\fP, by Bruce Allen, Linux Journal, January 2004,
2342 pages 74-77. This is \fBhttp://www.linuxjournal.com/article/6983\fP
2343 online.
2344
2345 If you would like to understand better how SMART works, and what it
2346 does, a good place to start is with Sections 4.8 and 6.54 of the first
2347 volume of the \'AT Attachment with Packet Interface-7\' (ATA/ATAPI-7)
2348 specification Revision 4b. This documents the SMART functionality which the
2349 \fBsmartmontools\fP utilities provide access to.
2350
2351 The functioning of SMART was originally defined by the SFF-8035i
2352 revision 2 and the SFF-8055i revision 1.4 specifications. These are
2353 publications of the Small Form Factors (SFF) Committee.
2354
2355 Links to these and other documents may be found on the Links page of the
2356 \fBsmartmontools\fP Wiki at \fBhttp://www.smartmontools.org/wiki/Links\fP .
2357
2358 .SH PACKAGE VERSION
2359 CURRENT_SVN_VERSION CURRENT_SVN_DATE CURRENT_SVN_REV
2360 .br
2361 $Id: smartctl.8.in 4311 2016-04-27 21:03:01Z chrfranke $