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  Off-
	      line  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,Off-
	      line_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&sektion=8&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help