The smartmontools package contains two utility programs (smartctl and smartd) to control and monitor storage systems using the Self-Monitoring, Analysis and Reporting Technology System (SMART) built into most modern ATA/SATA, SCSI/SAS and NVMe disks. In many cases, these utilities will provide advanced warning of disk degradation and failure. Smartmontools was originally derived from the Linux ​smartsuite package and actually supports ATA/SATA, SCSI/SAS and NVMe disks and also SCSI/SAS tape devices. It should run on any modern Linux, FreeBSD, NetBSD, OpenBSD, Darwin (macOS), Solaris, Windows, Cygwin, OS/2, eComStation or QNX system. Smartmontools can also be run from one of many different Live CDs/DVDs.

Sourcecode tarballs and precompiled packages for Darwin (macOS) and Windows

What's New:

  • smartctl: New option '--json=y[c]' selects YAML output.
  • smartctl '-i': Prints ATA TRIM and Zoned Device capabilities.
  • smartctl '-j': Fixed 'scsi_grown_defect_list' value.
  • smartctl '-a': Prints SCSI 'Accumulated power on time'.
  • smartctl '-n POWERMODE': SCSI support.
  • smartctl '-s standby,now' and '-s standby,off': SCSI support.
  • smartctl '-c': NVMe 1.4 additions.
  • smartd: Support for staggered self-tests.
  • smartd: No longer writes attribute log if no attributes were read
  • due to standby mode or other error.
  • smartd: Now resolves symlinks before device names are checked for duplicates.
  • smartd: Fixed SMARTD_DEVICETYPE environment variable if DEVICESCAN is
  • used without '-d TYPE'.
  • ATA: Device type '-d jmb39x-q,N' for JMB39x protocol variant used by
  • some QNAP NAS devices.
  • ATA: Device type '-d jms56x,N' for JMS562 USB to SATA RAID bridges.
  • SCSI: Improved heuristics for log subpages of new and very old disks.
  • NVMe: Log transfer size limited to avoid device or kernel crashes.
  • NVMEe/USB: Device type '-d sntrealtek' for Realtek RTL9210 USB to
  • NVMe bridges.
  • update-smart-drivedb: New option '--branch X.Y'.
  • HDD, SSD and USB additions to drive database.
  • Dropped support for pre-C99 snprintf().
  • configure: Dropped option '--without-working-snprintf'.
  • configure: Fixed '-fstack-protector*' detection.
  • Linux: Various fixes of smartd.service file.
  • Darwin: NVMe log support.
  • FreeBSD: Device scan does no longer include T_ENCLOSURE devices.
  • NetBSD: Fixed timeout handling.
  • NetBSD big endian: Fixed ATA register handling.
  • OpenBSD: Fixed timeout handling.
  • Windows: Dropped backward compatibility fixes for very old compilers.