Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
SMARTCTL(8)		    SMART Monitoring Tools		   SMARTCTL(8)

NAME
       smartctl	- Control and Monitor Utility for SMART	Disks

SYNOPSIS
       smartctl	[options] device

DESCRIPTION
       [This  man  page	is generated for the FreeBSD version of	smartmontools.
       It does not contain info	specific to other platforms.]

       smartctl	controls the Self-Monitoring, Analysis and Reporting  Technol-
       ogy  (SMART)  system  built into	most ATA/SATA and SCSI/SAS hard	drives
       and solid-state drives.	The purpose of SMART is	to monitor the	relia-
       bility  of  the hard drive and predict drive failures, and to carry out
       different types of drive	self-tests.  smartctl also supports some  fea-
       tures  not  related  to	SMART.	This version of	smartctl is compatible
       with ACS-3, ACS-2, ATA8-ACS, ATA/ATAPI-7	 and  earlier  standards  (see
       REFERENCES below).

       smartctl	also provides support for polling TapeAlert messages from SCSI
       tape drives and changers.

       The user	must specify the device	to be controlled  or  interrogated  as
       the  final  argument to smartctl. The command set used by the device is
       often derived from the device path but may  need	 help  with  the  '-d'
       option (for more	information see	the section on "ATA, SCSI command sets
       and SAT"	below).	Device paths are as follows:

       FREEBSD:	Use  the  forms	 "/dev/ad[0-9]+"  for  IDE/ATA	 devices   and
		"/dev/da[0-9]+"	 or  "/dev/pass[0-9]+"	for SCSI devices.  For
		SATA devices on	AHCI bus use "/dev/ada[0-9]+" format.  For  HP
		Smart  Array  RAID  controllers, use "/dev/ciss[0-9]" (and see
		the -d option, below).

       if '-' is specified as the device path, smartctl	reads  and  interprets
       it's own	debug output from standard input.  See '-r ataioctl' below for
       details.

       Based on	the device path, smartctl will guess the device	type  (ATA  or
       SCSI).	If  necessary,	the  '-d'  option can be used to override this
       guess

       Note that the printed output of smartctl	displays most numerical	values
       in  base	 10 (decimal), but some	values are displayed in	base 16	(hexa-
       decimal).  To distinguish them, the base	16 values are always displayed
       with  a	leading	 "0x",	for example: "0xff". This man page follows the
       same convention.

OPTIONS
       The options are grouped below into several categories.	smartctl  will
       execute	 the   corresponding   commands	 in  the  order:  INFORMATION,
       ENABLE/DISABLE, DISPLAY DATA, RUN/ABORT TESTS.

       SHOW INFORMATION	OPTIONS:

       -h, --help, --usage
	      Prints a usage message to	STDOUT and exits.

       -V, --version, --copyright, --license
	      Prints version, copyright, license, home page and	 SVN  revision
	      information  for your copy of smartctl to	STDOUT and then	exits.
	      Please include this information if you  are  reporting  bugs  or
	      problems.

       -i, --info
	      Prints the device	model number, serial number, firmware version,
	      and ATA Standard	version/revision  information.	 Says  if  the
	      device  supports SMART, and if so, whether SMART support is cur-
	      rently enabled or	disabled.   If	the  device  supports  Logical
	      Block  Address mode (LBA mode) print current user	drive capacity
	      in bytes.	(If drive is has a user	protected area reserved, or is
	      "clipped",  this may be smaller than the potential maximum drive
	      capacity.)  Indicates if the drive is in the smartmontools data-
	      base  (see  '-v'	options	below).	 If so,	the drive model	family
	      may also be printed. If '-n' (see	below) is specified, the power
	      mode of the drive	is printed.

	      [NVMe] [FreeBSD, Linux, Windows and Cygwin only] [NEW EXPERIMEN-
	      TAL SMARTCTL  FEATURE]  For  NVMe	 devices  the  information  is
	      obtained from the	Identify Controller and	the Identify Namespace
	      data structure.

       --identify[=[w][nvb]]
	      [ATA only] Prints	an annotated  table  of	 the  IDENTIFY	DEVICE
	      data.   By  default, only	valid words (words not equal to	0x0000
	      or 0xffff) and nonzero bits and bit fields  are  printed.	  This
	      can be changed by	the optional argument which consists of	one or
	      two characters from the set 'wnvb'.  The character  'w'  enables
	      printing of all 256 words. The character 'n' suppresses printing
	      of bits, 'v' enables printing of all bits	from valid words,  'b'
	      enables printing of all bits.  For example '--identify=n'	(valid
	      words, no	bits) produces the shortest output and '--identify=wb'
	      (all words, all bits) produces the longest output.

       -a, --all
	      Prints all SMART information about the disk, or TapeAlert	infor-
	      mation about the tape drive or changer.  For ATA devices this is
	      equivalent to
	      '-H -i -c	-A -l error -l selftest	-l selective'
	      and for SCSI, this is equivalent to
	      '-H -i -A	-l error -l selftest'.
	      For NVMe,	this is	equivalent to
	      '-H -i -c	-A -l error'.
	      Note  that  for  ATA  disks  this	 does not enable the non-SMART
	      options and the SMART options which require support  for	48-bit
	      ATA commands.

       -x, --xall
	      Prints all SMART and non-SMART information about the device. For
	      ATA devices this is equivalent to
	      '-H -i -g	all -c -A -f brief -l xerror,error -l xselftest,selftest
	      -l selective -l directory	-l scttemp -l scterc -l	devstat	-l sataphy'.
	      and for SCSI, this is equivalent to
	      '-H -i -A	-l error -l selftest -l	background -l sasphy'.
	      For NVMe,	this is	equivalent to
	      '-H -i -c	-A -l error'.

       --scan Scans for	devices	and prints each	device name, device  type  and
	      protocol	([ATA]	or  [SCSI])  info.  May	be used	in conjunction
	      with '-d TYPE' to	restrict the scan to  a	 specific  TYPE.   See
	      also info	about platform specific	device scan and	the DEVICESCAN
	      directive	on smartd(8) man page.

       --scan-open
	      Same as --scan, but also tries to	open each device before	print-
	      ing device info.	The device open	may change the device type due
	      to autodetection (see also '-d test').

	      This option can be used to create	a draft	smartd.conf file.  All
	      options  after '--' are appended to each output line.  For exam-
	      ple:
	      smartctl --scan-open -- -a -W 4,45,50 -m admin@work > smartd.conf

	      [NEW EXPERIMENTAL	SMARTCTL FEATURE] Multiple '-d	TYPE'  options
	      may  be  specified  with	'--scan[-open]'	 to  combine  the scan
	      results of more than one TYPE.

       -g NAME,	--get=NAME
	      Get non-SMART device settings.  See '-s, --set' below  for  fur-
	      ther info.

       RUN-TIME	BEHAVIOR OPTIONS:

       -q TYPE,	--quietmode=TYPE
	      Specifies	that smartctl should run in one	of the two quiet modes
	      described	here.  The valid arguments to this option are:

	      errorsonly - only	print: For the '-l error' option, if  nonzero,
	      the  number  of  errors  recorded	in the SMART error log and the
	      power-on time when they occurred;	For the	'-l selftest'  option,
	      errors  recorded	in  the	 device	 self-test  log;  For the '-H'
	      option, SMART "disk failing" status or device  Attributes	 (pre-
	      failure  or  usage)  which failed	either now or in the past; For
	      the '-A' option, device Attributes (pre-failure or usage)	 which
	      failed either now	or in the past.

	      silent  -	print no output.  The only way to learn	about what was
	      found is to use the exit status of  smartctl  (see  EXIT	STATUS
	      below).

	      noserial - Do not	print the serial number	of the device.

       -d TYPE,	--device=TYPE
	      Specifies	 the  type of the device.  The valid arguments to this
	      option are:

	      auto - attempt to	guess the device type from the device name  or
	      from  controller	type  info provided by the operating system or
	      from a matching USB ID entry in the drive	database.  This	is the
	      default.

	      test - prints the	guessed	type, then opens the device and	prints
	      the (possibly changed) TYPE name and then	 exists	 without  per-
	      forming any further commands.

	      ata - the	device type is ATA.  This prevents smartctl from issu-
	      ing SCSI commands	to an ATA device.

	      scsi - the device	type is	SCSI.	This  prevents	smartctl  from
	      issuing ATA commands to a	SCSI device.

	      nvme[,NSID]  -  [FreeBSD,	 Linux,	 Windows and Cygwin only] [NEW
	      EXPERIMENTAL SMARTCTL FEATURE] the device	type  is  NVM  Express
	      (NVMe).	The optional parameter NSID specifies the namespace id
	      (in hex) passed to the driver.  Use 0xffffffff for the broadcast
	      namespace	 id.   The  default  for  NSID	is  the	 namespace  id
	      addressed	by the device name.

	      sat[,auto][,N] - the device type	is  SCSI  to  ATA  Translation
	      (SAT).   This  is	for ATA	disks that have	a SCSI to ATA Transla-
	      tion (SAT) Layer (SATL) between the disk and the operating  sys-
	      tem.   SAT  defines  two	ATA PASS THROUGH SCSI commands,	one 12
	      bytes long and the other 16 bytes	long.  The default is  the  16
	      byte  variant which can be overridden with either	'-d sat,12' or
	      '-d sat,16'.

	      If '-d sat,auto' is specified, device  type  SAT	(for  ATA/SATA
	      disks)  is  only	used  if  the SCSI INQUIRY data	reports	a SATL
	      (VENDOR: "ATA	").  Otherwise device type SCSI	(for  SCSI/SAS
	      disks) is	used.

	      usbcypress - this	device type is for ATA disks that are behind a
	      Cypress USB to PATA bridge.  This	will use the ATACB proprietary
	      scsi  pass  through command.  The	default	SCSI operation code is
	      0x24,  but  although  it	can  be	 overridden  with  '-d	usbcy-
	      press,0xN',  where  N is the scsi	operation code,	you're running
	      the risk of damage to the	device or filesystems on it.

	      usbjmicron[,p][,x][,PORT]	- this device type is for  SATA	 disks
	      that  are	 behind	a JMicron USB to PATA/SATA bridge.  The	48-bit
	      ATA commands (required e.g. for '-l xerror', see below)  do  not
	      work  with  all  of  these bridges and are therefore disabled by
	      default.	These commands can be enabled  by  '-d	usbjmicron,x'.
	      If  two disks are	connected to a bridge with two ports, an error
	      message is printed if no PORT is specified.   The	 port  can  be
	      specified	 by  '-d usbjmicron[,x],PORT' where PORT is 0 (master)
	      or 1 (slave).  This is not necessary if the device uses  a  port
	      multiplier  to  connect  multiple	 disks to one port.  The disks
	      appear under separate /dev/ice names then.  CAUTION:  Specifying
	      ',x'  for	 a  device  which  does	 not support it	results	in I/O
	      errors and may disconnect	the drive.  The	same  applies  if  the
	      specified	PORT does not exist or is not connected	to a disk.

	      The Prolific PL2507/3507 USB bridges with	older firmware support
	      a	pass-through command similar to	JMicron	and work with '-d usb-
	      jmicron,0'.  Newer Prolific firmware requires a modified command
	      which can	be selected by '-d usbjmicron,p'.  Note	that this does
	      not yet support the SMART	status command.

	      usbprolific  -  [NEW  EXPERIMENTAL SMARTCTL FEATURE] this	device
	      type  is	for  SATA   disks   that   are	 behind	  a   Prolific
	      PL2571/2771/2773/2775 USB	to SATA	bridge.

	      usbsunplus  - this device	type is	for SATA disks that are	behind
	      a	SunplusIT USB to SATA bridge.

	      3ware,N -	[FreeBSD and Linux only] the device consists of	one or
	      more  ATA	 disks connected to a 3ware RAID controller.  The non-
	      negative integer N (in  the  range  from	0  to  127  inclusive)
	      denotes  which  disk on the controller is	monitored.  Use	syntax
	      such as:
	      smartctl -a -d 3ware,2 /dev/sda  [Linux only]
	      smartctl -a -d 3ware,0 /dev/twe0
	      smartctl -a -d 3ware,1 /dev/twa0
	      smartctl -a -d 3ware,1 /dev/twl0 [Linux only]
	      smartctl -a -d 3ware,1 /dev/tws0 [FreeBSD	only]
	      The first	two forms,  which  refer  to  devices  /dev/sda-z  and
	      /dev/twe0-15, may	be used	with 3ware series 6000,	7000, and 8000
	      series controllers that use the 3x-xxxx driver.  Note  that  the
	      /dev/sda-z form is deprecated starting with the Linux 2.6	kernel
	      series and may not be supported by the Linux kernel in the  near
	      future.	The  final form, which refers to devices /dev/twa0-15,
	      must be used with	3ware 9000 series controllers, which  use  the
	      3w-9xxx driver.

	      The  devices /dev/twl0-15	[Linux]	or /dev/tws0-15	[FreeBSD] must
	      be used with the 3ware/LSI 9750 series controllers which use the
	      3w-sas driver.

	      Note  that  if  the special character device nodes /dev/tw[ls]?,
	      /dev/twa?	 and /dev/twe? do not exist, or	exist with the	incor-
	      rect  major or minor numbers, smartctl will recreate them	on the
	      fly.  Typically /dev/twa0	refers to the first  9000-series  con-
	      troller,	/dev/twa1 refers to the	second 9000 series controller,
	      and so on.  The /dev/twl0	 devices  refers  to  the  first  9750
	      series  controller,  /dev/twl1 resfers to	the second 9750	series
	      controller, and so on.  Likewise /dev/twe0 refers	to  the	 first
	      6/7/8000-series  controller,  /dev/twe1  refers  to  the	second
	      6/7/8000 series controller, and so on.

	      Note that	for the	6/7/8000  controllers,	any  of	 the  physical
	      disks  can  be queried or	examined using any of the 3ware's SCSI
	      logical device  /dev/sd?	 entries.   Thus,  if  logical	device
	      /dev/sda	is made	up of two physical disks (3ware	ports zero and
	      one) and logical device /dev/sdb is made up of two other	physi-
	      cal  disks  (3ware ports two and three) then you can examine the
	      SMART data on any	of the four physical disks using  either  SCSI
	      device  /dev/sda or /dev/sdb.  If	you need to know which logical
	      SCSI device a particular physical	disk (3ware port)  is  associ-
	      ated  with, use the dmesg	or SYSLOG output to show which SCSI ID
	      corresponds to a particular 3ware	unit, and then use  the	 3ware
	      CLI or 3dm tool to determine which ports (physical disks)	corre-
	      spond to particular 3ware	units.

	      If the value of N	corresponds to a port that does	not  exist  on
	      the 3ware	controller, or to a port that does not physically have
	      a	disk attached to it, the behavior of smartctl depends upon the
	      specific	controller model, firmware, Linux kernel and platform.
	      In some cases you	will get a warning  message  that  the	device
	      does  not	 exist.	  In  other  cases  you	will be	presented with
	      'void' data for a	non-existent device.

	      Note that	if the /dev/sd?	addressing form	is  used,  then	 older
	      3w-xxxx  drivers do not pass the "Enable Autosave" ('-S on') and
	      "Enable Automatic	Offline" ('-o on') commands to the  disk,  and
	      produce  these  types of harmless	syslog error messages instead:
	      "3w-xxxx:	tw_ioctl(): Passthru size (123392) too big".  This can
	      be fixed by upgrading to version 1.02.00.037 or later of the 3w-
	      xxxx driver, or by applying a patch to older versions.  Alterna-
	      tively, use the character	device /dev/twe0-15 interface.

	      The  selective  self-test	 functions  ('-t select,A-B') are only
	      supported	using the  character  device  interface	 /dev/twl0-15,
	      /dev/tws0-15,  /dev/twa0-15  and	/dev/twe0-15.	The  necessary
	      WRITE LOG	commands can not be passed through the SCSI interface.

	      areca,N  -  [FreeBSD, Linux, Windows and Cygwin only] the	device
	      consists of one or more SATA disks connected to  an  Areca  SATA
	      RAID controller.	The positive integer N (in the range from 1 to
	      24 inclusive) denotes which disk on the controller is monitored.
	      On FreeBSD use syntax such as:
	      smartctl -a -d areca,2 /dev/arcmsr1
	      smartctl -a -d areca,3 /dev/arcmsr2
	      The  first  line	above  addresses  the second disk on the first
	      Areca RAID controller.  The second line addresses	the third disk
	      on the second Areca RAID controller.

	      Important:  the Areca controller must have firmware version 1.46
	      or later.	 Lower-numbered	firmware versions will give (harmless)
	      SCSI error messages and no SMART information.

	      areca,N/E	- [FreeBSD, Linux, Windows and Cygwin only] the	device
	      consists of one or more SATA or SAS disks	connected to an	 Areca
	      SAS RAID controller.  The	integer	N (range 1 to 128) denotes the
	      channel (slot) and E (range  1  to  8)  denotes  the  enclosure.
	      Important:  This	requires Areca SAS controller firmware version
	      1.51 or later.

	      cciss,N -	[FreeBSD and Linux only] the device consists of	one or
	      more  SCSI/SAS  or  SATA	disks  connected  to a cciss RAID con-
	      troller.	The non-negative integer N (in the range from 0	to  15
	      inclusive) denotes which disk on the controller is monitored.

	      To  look	at disks behind	HP Smart Array controllers, use	syntax
	      such as:
	      smartctl -a -d cciss,0 /dev/ciss0	   (under FreeBSD)

	      hpt,L/M/N	- [FreeBSD and Linux only] the device consists of  one
	      or  more	ATA  disks  connected  to  a HighPoint RocketRAID con-
	      troller.	The integer L is the controller	id, the	integer	 M  is
	      the channel number, and the integer N is the PMPort number if it
	      is available.  The allowed values	of L are from 1	 to  4	inclu-
	      sive,  M are from	1 to 128 inclusive and N from 1	to 4 if	PMPort
	      available.  And also these values	are limited by	the  model  of
	      the HighPoint RocketRAID controller.  Use	syntax such as:
	      smartctl -a -d hpt,1/3 /dev/hptrr	   (under FreeBSD)
	      smartctl -a -d hpt,1/2/3 /dev/hptrr    (under FreeBSD)
	      Note  that  the  /dev/sda-z form should be the device node which
	      stands for the disks derived from	the HighPoint RocketRAID  con-
	      trollers	under  Linux  and  under  FreeBSD, it is the character
	      device   which   the   driver   registered   (eg,	   /dev/hptrr,
	      /dev/hptmv6).

       -T TYPE,	--tolerance=TYPE
	      [ATA  only] Specifies how	tolerant smartctl should be of ATA and
	      SMART command failures.

	      The behavior of smartctl depends upon  whether  the  command  is
	      "optional"  or  "mandatory". Here	"mandatory" means "required by
	      the ATA Specification if the device implements the SMART command
	      set" and "optional" means	"not required by the ATA Specification
	      even if the device  implements  the  SMART  command  set."   The
	      "mandatory" ATA and SMART	commands are: (1) ATA IDENTIFY DEVICE,
	      (2)  SMART  ENABLE/DISABLE   ATTRIBUTE   AUTOSAVE,   (3)	 SMART
	      ENABLE/DISABLE, and (4) SMART RETURN STATUS.

	      The valid	arguments to this option are:

	      normal  -	 exit  on  failure of any mandatory SMART command, and
	      ignore all failures of optional SMART  commands.	 This  is  the
	      default.	 Note  that  on	 some  devices,	 issuing unimplemented
	      optional SMART commands doesn't cause an error.  This can	result
	      in  misleading  smartctl	messages such as "Feature X not	imple-
	      mented", followed	shortly	by "Feature X: enabled".  In most such
	      cases,  contrary to the final message, Feature X is not enabled.

	      conservative - exit on failure of	any optional SMART command.

	      permissive - ignore  failure(s)  of  mandatory  SMART  commands.
	      This option may be given more than once.	Each additional	use of
	      this option  will	 cause	one  more  additional  failure	to  be
	      ignored.	 Note that the use of this option can lead to messages
	      like "Feature X not supported", followed shortly by  "Feature  X
	      enable failed".  In a few	such cases, contrary to	the final mes-
	      sage, Feature X is enabled.

	      verypermissive - equivalent to giving a large number of '-T per-
	      missive'	options:  ignore  failures  of any number of mandatory
	      SMART commands.  Please see the note above.

       -b TYPE,	--badsum=TYPE
	      [ATA only] Specifies the action smartctl should take if a	check-
	      sum error	is detected in the: (1)	Device Identity	Structure, (2)
	      SMART Self-Test Log Structure, (3) SMART Attribute Value	Struc-
	      ture,  (4) SMART Attribute Threshold Structure, or (5) ATA Error
	      Log Structure.

	      The valid	arguments to this option are:

	      warn - report the	incorrect checksum but carry on	 in  spite  of
	      it.  This	is the default.

	      exit - exit smartctl.

	      ignore - continue	silently without issuing a warning.

       -r TYPE,	--report=TYPE
	      Intended	primarily  to help smartmontools developers understand
	      the behavior of smartmontools on non-conforming or  poorly  con-
	      forming  hardware.   This	 option	 reports  details  of smartctl
	      transactions with	the device.  The option	can be	used  multiple
	      times.   When  used  just	once, it shows a record	of the ioctl()
	      transactions with	the device.  When used	more  than  once,  the
	      detail  of  these	 ioctl()  transactions are reported in greater
	      detail.  The valid arguments to this option are:

	      ioctl - report all ioctl() transactions.

	      ataioctl - report	only ioctl() transactions with ATA devices.

	      scsiioctl	- report only ioctl() transactions with	SCSI  devices.
	      Invoking this once shows the SCSI	commands in hex	and the	corre-
	      sponding status. Invoking	it a second time adds a	hex listing of
	      the first	64 bytes of data send to, or received from the device.

	      nvmeioctl	- [FreeBSD,  Linux,  Windows  and  Cygwin  only]  [NEW
	      EXPERIMENTAL  SMARTCTL FEATURE] report only ioctl() transactions
	      with NVMe	devices.

	      Any argument may include a positive integer to specify the level
	      of  detail that should be	reported.  The argument	should be fol-
	      lowed by a comma then the	integer	with no	spaces.	 For  example,
	      ataioctl,2  The  default	level is 1, so '-r ataioctl,1' and '-r
	      ataioctl'	are equivalent.

	      For testing purposes, the	output of '-r ataioctl,2' can later be
	      parsed  by  smartctl  itself if '-' is used as device path argu-
	      ment.  The ATA command input parameters, sector data and	return
	      values  are reconstructed	from the debug report read from	stdin.
	      Then smartctl internally simulates an ATA	device with  the  same
	      behaviour. This is does not work for SCSI	devices	yet.

       -n POWERMODE, --nocheck=POWERMODE
	      [ATA  only]  Specifies if	smartctl should	exit before performing
	      any checks when the device is in a low-power  mode.  It  may  be
	      used to prevent a	disk from being	spun-up	by smartctl. The power
	      mode is ignored by default.  A nonzero exit status  is  returned
	      if  the  device  is in one of the	specified low-power modes (see
	      EXIT STATUS below).

	      Note: If this option is used it may also be necessary to specify
	      the  device type with the	'-d' option.  Otherwise	the device may
	      spin up due to commands issued during device type	autodetection.

	      The valid	arguments to this option are:

	      never  -	check  the  device always, but print the power mode if
	      '-i' is specified.

	      sleep - check the	device unless it is in SLEEP mode.

	      standby -	check the device unless	it  is	in  SLEEP  or  STANDBY
	      mode.   In  these	 modes	most disks are not spinning, so	if you
	      want to prevent a	disk from spinning up, this is	probably  what
	      you want.

	      idle  -  check the device	unless it is in	SLEEP, STANDBY or IDLE
	      mode.  In	the IDLE state,	most disks are still spinning, so this
	      is probably not what you want.

       SMART FEATURE ENABLE/DISABLE COMMANDS:

	      Note:  if	multiple options are used to both enable and disable a
	      feature, then both the  enable  and  disable  commands  will  be
	      issued.	The  enable  command  will always be issued before the
	      corresponding disable command.

       -s VALUE, --smart=VALUE
	      Enables or disables SMART	on device.   The  valid	 arguments  to
	      this option are on and off.  Note	that the command '-s on' (per-
	      haps used	with with the '-o on' and '-S on' options)  should  be
	      placed  in  a  start-up  script for your machine,	for example in
	      rc.local or rc.sysinit. In principle the SMART feature  settings
	      are  preserved  over  power-cycling,  but	 it doesn't hurt to be
	      sure. It is not necessary	(or useful) to enable SMART to see the
	      TapeAlert	messages.

       -o VALUE, --offlineauto=VALUE
	      [ATA  only]  Enables  or	disables SMART automatic offline test,
	      which scans the drive every four hours for  disk	defects.  This
	      command  can be given during normal system operation.  The valid
	      arguments	to this	option are on and off.

	      Note that	the SMART automatic offline test command is listed  as
	      "Obsolete"  in every version of the ATA and ATA/ATAPI Specifica-
	      tions.  It was originally	part of	 the  SFF-8035i	 Revision  2.0
	      specification,  but  was	never  part  of	any ATA	specification.
	      However it is implemented	and used by  many  vendors.   You  can
	      tell if automatic	offline	testing	is supported by	seeing if this
	      command enables and disables  it,	 as  indicated	by  the	 'Auto
	      Offline  Data  Collection' part of the SMART capabilities	report
	      (displayed with '-c').

	      SMART provides three basic categories  of	 testing.   The	 first
	      category,	 called	"online" testing, has no effect	on the perfor-
	      mance of the device.  It is turned on by the '-s on' option.

	      The second category of testing is	called "offline" testing. This
	      type  of test can, in principle, degrade the device performance.
	      The '-o on' option causes	this offline  testing  to  be  carried
	      out, automatically, on a regular scheduled basis.	 Normally, the
	      disk will	suspend	offline	testing	while disk accesses are	taking
	      place, and then automatically resume it when the disk would oth-
	      erwise be	idle, so in practice it	has little effect.  Note  that
	      a	one-time offline test can also be carried out immediately upon
	      receipt of a user	command.  See the '-t offline'	option	below,
	      which  causes  a one-time	offline	test to	be carried out immedi-
	      ately.

	      The choice (made by the SFF-8035i	and ATA	specification authors)
	      of  the  word testing for	these first two	categories is unfortu-
	      nate, and	often leads to confusion.  In  fact  these  first  two
	      categories  of  online  and offline testing could	have been more
	      accurately described as online and offline data collection.

	      The results of this automatic or immediate offline testing (data
	      collection) are reflected	in the values of the SMART Attributes.
	      Thus, if problems	or errors are detected,	the  values  of	 these
	      Attributes will go below their failure thresholds; some types of
	      errors may also appear in	the SMART error	log. These are visible
	      with the '-A' and	'-l error' options respectively.

	      Some  SMART  attribute  values  are updated only during off-line
	      data collection activities; the rest are updated	during	normal
	      operation	of the device or during	both normal operation and off-
	      line testing.  The Attribute value table produced	 by  the  '-A'
	      option  indicates	this in	the UPDATED column.  Attributes	of the
	      first type are labeled "Offline" and Attributes  of  the	second
	      type are labeled "Always".

	      The  third  category of testing (and the only category for which
	      the word 'testing' is really an appropriate  choice)  is	"self"
	      testing.	 This  third  type  of test is only performed (immedi-
	      ately) when a command to run it is issued.  The  '-t'  and  '-X'
	      options  can  be	used  to  carry	out and	abort such self-tests;
	      please see below for further details.

	      Any errors detected in the self testing will  be	shown  in  the
	      SMART  self-test	log, which can be examined using the '-l self-
	      test' option.

	      Note: in this manual page, the word "Test" is used in connection
	      with  the	second category	just described,	e.g. for the "offline"
	      testing.	The words "Self-test" are used in connection with  the
	      third category.

       -S VALUE, --saveauto=VALUE
	      [ATA]  Enables  or disables SMART	autosave of device vendor-spe-
	      cific Attributes.	The valid arguments to this option are on  and
	      off.   Note  that	 this  feature	is preserved across disk power
	      cycles, so you should only need to issue it once.

	      The ATA standard does not	specify	 a  method  to	check  whether
	      SMART  autosave  is  enabled.  Unlike  SCSI (below), smartctl is
	      unable to	print a	warning	if autosave is disabled.

	      [SCSI] For SCSI devices this toggles the	value  of  the	Global
	      Logging  Target  Save  Disabled  (GLTSD) bit in the Control Mode
	      Page. Some disk manufacturers set	this bit by default. This pre-
	      vents  error counters, power-up hours and	other useful data from
	      being placed in non-volatile storage, so	these  values  may  be
	      reset  to	zero the next time the device is power-cycled.	If the
	      GLTSD bit	is set then 'smartctl -a' will issue a warning.	Use on
	      to  clear	 the GLTSD bit and thus	enable saving counters to non-
	      volatile storage.	For extreme streaming-video type  applications
	      you might	consider using off to set the GLTSD bit.

       -g NAME,	--get=NAME, -s NAME[,VALUE], --set=NAME[,VALUE]
	      Gets/sets	 non-SMART  device  settings.	Note  that the '--set'
	      option shares its	short option '-s' with '--smart'.  Valid argu-
	      ments are:

	      all - Gets all values. This is equivalent	to
	      '-g aam -g apm -g	lookahead -g security -g wcache'

	      aam[,N|off]  -  [ATA only] Gets/sets the Automatic Acoustic Man-
	      agement (AAM) feature (if	supported).  A value of	128  sets  the
	      most  quiet  (slowest)  mode and 254 the fastest (loudest) mode,
	      'off' disables AAM.  Devices may	support	 intermediate  levels.
	      Values  below  128 are defined as	vendor specific	(0) or retired
	      (1 to 127).  Note	that the AAM feature was declared obsolete  in
	      ATA ACS-2	Revision 4a (Dec 2010).

	      apm[,N|off] - [ATA only] Gets/sets the Advanced Power Management
	      (APM) feature on device (if supported).  If a  value  between  1
	      and  254	is provided, it	will attempt to	enable APM and set the
	      specified	value, 'off' disables APM.  Note the  actual  behavior
	      depends  on  the	drive,	for example some drives	disable	APM if
	      their value is set above 128.  Values below 128 are supposed  to
	      allow  drive  spindown,  values  128 and above adjust only head-
	      parking frequency, although the actual behavior defined is  also
	      vendor-specific.

	      lookahead[,on|off]  -  [ATA  only] Gets/sets the read look-ahead
	      feature (if supported).  Read look-ahead is usually  enabled  by
	      default.

	      security	-  [ATA	 only] Gets the	status of ATA Security feature
	      (if supported).  If ATA Security is enabled an ATA user password
	      is set.  The drive will be locked	on next	reset then.

	      security-freeze -	[ATA only] Sets	ATA Security feature to	frozen
	      mode.  This prevents that	the drive accepts  any	security  com-
	      mands  until  next reset.	 Note that the frozen mode may already
	      be set by	BIOS or	OS.

	      standby,[N|off] -	[ATA only] Sets	the standby  (spindown)	 timer
	      and  places  the	drive in the IDLE mode.	 A value of 0 or 'off'
	      disables the standby timer.  Values from 1 to 240	specify	 time-
	      outs  from 5 seconds to 20 minutes in 5 second increments.  Val-
	      ues from 241 to 251 specify timeouts from	30 minutes to 330 min-
	      utes  in	30 minute increments.  Value 252 specifies 21 minutes.
	      Value 253	specifies a vendor specific  time  between  8  and  12
	      hours.   Value  255  specifies  21 minutes and 15	seconds.  Some
	      drives may use a vendor specific interpretation for the  values.
	      Note  that  there	 is no get option because ATA standards	do not
	      specify a	method to read the standby timer.

	      standby,now - [ATA only] Places the drive	in the	STANDBY	 mode.
	      This  usually  spins down	the drive.  The	setting	of the standby
	      timer is not affected.

	      wcache[,on|off] -	[ATA] Gets/sets	the volatile write cache  fea-
	      ture  (if	 supported).   The  write  cache is usually enabled by
	      default.

	      wcache[,on|off] -	[SCSI]	Gets/sets  the	'Write	Cache  Enable'
	      (WCE) bit	(if supported).	 The write cache is usually enabled by
	      default.

	      wcreorder[,on|off] - [ATA	only] Gets/sets	Write  Cache  Reorder-
	      ing.  If it is disabled (off), disk write	scheduling is executed
	      on a first-in-first-out (FIFO) basis. If Write Cache  Reordering
	      is  enabled (on),	then disk write	scheduling may be reordered by
	      the drive. If write cache	is disabled, the current  Write	 Cache
	      Reordering  state	 is remembered but has no effect on non-cached
	      writes, which are	always written in  the	order  received.   The
	      state  of	 Write Cache Reordering	has no effect on either	NCQ or
	      LCQ queued commands.

	      rcache[,on|off] -	[SCSI only] Gets/sets the 'Read	Cache Disable'
	      (RCE) bit.  'Off'	value disables read cache (if supported).  The
	      read cache is usually enabled by default.

       SMART READ AND DISPLAY DATA OPTIONS:

       -H, --health
	      Prints the health	status of the device or	pending	TapeAlert mes-
	      sages.

	      If  the  device reports failing health status, this means	either
	      that the device has already failed, or that it is	predicting its
	      own  failure within the next 24 hours.  If this happens, use the
	      '-a' option to get more information, and get your	data  off  the
	      disk and to someplace safe as soon as you	can.

	      [ATA] Health status is obtained by checking the (boolean)	result
	      returned by the SMART RETURN STATUS command.  The	 return	 value
	      of this ATA command may be unknown due to	limitations or bugs in
	      some layer (e.g. RAID controller or USB bridge firmware) between
	      disk  and	 operating  system.   In  this case, smartctl prints a
	      warning and checks whether any Prefailure	SMART Attribute	 value
	      is less than or equal to its threshold (see '-A' below).

	      [SCSI]  Health  status  is  obtained  by checking	the Additional
	      Sense Code (ASC) and Additional Sense Code Qualifier (ASCQ) from
	      Informal	Exceptions  (IE)  log  page (if	supported) and/or from
	      SCSI sense data.

	      [SCSI tape drive or changer] TapeAlert  status  is  obtained  by
	      reading  the TapeAlert log page.	Please note that the TapeAlert
	      log page flags are cleared for the initiator when	 the  page  is
	      read.   This  means  that	 each alert condition is reported only
	      once by smartctl for each	initiator for each activation  of  the
	      condition.

	      [NVMe] [FreeBSD, Linux, Windows and Cygwin only] [NEW EXPERIMEN-
	      TAL SMARTCTL FEATURE] NVMe status	is  obtained  by  reading  the
	      "Critical	Warning" byte from the SMART/Health Information	log.

       -c, --capabilities
	      [ATA]  Prints  only  the generic SMART capabilities.  These show
	      what SMART features are implemented  and	how  the  device  will
	      respond to some of the different SMART commands.	For example it
	      shows if the device logs errors, if it supports offline  surface
	      scanning,	 and  so  on.  If the device can carry out self-tests,
	      this option also shows the estimated time	required to run	 those
	      tests.

	      Note  that  the  time  required to run the Self-tests (listed in
	      minutes) are fixed.  However the time required to	run the	 Imme-
	      diate  Offline Test (listed in seconds) is variable.  This means
	      that if you issue	a command to perform an	Immediate Offline test
	      with the '-t offline' option, then the time may jump to a	larger
	      value and	then count down	as the Immediate Offline Test is  car-
	      ried  out.   Please see REFERENCES below for further information
	      about the	the flags and capabilities described by	this option.

	      [NVMe] [FreeBSD, Linux, Windows and Cygwin only] [NEW EXPERIMEN-
	      TAL  SMARTCTL  FEATURE]  Prints various NVMe device capabilities
	      obtained from the	Identify Controller and	the Identify Namespace
	      data structure.

       -A, --attributes
	      [ATA]  Prints  only  the	vendor specific	SMART Attributes.  The
	      Attributes are numbered from 1 to	253 and	 have  specific	 names
	      and ID numbers. For example Attribute 12 is "power cycle count":
	      how many times has the disk been powered up.

	      Each Attribute has a "Raw"  value,  printed  under  the  heading
	      "RAW_VALUE",  and	a "Normalized" value printed under the heading
	      "VALUE".	[Note: smartctl	prints these values in	base-10.]   In
	      the  example  just given,	the "Raw Value"	for Attribute 12 would
	      be the actual number of times that  the  disk  has  been	power-
	      cycled,  for example 365 if the disk has been turned on once per
	      day for exactly one year.	 Each vendor uses their	own  algorithm
	      to convert this "Raw" value to a "Normalized" value in the range
	      from 1 to	254.  Please keep in mind that smartctl	 only  reports
	      the  different  Attribute	 types,	values,	and thresholds as read
	      from the device.	It does	not carry out the  conversion  between
	      "Raw"  and  "Normalized"	values:	 this  is  done	 by the	disk's
	      firmware.

	      The conversion from Raw value to a quantity with physical	 units
	      is  not specified	by the SMART standard. In most cases, the val-
	      ues printed by smartctl are sensible.  For example the  tempera-
	      ture Attribute generally has its raw value equal to the tempera-
	      ture in Celsius.	However	in some	cases vendors use unusual con-
	      ventions.	 For example the Hitachi disk on my laptop reports its
	      power-on hours in	minutes, not hours. Some IBM disks track three
	      temperatures rather than one, in their raw values.  And so on.

	      Each  Attribute  also has	a Threshold value (whose range is 0 to
	      255) which is printed under the heading "THRESH".	 If  the  Nor-
	      malized value is less than or equal to the Threshold value, then
	      the Attribute is said to have failed.  If	 the  Attribute	 is  a
	      pre-failure Attribute, then disk failure is imminent.

	      Each  Attribute also has a "Worst" value shown under the heading
	      "WORST".	This is	the smallest (closest to failure)  value  that
	      the disk has recorded at any time	during its lifetime when SMART
	      was enabled.  [Note however that some vendors firmware may actu-
	      ally   increase	the   "Worst"	value	for  some  "rate-type"
	      Attributes.]

	      The Attribute table printed  out	by  smartctl  also  shows  the
	      "TYPE"  of  the  Attribute.  Attributes  are one of two possible
	      types: Pre-failure or Old	age.  Pre-failure Attributes are  ones
	      which, if	less than or equal to their threshold values, indicate
	      pending disk failure.  Old age, or usage	Attributes,  are  ones
	      which  indicate end-of-product life from old-age or normal aging
	      and wearout, if the Attribute value is less than or equal	to the
	      threshold.   Please  note: the fact that an Attribute is of type
	      'Pre-fail' does not mean that your disk is about	to  fail!   It
	      only  has	 this  meaning	if  the	Attribute's current Normalized
	      value is less than or equal to the threshold value.

	      If the Attribute's current Normalized  value  is	less  than  or
	      equal to the threshold value, then the "WHEN_FAILED" column will
	      display "FAILING_NOW". If	not, but the worst recorded  value  is
	      less than	or equal to the	threshold value, then this column will
	      display "In_the_past".  If the "WHEN_FAILED" column has no entry
	      (indicated  by  a	 dash: '-') then this Attribute	is OK now (not
	      failing) and has also never failed in the	past.

	      The table	column labeled "UPDATED" shows if the SMART  Attribute
	      values  are  updated  during  both normal	operation and off-line
	      testing, or only during offline testing.	The former are labeled
	      "Always" and the latter are labeled "Offline".

	      So  to  summarize:  the  Raw  Attribute values are the ones that
	      might have a real	physical interpretation, such as  "Temperature
	      Celsius",	 "Hours",  or  "Start-Stop Cycles".  Each manufacturer
	      converts these, using their detailed  knowledge  of  the	disk's
	      operations  and failure modes, to	Normalized Attribute values in
	      the range	1-254.	The current and	 worst	(lowest	 measured)  of
	      these  Normalized	Attribute values are stored on the disk, along
	      with a Threshold value that the manufacturer has determined will
	      indicate that the	disk is	going to fail, or that it has exceeded
	      its design age or	aging limit.  smartctl does not	calculate  any
	      of the Attribute values, thresholds, or types, it	merely reports
	      them from	the SMART data on the device.

	      Note that	starting with ATA/ATAPI-4, revision 4, the meaning  of
	      these  Attribute	fields has been	made entirely vendor-specific.
	      However most newer ATA/SATA disks	seem to	respect	their meaning,
	      so we have retained the option of	printing the Attribute values.

	      Solid-state drives  use  different  meanings  for	 some  of  the
	      attributes.  In this case	the attribute name printed by smartctl
	      is incorrect unless the drive is already	in  the	 smartmontools
	      drive database.

	      [SCSI]  For  SCSI	devices	the "attributes" are obtained from the
	      temperature and start-stop cycle counter log pages. Certain ven-
	      dor specific attributes are listed if recognised.	The attributes
	      are output in a relatively free format (compared with  ATA  disk
	      attributes).

	      [NVMe] [FreeBSD, Linux, Windows and Cygwin only] [NEW EXPERIMEN-
	      TAL SMARTCTL  FEATURE]  For  NVMe	 devices  the  attributes  are
	      obtained from the	SMART/Health Information log.

       -f FORMAT, --format=FORMAT
	      [ATA only] Selects the output format of the attributes:

	      old  -  Old smartctl format. This	is the default unless the '-x'
	      option is	specified.

	      brief - New format which fits into 80  colums  (except  in  some
	      rare cases).  This format	also decodes four additional attribute
	      flags.  This is the default if the '-x' option is	specified.

	      hex,id - Print all attribute IDs as hexadecimal numbers.

	      hex,val -	Print all normalized values as hexadecimal numbers.

	      hex - Same as '-f	hex,id -f hex,val'.

       -l TYPE,	--log=TYPE
	      Prints either the	SMART Error Log, the SMART Self-Test Log,  the
	      SMART Selective Self-Test	Log [ATA only],	the Log	Directory [ATA
	      only], or	the Background Scan  Results  Log  [SCSI  only].   The
	      valid arguments to this option are:

	      error  -	[ATA] prints the Summary SMART error log.  SMART disks
	      maintain a log of	the most recent	five non-trivial  errors.  For
	      each  of	these  errors, the disk	power-on lifetime at which the
	      error occurred is	recorded,  as  is  the	device	status	(idle,
	      standby,	etc)  at the time of the error.	 For some common types
	      of errors, the Error Register (ER) and Status Register (SR) val-
	      ues are decoded and printed as text. The meanings	of these are:
		 ABRT:	Command	ABoRTed
		 AMNF:	Address	Mark Not Found
		 CCTO:	Command	Completion Timed Out
		 EOM:	End Of Media
		 ICRC:	Interface Cyclic Redundancy Code (CRC) error
		 IDNF:	IDentity Not Found
		 ILI:	(packet	command-set specific)
		 MC:	Media Changed
		 MCR:	Media Change Request
		 NM:	No Media
		 obs:	obsolete
		 TK0NF:	TracK 0	Not Found
		 UNC:	UNCorrectable Error in Data
		 WP:	Media is Write Protected
	      In  addition,  up	 to  the  last five commands that preceded the
	      error are	listed,	along with a timestamp measured	from the start
	      of  the corresponding power cycle. This is displayed in the form
	      Dd+HH:MM:SS.msec where D is the number of	days, HH is hours,  MM
	      is minutes, SS is	seconds	and msec is milliseconds.  [Note: this
	      time stamp wraps after 2^32 milliseconds,	or 49 days 17 hours  2
	      minutes  and  47.296  seconds.]	The key	ATA disk registers are
	      also recorded in the log.	 The final column of the error log  is
	      a	text-string description	of the ATA command defined by the Com-
	      mand Register (CR) and Feature Register (FR)  values.   Commands
	      that are obsolete	in the most current spec are listed like this:
	      READ LONG	(w/ retry) [OBS-4], indicating that the	command	became
	      obsolete	with  or  in  the ATA-4	specification.	Similarly, the
	      notation [RET-N] is used to indicate that	a command was  retired
	      in  the  ATA-N  specification.  Some commands are	not defined in
	      any version of the ATA specification but are in common use none-
	      theless; these are marked	[NS], meaning non-standard.

	      The  ATA	Specification  (ATA  ACS-2  Revision 7,	Section	A.7.1)
	      says: "Error log data structures shall include, but are not lim-
	      ited to, Uncorrectable errors, ID	Not Found errors for which the
	      LBA requested was	valid, servo errors, and write	fault  errors.
	      Error log	data structures	shall not include errors attributed to
	      the receipt of faulty commands."	The definitions	of these terms
	      are:
	      UNC (UNCorrectable): data	is uncorrectable.  This	refers to data
	      which has	been read from the  disk,  but	for  which  the	 Error
	      Checking	and  Correction	 (ECC)	codes  are  inconsistent.   In
	      effect, this means that the data can not be read.
	      IDNF (ID Not Found): user-accessible address could not be	found.
	      For READ LOG type	commands, IDNF can also	indicate that a	device
	      data log structure checksum was incorrect.

	      If the command that caused the error was a READ  or  WRITE  com-
	      mand,  then  the	Logical	Block Address (LBA) at which the error
	      occurred will be printed in base 10 and base 16.	The LBA	 is  a
	      linear  address,	which  counts  512-byte	 sectors  on the disk,
	      starting from zero.  (Because of the limitations	of  the	 SMART
	      error  log, if the LBA is	greater	than 0xfffffff,	then either no
	      error log	entry will be made, or the error log entry  will  have
	      an  incorrect  LBA.  This	 may happen for	drives with a capacity
	      greater than 128 GiB or 137 GB.) On Linux	systems	the  smartmon-
	      tools  web  page	has  instructions about	how to convert the LBA
	      address to the name of the disk file  containing	the  erroneous
	      disk sector.

	      Please  note  that  some manufacturers ignore the	ATA specifica-
	      tions, and make entries in the error log if the device  receives
	      a	command	which is not implemented or is not valid.

	      error  -	[SCSI]	prints	the error counter log pages for	reads,
	      write and	verifies.  The verify row is only output if it has  an
	      element other than zero.

	      error[,NUM]  -  [NVMe] [FreeBSD, Linux, Windows and Cygwin only]
	      [NEW EXPERIMENTAL	SMARTCTL FEATURE] prints the NVMe Error	Infor-
	      mation  log.  Only the 16	most recent log	entries	are printed by
	      default.	This number can	be changed by the  optional  parameter
	      NUM.   The  maximum number of log	entries	is vendor specific (in
	      the range	from 1 to 256 inclusive).

	      xerror[,NUM][,error] - [ATA only]	prints the Extended Comprehen-
	      sive SMART error log (General Purpose Log	address	0x03).	Unlike
	      the Summary SMART	error log (see '-l error' above), it  provides
	      sufficient  space	to log the contents of the 48-bit LBA register
	      set introduced with ATA-6.  It also supports logs	with more than
	      one  sector.   Each sector holds up to 4 log entries. The	actual
	      number of	log sectors is vendor specific.

	      Only the 8 most recent error log entries are printed by default.
	      This number can be changed by the	optional parameter NUM.

	      If  ',error'  is	appended  and the Extended Comprehensive SMART
	      error log	is not supported, the Summary SMART self-test  log  is
	      printed.

	      Please  note  that  recent  drives may report errors only	in the
	      Extended Comprehensive SMART error log.  The Summary SMART error
	      log may be reported as supported but is always empty then.

	      selftest - [ATA] prints the SMART	self-test log.	The disk main-
	      tains a self-test	log showing the	results	 of  the  self	tests,
	      which  can  be  run  using the '-t' option described below.  For
	      each of the most recent twenty-one self-tests, the log shows the
	      type  of	test  (short or	extended, off-line or captive) and the
	      final status of the test.	 If the	test did not complete success-
	      fully,  then the percentage of the test remaining	is shown.  The
	      time at which the	test took place, measured  in  hours  of  disk
	      lifetime,	 is  also  printed. [Note: this	time stamp wraps after
	      2^16 hours, or 2730 days and 16 hours, or	about 7.5  years.]  If
	      any errors were detected,	the Logical Block Address (LBA)	of the
	      first error is printed in	decimal	notation.   On	Linux  systems
	      the smartmontools	web page has instructions about	how to convert
	      this LBA address to the name of the  disk	 file  containing  the
	      erroneous	block.

	      selftest	-  [SCSI]  the	self-test  log for a SCSI device has a
	      slightly different format	than for an ATA	device.	 For  each  of
	      the most recent twenty self-tests, it shows the type of test and
	      the status (final	or in progress)	of the	test.  SCSI  standards
	      use  the	terms "foreground" and "background" (rather than ATA's
	      corresponding "captive" and "off-line") and "short"  and	"long"
	      (rather  than  ATA's  corresponding  "short"  and	"extended") to
	      describe the type	of the test.  The printed  segment  number  is
	      only  relevant when a test fails in the third or later test seg-
	      ment.  It	identifies the test that failed	and consists of	either
	      the  number  of  the segment that	failed during the test,	or the
	      number of	the test that failed and the number of the segment  in
	      which  the  test	was  run,  using  a  vendor-specific method of
	      putting both numbers into	a  single  byte.   The	Logical	 Block
	      Address (LBA) of the first error is printed in hexadecimal nota-
	      tion.  On	Linux systems the smartmontools	web page has  instruc-
	      tions  about  how	to convert this	LBA address to the name	of the
	      disk file	containing the erroneous block.	 If provided, the SCSI
	      Sense Key	(SK), Additional Sense Code (ASC) and Additional Sense
	      Code Qualifier (ASQ) are also printed. The self tests can	be run
	      using the	'-t' option described below (using the ATA test	termi-
	      nology).

	      xselftest[,NUM][,selftest] -  [ATA  only]	 prints	 the  Extended
	      SMART  self-test	log (General Purpose Log address 0x07).	Unlike
	      the SMART	self-test log (see '-l selftest' above),  it  supports
	      48-bit  LBA  and	logs  with  more than one sector.  Each	sector
	      holds up to 19 log entries. The actual number of log sectors  is
	      vendor specific.

	      Only the 25 most recent log entries are printed by default. This
	      number can be changed by the optional parameter NUM.

	      If ',selftest' is	appended and the Extended SMART	self-test  log
	      is not supported,	the old	SMART self-test	log is printed.

	      selective	 -  [ATA only] Please see the '-t select' option below
	      for a description	of selective self-tests.  The selective	 self-
	      test  log	 shows	the start/end Logical Block Addresses (LBA) of
	      each of the five test spans, and their current test status.   If
	      the  span	 is being tested or the	remainder of the disk is being
	      read-scanned, the	 current  65536-sector	block  of  LBAs	 being
	      tested  is  also	displayed.   The  selective self-test log also
	      shows if a read-scan of the remainder of the disk	will  be  car-
	      ried  out	 after	the selective self-test	has completed (see '-t
	      afterselect' option) and the time	delay before  restarting  this
	      read-scan	if it is interrupted (see '-t pending' option).

	      directory[,gs]  -	 [ATA only] if the device supports the General
	      Purpose Logging feature set (ATA-6 and above) then  this	prints
	      the  Log	Directory  (the	 log at	address	0).  The Log Directory
	      shows what logs are available and	their length in	 sectors  (512
	      bytes).	The  contents  of the logs at address 1	[Summary SMART
	      error log] and at	address	6 [SMART self-test log]	may be printed
	      using  the  previously-described error and selftest arguments to
	      this option.  If your version of smartctl	 supports  48-bit  ATA
	      commands,	 both the General Purpose Log (GPL) and	SMART Log (SL)
	      directories are printed in one combined table. The output	can be
	      restricted  to  the  GPL directory or SL directory by '-l	direc-
	      tory,q' or '-l directory,s' respectively.

	      background - [SCSI only] the background scan results log outputs
	      information derived from Background Media	Scans (BMS) done after
	      power up and/or periodically (e.g. every	24  hours)  on	recent
	      SCSI  disks. If supported, the BMS status	is output first, indi-
	      cating whether a background scan is currently underway  (and  if
	      so  a progress percentage), the amount of	time the disk has been
	      powered up and the number	of scans already completed. Then there
	      is  a  header and	a line for each	background scan	"event". These
	      will typically be	either recovered or unrecoverable errors. That
	      latter  group may	need some attention. There is a	description of
	      the background scan mechanism in section 4.18 of SBC-3  revision
	      6	(see www.t10.org ).

	      scttemp,	scttempsts,  scttemphist  - [ATA only] prints the disk
	      temperature information provided by the SMART Command  Transport
	      (SCT) commands.  The option 'scttempsts' prints current tempera-
	      ture and temperature ranges returned by the SCT Status  command,
	      'scttemphist' prints temperature limits and the temperature his-
	      tory table returned by the SCT Data Table	command, and 'scttemp'
	      prints  both.  The temperature values are	preserved across power
	      cycles.  The logging interval can	be  configured	with  the  '-l
	      scttempint,N[,p]'	 option,  see  below.	The  SCT commands were
	      introduced in ATA8-ACS and were also  supported  by  many	 ATA-7
	      disks.

	      scttempint,N[,p] - [ATA only] clears the SCT temperature history
	      table and	sets the time interval for temperature	logging	 to  N
	      minutes.	 If ',p' is specified, the setting is preserved	across
	      power cycles.  Otherwise,	the setting is volatile	 and  will  be
	      reverted	to  the	 last  non-volatile  setting  by the next hard
	      reset.  The default interval is vendor specific, typical	values
	      are 1, 2,	or 5 minutes.

	      scterc[,READTIME,WRITETIME]  -  [ATA  only]  prints  values  and
	      descriptions of the SCT Error Recovery Control  settings.	 These
	      are  equivalent  to  TLER	(as used by Western Digital), CCTL (as
	      used by Samsung and Hitachi/HGST)	and ERC	(as used by  Seagate).
	      READTIME and WRITETIME arguments (deciseconds) set the specified
	      values. Values of	0 disable the feature, other values less  than
	      65  are probably not supported. For RAID configurations, this is
	      typically	set to 70,70 deciseconds.

	      devstat[,PAGE] - [ATA only] prints values	 and  descriptions  of
	      the ATA Device Statistics	log pages (General Purpose Log address
	      0x04).  If no PAGE number	is specified, entries  from  all  sup-
	      ported  pages  are printed.  If PAGE 0 is	specified, the list of
	      supported	pages is printed.  Device Statistics was introduced in
	      ACS-2 and	is only	supported by some recent devices.

	      sataphy[,reset]  - [SATA only] prints values and descriptions of
	      the SATA Phy Event Counters (General Purpose Log address	0x11).
	      If '-l sataphy,reset' is specified, all counters are reset after
	      reading the values.  This	 also  works  for  SATA	 devices  with
	      Packet interface like CD/DVD drives.

	      sasphy[,reset]  -	 [SAS  (SCSI) only] prints values and descrip-
	      tions of the SAS (SSP) Protocol  Specific	 log  page  (log  page
	      0x18).   If  '-l	sasphy,reset'  is  specified, all counters are
	      reset after reading the values.

	      gplog,ADDR[,FIRST[-LAST|+SIZE]] -	[ATA only] prints a  hex  dump
	      of any log accessible via	General	Purpose	Logging	(GPL) feature.
	      The log address ADDR is the hex address listed in	the log	direc-
	      tory  (see  '-l  directory'  above).   The  range	of log sectors
	      (pages)  can  be	specified  by  decimal	values	FIRST-LAST  or
	      FIRST+SIZE.   FIRST defaults to 0, SIZE defaults to 1.  LAST can
	      be set to	'max' to specify the last page of the log.

	      smartlog,ADDR[,FIRST[-LAST|+SIZE]] - [ATA	 only]	prints	a  hex
	      dump  of any log accessible via SMART Read Log command.  See '-l
	      gplog,...' above for parameter syntax.

	      For example, all these commands:
		smartctl -l gplog,0x80,10-15 /dev/sda
		smartctl -l gplog,0x80,10+6 /dev/sda
		smartctl -l smartlog,0x80,10-15	/dev/sda
	      print pages 10-15	of log 0x80 (first host	vendor specific	 log).

	      The  hex	dump  format  is compatible with the 'xxd -r' command.
	      This command:
		smartctl -l gplog,0x11 /dev/sda	| grep ^0 | xxd	-r >log.bin
	      writes a binary representation of	the one	sector log 0x11	 (SATA
	      Phy Event	Counters) to file log.bin.

	      nvmelog,PAGE,SIZE	 -  [NVMe  only]  [FreeBSD, Linux, Windows and
	      Cygwin only] [NEW	EXPERIMENTAL SMARTCTL FEATURE]	prints	a  hex
	      dump  of	the first SIZE bytes from the NVMe log with identifier
	      PAGE.  PAGE is a hexadecimal number in the  range	 from  0x1  to
	      0xff.   SIZE  is	a  hexadecimal number in the range from	0x4 to
	      0x4000 (16 KiB).	WARNING: Do not	specify	the identifier	of  an
	      unknown  log page.  Reading a log	page may have undesirable side
	      effects.

	      ssd - [ATA] prints the Solid State Device	Statistics  log	 page.
	      This has the same	effect as '-l devstat,7', see above.

	      ssd  -  [SCSI]  prints  the  Solid  State	 Media percentage used
	      endurance	indicator. A value of 0	 indicates  as	new  condition
	      while  100 indicates the device is at the	end of its lifetime as
	      projected	by the manufacturer. The value may reach 255.

       -v   ID,FORMAT[:BYTEORDER][,NAME],   --vendorattribute=ID,FORMAT[:BYTE-
       ORDER][,NAME]
	      [ATA only] Sets a	vendor-specific	raw  value  print  FORMAT,  an
	      optional	BYTEORDER and an optional NAME for Attribute ID.  This
	      option may be used multiple times.

	      The Attribute ID can be in the range 1 to	255. If	'N' is	speci-
	      fied as ID, the settings for all Attributes are changed.

	      The  optional  BYTEORDER	consists of 1 to 8 characters from the
	      set '012345rvwz'.	The characters '0' to '5' select the byte 0 to
	      5	 from  the  48-bit raw value, 'r' selects the reserved byte of
	      the attribute data block,	'v' selects the	normalized value,  'w'
	      selects  the  worst  value  and  'z'  inserts  a zero byte.  The
	      default BYTEORDER	is '543210' for	all 48-bit formats,  'r543210'
	      for  the	54-bit formats,	and '543210wv' for the 64-bit formats.
	      For  example,  '-v  5,raw48:012345'  prints  the	raw  value  of
	      attribute	5 with big endian instead of little endian byte	order-
	      ing.

	      The NAME is a string of letters,	digits	and  underscore.   Its
	      length should not	exceed 23 characters.  The '-P showall'	option
	      reports an error if this is the case.

	      -v help -	Prints (to STDOUT) a list of all  valid	 arguments  to
	      this option, then	exits.

	      Valid arguments for FORMAT are:

	      raw8  -  Print the Raw value as six 8-bit	unsigned base-10 inte-
	      gers.  This may be useful	for decoding the meaning  of  the  Raw
	      value.

	      raw16  -	Print  the  Raw	value as three 16-bit unsigned base-10
	      integers.	 This may be useful for	decoding the  meaning  of  the
	      Raw value.

	      raw48  -	Print the Raw value as a 48-bit	unsigned base-10 inte-
	      ger.  This is the	default	for most attributes.

	      hex48 - Print the	Raw value as a 12  digit  hexadecimal  number.
	      This may be useful for decoding the meaning of the Raw value.

	      raw56  -	Print the Raw value as a 54-bit	unsigned base-10 inte-
	      ger.  This includes the reserved byte which follows  the	48-bit
	      raw value.

	      hex56  -	Print  the Raw value as	a 14 digit hexadecimal number.
	      This includes the	reserved byte which  follows  the  48-bit  raw
	      value.

	      raw64  -	Print the Raw value as a 64-bit	unsigned base-10 inte-
	      ger.  This includes two bytes  from  the	normalized  and	 worst
	      attribute	 value.	  This	raw format is used by some SSD devices
	      with Indilinx controller.

	      hex64 - Print the	Raw value as a 16  digit  hexadecimal  number.
	      This  includes two bytes from the	normalized and worst attribute
	      value.  This raw format is used by some SSD devices with	Indil-
	      inx controller.

	      min2hour	-  Raw Attribute is power-on time in minutes.  Its raw
	      value will be displayed in the form "Xh+Ym".  Here X  is	hours,
	      and  Y  is  minutes  in  the  range 0-59 inclusive.  Y is	always
	      printed with two digits, for example "06"	or "31"	or "00".

	      sec2hour - Raw Attribute is power-on time	in seconds.   Its  raw
	      value  will  be  displayed  in  the  form	"Xh+Ym+Zs".  Here X is
	      hours, Y is minutes in the range 0-59 inclusive, and Z  is  sec-
	      onds  in	the  range 0-59	inclusive.  Y and Z are	always printed
	      with two digits, for example "06"	or "31"	or "00".

	      halfmin2hour - Raw Attribute is power-on time, measured in units
	      of  30 seconds.  This format is used by some Samsung disks.  Its
	      raw value	will be	displayed in the  form	"Xh+Ym".   Here	 X  is
	      hours,  and  Y  is  minutes  in  the range 0-59 inclusive.  Y is
	      always printed with two digits, for  example  "06"  or  "31"  or
	      "00".

	      msec24hour32 - Raw Attribute is power-on time measured in	32-bit
	      hours and	24-bit milliseconds since last hour update.   It  will
	      be  displayed  in	 the form "Xh+Ym+Z.Ms".	 Here X	is hours, Y is
	      minutes, Z is seconds and	M is milliseconds.

	      tempminmax - Raw Attribute is the	disk temperature  in  Celsius.
	      Info about Min/Max temperature is	printed	if available.  This is
	      the default for Attributes 190 and 194.  The recording  interval
	      (lifetime,  last	power  cycle,  last soft reset)	of the min/max
	      values is	device specific.

	      temp10x -	Raw Attribute is ten times  the	 disk  temperature  in
	      Celsius.

	      raw16(raw16) - Print the raw attribute as	a 16-bit value and two
	      optional 16-bit values if	these words are	nonzero.  This is  the
	      default for Attributes 5 and 196.

	      raw16(avg16)  - Raw attribute is spin-up time.  It is printed as
	      a	16-bit value and an optional "Average"	16-bit	value  if  the
	      word is nonzero.	This is	the default for	Attribute 3.

	      raw24(raw8)  -  Print  the  raw  attribute as a 24-bit value and
	      three optional 8-bit values if these bytes are nonzero.  This is
	      the default for Attribute	9.

	      raw24/raw24  -  Raw  Attribute  contains	two 24-bit values. The
	      first is the number of load cycles.  The second is the number of
	      unload  cycles.	The difference between these two values	is the
	      number of	times that the	drive  was  unexpectedly  powered  off
	      (also  called  an	 emergency  unload).  As  a rule of thumb, the
	      mechanical stress	created	by one emergency unload	is  equivalent
	      to that created by one hundred normal unloads.

	      raw24/raw32 - Raw	attribute is an	error rate which consists of a
	      24-bit error count and a 32-bit total count.

	      The following old	arguments to '-v' are also still valid:

	      9,minutes	- same as: 9,min2hour,Power_On_Minutes.

	      9,seconds	- same as: 9,sec2hour,Power_On_Seconds.

	      9,halfminutes - same as: 9,halfmin2hour,Power_On_Half_Minutes.

	      9,temp - same as:	9,tempminmax,Temperature_Celsius.

	      192,emergencyretractcyclect	  -	     same	   as:
	      192,raw48,Emerg_Retract_Cycle_Ct

	      193,loadunload - same as:	193,raw24/raw24.

	      194,10xCelsius - same as:	194,temp10x,Temperature_Celsius_x10.

	      194,unknown - same as: 194,raw48,Unknown_Attribute.

	      197,increasing - same as:	197,raw48,Total_Pending_Sectors.  Also
	      means that Attribute number 197 (Current Pending	Sector	Count)
	      is  not  reset  if  uncorrectable	 sectors  are reallocated (see
	      smartd.conf(5) man page).

	      198,increasing  -	 same  as:  198,raw48,Total_Offl_Uncorrectabl.
	      Also means that Attribute	number 198 (Offline Uncorrectable Sec-
	      tor Count) is not	reset if uncorrectable sectors are reallocated
	      (see smartd.conf(5) man page).

	      198,offlinescanuncsectorct	  -	     same	   as:
	      198,raw48,Offline_Scan_UNC_SectCt.

	      200,writeerrorcount - same as: 200,raw48,Write_Error_Count.

	      201,detectedtacount - same as: 201,raw48,Detected_TA_Count.

	      220,temp - same as: 220,tempminmax,Temperature_Celsius.

       -F TYPE,	--firmwarebug=TYPE
	      [ATA only] Modifies the behavior of smartctl to  compensate  for
	      some  known  and understood device firmware or driver bug.  This
	      option may be used multiple times.  The valid arguments are:

	      none - Assume that the device firmware obeys the ATA  specifica-
	      tions.   This  is	the default, unless the	device has presets for
	      '-F' in the drive	database.  Using this option  on  the  command
	      line will	override any preset values.

	      nologdir	-  Suppresses  read attempts of	SMART or GP Log	Direc-
	      tory.  Support for all  standard	logs  is  assumed  without  an
	      actual  check.   Some  Intel SSDs	may freeze if log address 0 is
	      read.

	      samsung -	In some	Samsung	disks (example:	model SV4012H Firmware
	      Version:	RM100-08) some of the two- and four-byte quantities in
	      the SMART	data structures	are byte-swapped (relative to the  ATA
	      specification).  Enabling	this option tells smartctl to evaluate
	      these quantities in byte-reversed	order.	Some signs  that  your
	      disk  needs  this	 option	are (1)	no self-test log printed, even
	      though you have run self-tests; (2) very large  numbers  of  ATA
	      errors reported in the ATA error log; (3)	strange	and impossible
	      values for the ATA error log timestamps.

	      samsung2 - In some  Samsung  disks  the  number  of  ATA	errors
	      reported	is  byte swapped.  Enabling this option	tells smartctl
	      to evaluate this quantity	in byte-reversed order.	An  indication
	      that  your  Samsung disk needs this option is that the self-test
	      log is printed correctly,	but there are a	very large  number  of
	      errors  in the SMART error log.  This is because the error count
	      is byte swapped.	Thus a disk with  five	errors	(0x0005)  will
	      appear to	have 20480 errors (0x5000).

	      samsung3	-  Some	 Samsung disks (at least SP2514N with Firmware
	      VF100-37)	report a self-test still in progress with 0% remaining
	      when  the	test was already completed. Enabling this option modi-
	      fies the output of the self-test execution status	 (see  options
	      '-c' or '-a' above) accordingly.

	      xerrorlba	 -  Fixes  LBA byte ordering in	Extended Comprehensive
	      SMART error log.	Some disks use	little	endian	byte  ordering
	      instead  of  ATA register	ordering to specifiy the LBA addresses
	      in the log entries.

	      swapid - Fixes byte swapped ATA identify strings	(device	 name,
	      serial  number,  firmware	version) returned by some buggy	device
	      drivers.

       -P TYPE,	--presets=TYPE
	      [ATA only] Specifies whether  smartctl  should  use  any	preset
	      options  that  are  available for	this drive. By default,	if the
	      drive is recognized in the smartmontools database, then the pre-
	      sets are used.

	      The  argument  show  will	show any preset	options	for your drive
	      and the argument showall will  show  all	known  drives  in  the
	      smartmontools  database,	along  with  their preset options.  If
	      there are	no presets for your drive and you think	 there	should
	      be  (for example,	a -v or	-F option is needed to get smartctl to
	      display correct values) then please  contact  the	 smartmontools
	      developers  so  that this	information can	be added to the	smart-
	      montools database.  Contact information is at the	 end  of  this
	      man page.

	      The valid	arguments to this option are:

	      use  - if	a drive	is recognized, then use	the stored presets for
	      it.  This	is the default.	Note that presets  will	 NOT  override
	      additional  Attribute interpretation ('-v	N,something') command-
	      line options or explicit '-F' command-line options..

	      ignore - do not use presets.

	      show - show if the drive is recognized in	the database,  and  if
	      so, its presets, then exit.

	      showall  -  list all recognized drives, and the presets that are
	      set for them, then exit.	This also checks  the  drive  database
	      regular expressions and settings for syntax errors.

	      The  '-P	showall'  option takes up to two optional arguments to
	      match a specific drive type and firmware version.	The command:
		smartctl -P showall
	      lists all	entries, the command:
		smartctl -P showall 'MODEL'
	      lists all	entries	matching MODEL,	and the	command:
		smartctl -P showall 'MODEL' 'FIRMWARE'
	      lists all	entries	for this MODEL and a  specific	FIRMWARE  ver-
	      sion.

       -B [+]FILE, --drivedb=[+]FILE
	      [ATA  only] Read the drive database from FILE.  The new database
	      replaces the built in database by	default.  If '+' is specified,
	      then the new entries prepend the built in	entries.

	      Optional	    entries	are	read	 from	  the	  file
	      /usr/local/etc/smart_drivedb.h if	this option is not  specified.

	      If /usr/local/share/smartmontools/drivedb.h is present, the con-
	      tents of this file is used instead of the	built in table.

	      Run /usr/local/sbin/update-smart-drivedb	to  update  this  file
	      from the smartmontools SVN repository.

	      The  database  files  use	 the same C/C++	syntax that is used to
	      initialize the built in database array. C/C++ style comments are
	      allowed.	Example:

		/* Full	entry: */
		{
		  "Model family",    //	Info about model family/series.
		  "MODEL1.*REGEX",   //	Regular	expression to match model of device.
		  "VERSION.*REGEX",  //	Regular	expression to match firmware version(s).
		  "Some	warning",    //	Warning	message.
		  "-v 9,minutes"     //	String of preset -v and	-F options.
		},
		/* Minimal entry: */
		{
		  "",		     //	No model family/series info.
		  "MODEL2.*REGEX",   //	Regular	expression to match model of device.
		  "",		     //	All firmware versions.
		  "",		     //	No warning.
		  ""		     //	No options preset.
		},
		/* USB ID entry: */
		{
		  "USB:	Device;	Bridge", // Info about USB device and bridge name.
		  "0x1234:0xabcd",   //	Regular	expression to match vendor:product ID.
		  "0x0101",	     //	Regular	expression to match bcdDevice.
		  "",		     //	Not used.
		  "-d sat"	     //	String with device type	option.
		},
		/* ... */

       SMART RUN/ABORT OFFLINE TEST AND	self-test OPTIONS:

       -t TEST,	--test=TEST
	      Executes	TEST immediately.  The '-C' option can be used in con-
	      junction with this option	to run the short or long (and also for
	      ATA devices, selective or	conveyance) self-tests in captive mode
	      (known as	"foreground mode" for SCSI devices).  Note  that  only
	      one test type can	be run at a time, so only one test type	should
	      be specified per command line.  Note also	that if	a computer  is
	      shutdown	or  power  cycled  during  a self-test,	no harm	should
	      result.  The self-test will either be  aborted  or  will	resume
	      automatically.

	      All  '-t TEST' commands can be given during normal system	opera-
	      tion unless captive mode ('-C' option) is	used.  A running self-
	      test  can,  however, degrade performance of the drive.  Frequent
	      I/O requests from	the operating system increase the duration  of
	      a	test.  These impacts may vary from device to device.

	      If  a  test  failure  occurs then	the device may discontinue the
	      testing and report the result immediately.

	      The valid	arguments to this option are:

	      offline -	[ATA] runs SMART Immediate Offline Test.  This immedi-
	      ately  starts  the  test	described  above.  This	command	can be
	      given during normal system operation.  The effects of this  test
	      are  visible only	in that	it updates the SMART Attribute values,
	      and if errors are	found they will	appear in the SMART error log,
	      visible with the '-l error' option.

	      If  the  '-c'  option  to	smartctl shows that the	device has the
	      "Suspend Offline collection upon new  command"  capability  then
	      you  can	track the progress of the Immediate Offline test using
	      the '-c' option to smartctl.  If the '-c'	option show  that  the
	      device has the "Abort Offline collection upon new	command" capa-
	      bility then most commands	will abort the Immediate Offline Test,
	      so  you  should  not  try	to track the progress of the test with
	      '-c', as it will abort the test.

	      offline -	[SCSI] runs the	default	self test  in  foreground.  No
	      entry is placed in the self test log.

	      short - [ATA] runs SMART Short Self Test (usually	under ten min-
	      utes).  This command can be given	during normal system operation
	      (unless  run in captive mode - see the '-C' option below).  This
	      is a test	in a different category	than the  immediate  or	 auto-
	      matic  offline tests.  The "Self"	tests check the	electrical and
	      mechanical performance as	well as	the read  performance  of  the
	      disk.   Their  results  are reported in the Self Test Error Log,
	      readable with the	'-l selftest' option.  Note that on some disks
	      the  progress of the self-test can be monitored by watching this
	      log during the self-test;	with other disks use the  '-c'	option
	      to monitor progress.

	      short - [SCSI] runs the "Background short" self-test.

	      long  -  [ATA]  runs SMART Extended Self Test (tens of minutes).
	      This is a	longer and more	thorough version  of  the  Short  Self
	      Test  described above.  Note that	this command can be given dur-
	      ing normal system	operation (unless run in captive  mode	-  see
	      the '-C' option below).

	      long - [SCSI] runs the "Background long" self-test.

	      conveyance  - [ATA only] runs a SMART Conveyance Self Test (min-
	      utes).  This self-test routine is	intended  to  identify	damage
	      incurred	during transporting of the device. This	self-test rou-
	      tine should take on the order of minutes to complete.  Note that
	      this command can be given	during normal system operation (unless
	      run in captive mode - see	the '-C' option	below).

	      select,N-M, select,N+SIZE	- [ATA only] runs  a  SMART  Selective
	      Self  Test,  to  test  a	range  of disk Logical Block Addresses
	      (LBAs), rather than the entire disk.  Each range of LBAs that is
	      checked  is  called  a "span" and	is specified by	a starting LBA
	      (N) and an ending	LBA (M)	with N less than or equal  to  M.  The
	      range  can  also	be specified as	N+SIZE.	A span at the end of a
	      disk can be specified by N-max.

	      For example the commands:
		smartctl -t select,10-20 /dev/sda
		smartctl -t select,10+11 /dev/sda
	      both runs	a self test on one span	 consisting  of	 LBAs  ten  to
	      twenty (inclusive). The command:
		smartctl -t select,100000000-max /dev/sda
	      run  a  self  test from LBA 100000000 up to the end of the disk.
	      The '-t' option can be given up to five times,  to  test	up  to
	      five spans.  For example the command:
		smartctl -t select,0-100 -t select,1000-2000 /dev/sda
	      runs  a  self test on two	spans.	The first span consists	of 101
	      LBAs and the second span consists	of 1001	LBAs.  Note  that  the
	      spans can	overlap	partially or completely, for example:
		smartctl -t select,0-10	-t select,5-15 -t select,10-20 /dev/sda
	      The  results  of	the  selective self-test can be	obtained (both
	      during and after the test) by printing the SMART self-test  log,
	      using the	'-l selftest' option to	smartctl.

	      Selective	 self tests are	particularly useful as disk capacities
	      increase:	an extended self test (smartctl	-t long) can take sev-
	      eral  hours.  Selective self-tests are helpful if	(based on SYS-
	      LOG error	messages, previous failed self-tests, or  SMART	 error
	      log  entries)  you  suspect  that	a disk is having problems at a
	      particular range of Logical Block	Addresses (LBAs).

	      Selective	self-tests can be run during normal  system  operation
	      (unless done in captive mode - see the '-C' option below).

	      The  following  variants	of the selective self-test command use
	      spans based on the ranges	from past tests	already	stored on  the
	      disk:

	      select,redo[+SIZE]  -  [ATA  only] redo the last SMART Selective
	      Self Test	using the same LBA range. The starting LBA is  identi-
	      cal  to  the LBA used by last test, same for ending LBA unless a
	      new span size is specified by optional +SIZE argument.

	      For example the commands:
		smartctl -t select,10-20 /dev/sda
		smartctl -t select,redo	/dev/sda
		smartctl -t select,redo+20 /dev/sda
	      have the same effect as:
		smartctl -t select,10-20 /dev/sda
		smartctl -t select,10-20 /dev/sda
		smartctl -t select,10-29 /dev/sda

	      select,next[+SIZE] - [ATA	only] runs a SMART Selective Self Test
	      on  the  LBA range which follows the range of the	last test. The
	      starting LBA is set to (ending LBA +1) of	the last test.	A  new
	      span size	may be specified by the	optional +SIZE argument.

	      For example the commands:
		smartctl -t select,0-999 /dev/sda
		smartctl -t select,next	/dev/sda
		smartctl -t select,next+2000 /dev/sda
	      have the same effect as:
		smartctl -t select,0-999 /dev/sda
		smartctl -t select,1000-1999 /dev/sda
		smartctl -t select,2000-3999 /dev/sda

	      If  the  last  test  ended  at the last LBA of the disk, the new
	      range starts at LBA 0. The span size of the last span of a  disk
	      is  adjusted  such  that	the total number of spans to check the
	      full  disk  will	not  be	 changed  by  future   uses   of   '-t
	      select,next'.

	      select,cont[+SIZE] - [ATA	only] performs a 'redo'	(above)	if the
	      self test	status reports that the	last test was aborted  by  the
	      host. Otherwise it run the 'next'	(above)	test.

	      afterselect,on - [ATA only] perform an offline read scan after a
	      Selective	self-test has completed.  This	option	must  be  used
	      together	with  one  or more of the select,N-M options above. If
	      the LBAs that have been specified	 in  the  Selective  self-test
	      pass the test with no errors found, then read scan the remainder
	      of the disk.  If the device is powered-cycled  while  this  read
	      scan is in progress, the read scan will be automatically resumed
	      after a time specified by	the pending timer  (see	 below).   The
	      value  of	this option is preserved between selective self-tests.

	      afterselect,off -	[ATA only] do not read scan the	 remainder  of
	      the disk after a Selective self-test has completed.  This	option
	      must be use together with	one or more of the select,N-M  options
	      above.   The value of this option	is preserved between selective
	      self-tests.

	      pending,N	- [ATA only] set the pending offline read  scan	 timer
	      to N minutes.  Here N is an integer in the range from 0 to 65535
	      inclusive.  If the device	is powered  off	 during	 a  read  scan
	      after  a Selective self-test, then resume	the test automatically
	      N	minutes	after power-up.	 This option must be use together with
	      one  or  more of the select,N-M options above. The value of this
	      option is	preserved between selective self-tests.

	      vendor,N - [ATA only] issues the ATA command SMART EXECUTE  OFF-
	      LINE  IMMEDIATE  with subcommand N in LBA	LOW register. The sub-
	      command is specified as a	hex value in the range 0x00  to	 0xff.
	      Subcommands 0x40-0x7e and	0x90-0xff are reserved for vendor spe-
	      cific use, see table 61 of T13/1699-D  Revision  6a  (ATA8-ACS).
	      Note that	the subcommands	0x00-0x04,0x7f,0x81-0x84 are supported
	      by other smartctl	options	(e.g. 0x01: '-t	 short',  0x7f:	 '-X',
	      0x82: '-C	-t long').

	      WARNING:	Only  run  subcommands documented by the vendor	of the
	      device.

	      Example for some Intel SSDs only:	The subcommand 0x40 ('-t  ven-
	      dor,0x40')  clears  the  timed workload related SMART attributes
	      (226, 227, 228).	Note that the raw values of  these  attributes
	      are  held	 at 65535 (0xffff) until the workload timer reaches 60
	      minutes.

	      force - start new	self-test even if another test is already run-
	      ning.  By	default	a running self-test will not be	interrupted to
	      begin another test.

       -C, --captive
	      [ATA] Runs self-tests in captive mode.  This has no effect  with
	      '-t offline' or if the '-t' option is not	used.

	      WARNING:	Tests  run  in captive mode may	busy out the drive for
	      the length of the	test.  Only run	captive	tests on drives	 with-
	      out any mounted partitions!

	      [SCSI] Runs the self-test	in "Foreground"	mode.

       -X, --abort
	      Aborts  non-captive  SMART  Self	Tests.	Note that this command
	      will abort the Offline Immediate Test routine only if your  disk
	      has  the "Abort Offline collection upon new command" capability.

ATA, SCSI command sets and SAT
       In the past there has been a clear distinction between storage  devices
       that  used  the	ATA  and SCSI command sets. This distinction was often
       reflected in their device naming	and hardware. Now various SCSI	trans-
       ports  (e.g.  SAS,  FC  and  iSCSI) can interconnect to both SCSI disks
       (e.g. FC	and SAS) and ATA disks (especially SATA). USB  and  IEEE  1394
       storage	devices	 use the SCSI command set externally but almost	always
       contain ATA or SATA disks (or flash). The storage  subsystems  in  some
       operating  systems  have	 started to remove the distinction between ATA
       and SCSI	in their device	naming policies.

       99% of operations that an OS  performs  on  a  disk  involve  the  SCSI
       INQUIRY,	 READ  CAPACITY, READ and WRITE	commands, or their ATA equiva-
       lents. Since the	SCSI commands are slightly more	general	than their ATA
       equivalents,  many  OSes	 are generating	SCSI commands (mainly READ and
       WRITE) and letting a lower level	translate them to  their  ATA  equiva-
       lents  as the need arises. An important note here is that "lower	level"
       may be in external equipment and	hence outside the control of an	OS.

       SCSI to ATA Translation (SAT) is	a standard (ANSI INCITS	431-2007) that
       specifies  how this translation is done.	For the	other 1% of operations
       that an OS performs on a	disk, SAT provides two options.	 First	is  an
       optional	 ATA  PASS-THROUGH  SCSI command (there	are two	variants). The
       second is a translation from the	closest	 SCSI  command.	 Most  current
       interest	is in the "pass-through" option.

       The  relevance to smartmontools (and hence smartctl) is that its	inter-
       actions with disks fall solidly into the	"1%" category. So even if  the
       OS  can	happily	treat (and name) a disk	as "SCSI", smartmontools needs
       to detect the native command set	and act	accordingly.  As more  storage
       manufacturers  (including external SATA drives) comply with SAT,	smart-
       montools	is able	to automatically distinguish the native	command	set of
       the  device. In some cases the '-d sat' option is needed	on the command
       line.

       There are also virtual disks which typically have no useful information
       to  convey  to  smartmontools,  but could conceivably in	the future. An
       example of a virtual disk is the	OS's view of a RAID 1 box.  There  are
       most  likely  two SATA disks inside a RAID 1 box. Addressing those SATA
       disks from a distant OS	is  a  challenge  for  smartmontools.  Another
       approach	 is  running  a	 tool like smartmontools inside	the RAID 1 box
       (e.g.  a	Network	Attached Storage (NAS) box) and	fetching the logs  via
       a browser.

EXAMPLES
       smartctl	-a /dev/sda
       Print a large amount of SMART information for drive /dev/sda .

       smartctl	-s off /dev/sdd
       Disable SMART monitoring	and data log collection	on drive /dev/sdd .

       smartctl	--smart=on --offlineauto=on --saveauto=on /dev/sda
       Enable  SMART on	drive /dev/sda,	enable automatic offline testing every
       four hours, and enable autosaving of SMART Attributes.  This is a  good
       start-up	line for your system's init files.  You	can issue this command
       on a running system.

       smartctl	-t long	/dev/sdc
       Begin an	extended self-test of drive /dev/sdc.  You can issue this com-
       mand on a running system.  The results can be seen in the self-test log
       visible with the	'-l selftest' option after it has completed.

       smartctl	-s on -t offline /dev/sda
       Enable SMART on the disk, and begin an immediate	offline	test of	 drive
       /dev/sda.  You can issue	this command on	a running system.  The results
       are only	used to	update the SMART Attributes,  visible  with  the  '-A'
       option.	If any device errors occur, they are logged to the SMART error
       log, which can be seen with the '-l error' option.

       smartctl	-A -v 9,minutes	/dev/sda
       Shows the vendor	Attributes, when the disk  stores  its	power-on  time
       internally in minutes rather than hours.

       smartctl	-q errorsonly -H -l selftest /dev/sda
       Produces	 output	only if	the device returns failing SMART status, or if
       some of the logged self-tests ended with	errors.

       smartctl	-q silent -a /dev/sda
       Examine all SMART data for device /dev/sda, but produce no printed out-
       put.  You must use the exit status (the $?  shell variable) to learn if
       any Attributes are out of bound,	if the SMART  status  is  failing,  if
       there  are errors recorded in the self-test log,	or if there are	errors
       recorded	in the disk error log.

       smartctl	-a -d 3ware,0 /dev/sda
       Examine all SMART data for the first ATA	disk connected to a 3ware RAID
       controller card.

       smartctl	-a -d 3ware,0 /dev/twe0
       Examine all SMART data for the first ATA	disk connected to a 3ware RAID
       6000/7000/8000 controller card.

       smartctl	-a -d 3ware,0 /dev/twa0
       Examine all SMART data for the first ATA	disk connected to a 3ware RAID
       9000 controller card.

       smartctl	-a -d 3ware,0 /dev/twl0
       Examine all SMART data for the first SATA (not SAS) disk	connected to a
       3ware RAID 9750 controller card.

       smartctl	-t short -d 3ware,3 /dev/sdb
       Start a short self-test on the fourth ATA disk connected	to  the	 3ware
       RAID controller card which is the second	SCSI device /dev/sdb.

       smartctl	-t long	-d areca,4 /dev/sg2
       Start  a	 long  self-test on the	fourth SATA disk connected to an Areca
       RAID controller addressed by /dev/sg2.

       smartctl	-a -d hpt,1/3 /dev/sda (under Linux)
       smartctl	-a -d hpt,1/3 /dev/hptrr (under	FreeBSD)
       Examine all SMART data for the (S)ATA disk directly  connected  to  the
       third channel of	the first HighPoint RocketRAID controller card.

       smartctl	-t short -d hpt,1/1/2 /dev/sda (under Linux)
       smartctl	-t short -d hpt,1/1/2 /dev/hptrr (under	FreeBSD)
       Start  a	 short self-test on the	(S)ATA disk connected to second	pmport
       on the first channel of the first HighPoint RocketRAID controller card.

       smartctl	-t select,10-100 -t select,30-300 -t afterselect,on -t pending,45 /dev/sda
       Run  a  selective self-test on LBAs 10 to 100 and 30 to 300.  After the
       these LBAs have been tested, read-scan the remainder of the  disk.   If
       the  disk is power-cycled during	the read-scan, resume the scan 45 min-
       utes after power	to the device is restored.

       smartctl	-a -d cciss,0 /dev/cciss/c0d0
       Examine all SMART data for the first SCSI disk  connected  to  a	 cciss
       RAID controller card.

EXIT STATUS
       The exit	statuses of smartctl are defined by a bitmask.	If all is well
       with the	disk, the exit status (return value) of	 smartctl  is  0  (all
       bits  turned  off).  If a problem occurs, or an error, potential	error,
       or fault	is detected, then a non-zero  status  is  returned.   In  this
       case,  the  eight  different bits in the	exit status have the following
       meanings	for ATA	disks; some of these values may	also be	 returned  for
       SCSI disks.

       Bit 0: Command line did not parse.

       Bit 1: Device  open  failed,  device  did not return an IDENTIFY	DEVICE
	      structure, or device is in a low-power  mode  (see  '-n'	option
	      above).

       Bit 2: Some SMART or other ATA command to the disk failed, or there was
	      a	checksum error in a SMART  data	 structure  (see  '-b'	option
	      above).

       Bit 3: SMART status check returned "DISK	FAILING".

       Bit 4: We found prefail Attributes <= threshold.

       Bit 5: SMART  status  check  returned  "DISK OK"	but we found that some
	      (usage or	prefail) Attributes have been  <=  threshold  at  some
	      time in the past.

       Bit 6: The device error log contains records of errors.

       Bit 7: The device self-test log contains	records	of errors.  [ATA only]
	      Failed self-tests	outdated by a newer successful extended	 self-
	      test are ignored.

       To  test	 within	 the  shell  for whether or not	the different bits are
       turned on or off, you can use the following type	of construction	(which
       should work with	any POSIX compatible shell):
       smartstat=$(($? & 8))
       This  looks at only at bit 3 of the exit	status $?  (since 8=2^3).  The
       shell variable  $smartstat  will	 be  nonzero  if  SMART	 status	 check
       returned	"disk failing" and zero	otherwise.

       This shell script prints	all status bits:
       val=$?; mask=1
       for i in	0 1 2 3	4 5 6 7; do
	 echo "Bit $i: $(((val & mask) && 1))"
	 mask=$((mask << 1))
       done

FILES
       /usr/local/sbin/smartctl
	      full path	of this	executable.

       /usr/local/share/smartmontools/drivedb.h
	      drive database (see '-B' option).

       /usr/local/etc/smart_drivedb.h
	      optional local drive database (see '-B' option).

AUTHORS
       Bruce Allen (project initiator),
       Christian  Franke  (project  manager,  Windows  port  and  all  sort of
       things),
       Douglas Gilbert (SCSI subsystem),
       Volker Kuhlmann (moderator of support and database mailing list),
       Gabriele	Pohl (wiki & development team support),
       Alex Samorukov (FreeBSD port and	more, new Trac wiki).

       Many other individuals have made	 contributions	and  corrections,  see
       AUTHORS,	ChangeLog and repository files.

       The  first  smartmontools code was derived from the smartsuite package,
       written by Michael Cornwell and Andre Hedrick.

REPORTING BUGS
       To submit a bug report, create a	ticket in smartmontools	wiki:
       <http://www.smartmontools.org/>.
       Alternatively send the info to the smartmontools	support	mailing	list:
       <https://lists.sourceforge.net/lists/listinfo/smartmontools-support>.

SEE ALSO
       smartd(8).
       update-smart-drivedb(8).

REFERENCES
       Please see the following	web site for more  info:  http://www.smartmon-
       tools.org/

       An  introductory	 article  about	smartmontools is Monitoring Hard Disks
       with SMART, by Bruce Allen, Linux Journal, January 2004,	 pages	74-77.
       This is http://www.linuxjournal.com/article/6983	online.

       If  you	would  like  to	understand better how SMART works, and what it
       does, a good place to start is with Sections 4.8	and 6.54 of the	 first
       volume  of  the	'AT  Attachment	with Packet Interface-7' (ATA/ATAPI-7)
       specification Revision 4b.   This  documents  the  SMART	 functionality
       which the smartmontools utilities provide access	to.

       The  functioning	of SMART was originally	defined	by the SFF-8035i revi-
       sion 2 and the SFF-8055i	revision 1.4 specifications.  These are	publi-
       cations of the Small Form Factors (SFF) Committee.

       Links  to  these	 and other documents may be found on the Links page of
       the smartmontools Wiki at http://www.smartmontools.org/wiki/Links .

PACKAGE	VERSION
       smartmontools-6.5 2016-05-07 r4318
       $Id: smartctl.8.in 4311 2016-04-27 21:03:01Z chrfranke $

smartmontools-6.5		  2016-05-07			   SMARTCTL(8)

NAME | SYNOPSIS | DESCRIPTION | OPTIONS | ATA, SCSI command sets and SAT | EXAMPLES | EXIT STATUS | FILES | AUTHORS | REPORTING BUGS | SEE ALSO | REFERENCES | PACKAGE VERSION

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=smartctl&manpath=FreeBSD+11.1-RELEASE+and+Ports>

home | help