Releases: smartmontools/smartmontools
Releases · smartmontools/smartmontools
Release 7.4
- The docker image used for CI and release builds is now based on
Debian 12 instead of Ubuntu 18.04. - macOS: CI and release builds are now generated for the x86_64 and arm64
targets. 32 bit platforms will require to be compiled from the source. - smartctl
-t short
,-t long
and-X
: NVMe support. - smartctl
-l selftest
: NVMe support. - smartctl
-l farm
: Prints Seagate's vendor-specific Field Access
Reliability Metrics (FARM) log for ATA and SCSI drives. - smartctl
-l error
: Now also prints an error message for each entry
of NVMe error information log. - smartctl
-l genstats
: Prints SCSI General statistics and performance
log page. - smartctl
-i
and--identify
: ACS-4/5/6 enhancements. - smartctl
-c
: Added NVMe 2.0 capability flags. - smartctl
-g security
: Addedata_security.master_password_id
to JSON output. Plaintext output shows Master Password ID if set
to a non-default value. - smartctl
-q noserial
: Now also suppresses the output of NVMe Namespace
IEEE EUI-64. - smartctl
-j
:-l error -l selftest
JSON output for NVMe devices. - smartctl
-j
: Avoid invalid UTF-8 sequences in JSON/YAML strings. - smartctl
-j
: Fixed a bogus exception during SCSI JSON output. - smartctl
-j
: Renamed JSON elementscsi_temperature
back to
temperature
(regression). - smartctl
-a
: Now suggests-x
for ATA devices because-a
only
provides legacy SMART information. - smartd: No longer issues LOG_CRIT warnings if new entries of NVMe error
information log do not indicate device problems. - smartd: Now detects accidental use of smartd_warning script as
-M exec
parameter. - smartd: No longer writes the
Copyright...
line to syslog. - smartd.conf
-M always
: Sends reminder emails without any delay. - smartd.conf
-M diminishing
: Limited email delay to 32 days. - ATA: Fixed decoding of extended self-test log on big endian hosts.
- ATA: Enhanced LBA range for device types
-d jmb39x-q,...
and
-d jms56x,...
from 33-62 to 1-255. - ATA: Device type
-d intelliprop,N
now fails with a deprecation message.
Added-d intelliprop,N,force
flag to use it anyway. - ATA/USB: Device type
-d usbasm1352r,N
for ASMedia ASM1352R USB to SATA
RAID bridges - SCSI: Fixed possible corruption issue with the Error Counter and
Non medium Error log pages. - SCSI: Added more "Informational Exceptions" strings.
- SCSI: Added initial support for REPORT SUPPORTED OPERATION command.
- SCSI: Initial rework of SCSI debug output.
- NVMe: Added error messages for NVMe status values.
- NVMe: Fixed crash after read of error information log on big endian hosts.
- HDD, SSD and USB additions to drive database.
- update-smart-drivedb: Fixed syntax for
sed
versions which require
;
before}
or do not support;
at all. - update-smart-drivedb: Replaced a usually not executed bashism.
- configure: Default for
--with-nvme-devicescan
is nowyes
also on
Darwin and FreeBSD. It is stillno
on NetBSD only. - configure: Defines
_FORTIFY_SOURCE=3
if supported and not predefined. - configure: No longer fails if libsystemd-dev is installed and
LDFLAGS=-static
is used. - Compile fix for systems without legacy
getdtablesize()
. - Pre-releases from SVN snapshots now show "pre-VERSION" in version
information andsmartctl.pre_release=true
in JSON output. - Linux: Device type
-d sssraid
for 3SNIC RAID controllers. - Linux: Device type
-d marvell
now fails with a deprecation message.
Added-d marvell,force
flag to use it anyway. - Linux: The generic SCSI code now defaults to SG_IO_V3 and does no
longer fall back to the deprecated SCSI_IOCTL_SEND_COMMAND
(but this ioctl is still used for-d 3ware
and-d marvell,force
). - Linux smartd: Now prevents systemd unit startup timeout when many
devices are registered and then initially checked. - Linux smartd: Systemd no longer reports a service failure if no device
is present and a-q *nodev0*
option is used. - Solaris SPARC: Dropped legacy ATA support. Dropped configure option
--with-solaris-sparc-ata
. - Windows: IOCTL_STORAGE_PROTOCOL_COMMAND variant for NVMe self-tests.
- Windows: Installer now defaults to 64-bit executables.
- Windows: No longer prints bogus
Local Time
if enhanced TZ syntax is used. - Windows: Workaround to keep backward compatibility with old versions
of Windows if some versions of MinGW-w64 are used.
Release 7.3
- smartctl:
-j
: Many additions to the JSON output for SCSI/SAS devices. - smartctl:
-j
: JSON output always includes timestamp, regardless of-i
. - smartctl:
-i
and--identify
: ATA ACS-5 enhancements. - smartctl:
-l defects
: additionally works for SCSI Pending Defects log
subpage. - smartctl:
-l envrep
: Prints SCSI Environmental Reporting log subpage. - smartctl:
-l scterc[,R,W],p
: Gets/sets the persistent power-on values. - smartctl:
-l scterc,reset
: Restores to manufacturer's default values. - smartctl:
-l tapedevstat
: Prints SCSI Tape Device Statistics log page. - smartctl:
-l tapealert
: Prints SCSI Tape Alert log page. - smartctl:
-l zdevstat
: Prints SCSI Zoned Block Device Statistics log
subpage. - smartctl:
-H
: No longer checks and clears the SCSI Tape Alert log page
unless the option is given twice. - smartctl:
-H
: No longer sets bit 2 of exit status if ATA attributes are
available. - smartctl:
-H
: Checks new NVME 1.4 status bit. - smartctl:
-n POWERMODE
: ATA: Optionally exits immediately if unsupported. - smartctl: Support for Zoned block device characteristics and statistics.
- smartctl: Various fixes related to SCSI supported log pages and subpages.
- smartd: Fixed code execution vulnerability in conjunction with
GNU mailutils < 3.13. - smartd:
-u USER[:GROUP]
: Runs the warning script as a non-privileged user. - smartd:
--capabilities
: No longer suppresses mail notification. - smartd:
--capabilities=mail
: Adds capabilities required for exim MTA. - smartd:
-q *nodev0*
: Three new options to change the exit status to 0 if
there are no devices to monitor. - smartd:
-s
and-A
: Allows one to disable preconfigured files with-
. - smartd: : Fixed handling of multiple email addresses in conjunction with
plugin scripts. Added new environment variable SMARTD_ADDRESS_ORIG. - smartd: No longer writes
smartd -D
output to syslog on syntax error. - smartd.conf:
-c i=N
: Allows one to specify device specific check intervals. - SCSI: Retry on UNIT ATTENTION when fetching capacity.
- NVMe/USB: Device type
-d sntasmedia
for ASMedia ASM2362 USB to
NVMe bridges. - VERSION information in drive database files of all branches.
- smartctl: and smartd print drive database VERSION information.
- HDD, SSD and USB additions to drive database.
- update-smart-drivedb: Now checks VERSION information to prevent downgrades.
- update-smart-drivedb:
--force
: Overrides the VERSION check. - update-smart-drivedb:
--file
and--url
: Updates from local files or
other URLs. - update-smart-drivedb:
-q
: Suppresses info messages. - update-smart-drivedb: Added long option variants for all short options.
- update-smart-drivedb: Prevents dangling gpg-agents and temp directories.
- update-smart-drivedb:
--install
: Installs runtime drivedb.h from location
specified by ... - configure:
--with-drivedbinstdir
: drivedb.h package install location. - configure: SOURCE_DATE_EPOCH prevents inclusion of configure arguments
in executables. - configure: Check for
-fstack-protector
now includes the required libs. - Dropped restriction to C++98, a C++11 compiler is now required.
- Linux: Device scan range enhanced to
/dev/sdzz
. - Linux: Fixed access to
-d aacraid
and-d megaraid
devices from smartd
if--capabilities
is used. - Linux:
-d cciss,N
is no longer required for non-RAID hpsa devices. - Darwin: smartctl
-s apm,N
is now supported. - OpenBSD: Fixed too short command timeouts.
- OpenBSD: Fixed device name used for autodetection.
- OpenBSD: Fixed SAT autodetection of sd* devices.
- FreeBSD: Added direct access (
-d megaraid,N
) and scanning for LSI RAID on
mfi
andmrsas
controllers. - Windows: smartd
-u restricted
: Runs the warning script with a restricted
access token. - Windows: New script
update-smartd-drivedb.ps1
provides gpg verification
and replacesupdate-smartd-drivedb.exe
. - Windows: Disabled
-d aacraid
support due to unresolved bugs.
Added-d accraid,...,force
flag to try anyway.
Release 7.2
- smartctl: New option
--json=y[c]
selects YAML output. - smartctl:
-i
: Prints ATA TRIM and Zoned Device capabilities. - smartctl:
-j
: Fixedscsi_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.
Release 7.1
- smartctl: Fixed bogus exception on unknown form factor value (regression).
- smartctl
--json=cg
: Suppresses extra spaces also in 'g' format. - smartctl
-i
: ATA ACS-4 and ACS-5 enhancements. - smartd: No longer truncates very long device names in warning emails.
- smartd: No longer skips scheduled tests if system clock has been adjusted
to the past. - smartd
-A
: Attribute logs now use local time instead of UTC. - ATA: Device type
-d jmb39x,N
for drives behind JMicron JMB39x RAID port
multipliers. - SCSI: Workaround for incomplete Log subpages response from some SAS SSDs.
- HDD, SSD and USB additions to drive database.
- Autodetection of
-d sntjmicron
type for JMicron USB to NVMe bridges. - configure: Defines '_FORTIFY_SOURCE=2' if supported and not defined.
- Linux/FreeBSD: Fixed segfault on CCISS transfer sizes > 512 bytes.
- Linux: Fixed smartd.service 'Type' if libsystemd-dev is not available.
- Linux: Fixed
/dev/megaraid_sas_ioctl_node
fd leak. - Linux: Fixed GPL licensing problem of
linux_nvme_ioctl.h
. - FreeBSD update-smart-drivedb: Now uses
fetch
as default download tool. - FreeBSD big endian: Fixed NVMe access.
- FreeBSD: Compile fix for FreeBSD 12.
- NetBSD: Fixed device scan crash on empty name list.
- NetBSD: Fixed memory leak in device scan.
- Windows: Fixed log page access via Windows 10 NVMe driver for NVMe 1.2.1+.
- Windows: Allow drive letters as device names for Windows 10 NVMe driver.
- Windows: Workround to allow CSMI access to devices behind AMD RAID drivers.
- Windows: Fixed MinGW options to add relocation info if ASLR is enabled.
- Windows wtssendmsg: No longer writes
\n
line endings to event log. - Windows wtssendmsg: New options
-t
and-w
.
Release 7.0
7.0 Changelog
- smartctl: New options
-j
and--json[=giosu]
to enable experimental
JSON output mode. Also supports an alternative flat format suitable
for grep (--json=g
). - smartctl
-l devstat
: Fix for logs with 256 sectors. - smartctl
-l error
: Prints SCSI Pending Defects log page if supported. - smartctl
-H
: Prints SCSI Format Status log page if supported. - smartctl
-x
: Now includes-l defects
. - NVMe/USB: Device type
-d sntjmicron
for NVMe drives behind JMicron USB
to NVMe bridges. - NVMe: SMART/Health Information and Error Information are always read with
broadcast NSID. - SCSI: Various improvements for the decoding of log pages.
- SCSI: Improved handling of READ CAPACITY command.
- SCSI: Support for SAS host managed drives.
- New option
-d scsi+TYPE
to disable SAT auto detection foraacraid
andcciss
. - update-smart-drivedb: New option
-u github
. - update-smart-drivedb: New signing key.
- configure: New options
--with-cxx11-regex
and--with-libsystemd
. - configure: Default for
--with-nvme-devicescan
is nowyes
on Linux
and Windows. - configure: Default for
--with-scriptpath
now includes/usr/local/bin
. - configure: Options
-with-initscriptdir=[auto\|yes]
are no longer
supported. - Reworked handling of unaligned LE and BE integers.
- Dropped various backward compatibility fixes for very old compilers.
- Replaced GPL header with 'SPDX-License-Identifier' in all source files.
- HDD, SSD and USB additions to drive database.
- Always use
-d sat
for USB vendor IDs with known SAT support. - Linux: Device scan with
-d by-id
scans/dev/disk/by-id/*
symlinks. - Linux: Dropped device scan support for devfs.
- Linux: Fixed device scan with multiple
-d TYPE
options. - Linux: Fixed device scan crash on missing
/proc/devices
. - Linux: USB ID detection also for
/dev/sgN
. - Linux: Compile fix for systems with musl libc.
- Linux smartd: Could now run as systemd service with
Type=notify
set. - FreeBSD: NVMe device scanning.
- FreeBSD: Various compile fixes.
- NetBSD: Fixed regression in name based device type detection.
- NetBSD big endian: Fixed regression in ATA code.
- NetBSD big endian: Fixed byte ordering of ATA IDENTIFY data from USB/SAT
drives. - Windows: Improved search for actual CSMI port number.
- Windows: Installer includes VERSIONINFO resource.
Release 6.6
Changelog
- smartctl
-i
and--identify
: ATA ACS-4 and SATA 3.3 enhancements. - smartctl: Control ATA write cache through SCT Feature Control
with-s wcache-sct,ata|on|off[,p]
and-g wcache-sct
. - smartctl: Print ATA Pending Defects log with
-l defects
. - smartctl
-s wcreorder,on|off
: New persistent flag,p
. - smartctl
-s standby
: Prevent temporary drive spinup. - smartctl
-n POWERMODE
: New parameter to set exit status. - smartctl
-g security
: ATA Security Level check fixed. - smartctl
-l scttemp*
: Print minimum supported ERC Time Limit. - smartctl
-q noserial
: Now also suppresses "SAS address" output. - smartctl
-i
: Print IEEE EUI-64 of NVMe namespace. - smartctl
-c
: Print NVMe 1.3 feature flags. - smartctl
-A
: Print NVMe 1.3 thermal temperature transition
statistic. - smartctl
-g/s dsn
: Get/set ATA DSN. - smartd: Uses also device identify information to detect for duplicate
devices. - smartd
-e dsn
directive: Set ATA DSN. - smartd: Improved SCSI/SAS temperature logging.
- smartd: Silence emails and log messages on open errors of
-d removable
devices. - smartd: Exit on device open error unless
-q never
or-d removable
is specified (regression). - update-smart-drivedb: Now authenticates downloaded file with GnuPG.
- update-smart-drivedb: New options
--trunk
,--no-verify
and
--export-key
. - Device type
-d intelliprop,N
for IntelliProp controllers. - SCSI: Default timeout increased to 1 minute.
- configure: New options
--with-gnupg
,--with-scriptpath
and
--with-update-smart-drivedb=X.Y
- configure: Checks for C++11 support option and requires
--with[out]-cxx11-option
if option unknown or no C++11 support. - HDD, SSD and USB additions to drive database.
- New smartmontools-* mailing list addresses.
- Man page formatting reworked.
- Linux: Uses SG_IO V4 API if supported.
- Linux: Devices behind hpsa driver are no longer detected as regular
SCSI devices. - Darwin: Initial NVMe support based on undocumented API.
- FreeBSD: Fix panic on INVARIANTS enabled kernel.
- FreeBSD: Improve ATA SMART STATUS check for legacy controllers.
- FreeBSD: Compile fix for FreeBSD-11 and newer.
- NetBSD: NVMe support.
- NetBSD: Full 28-bit ATA support.
- NetBSD: Compile fix.
- NetBSD: Use a raw disk device file.
- OpenBSD: Compile fix.
- OS/2: Support for the OS2AHCI driver, updating source code,
adding autoscan support, adding self-test support. - Windows: Support for Windows 10 NVMe driver (stornvme.sys).
- Windows: Fix CSMI access for IRST driver 15.2.
- Windows smartd: Ability to run PowerShell scripts with
-M exec
. - Windows smartd: New PowerShell script to send smartd warning emails
without external tools. - Windows package: Now provides PDF man pages.
MD5
MD5 (smartmontools-6.6-1.dmg) = 3cb2a739967bd11c7a424fd33a8053b4
MD5 (smartmontools-6.6-1.win32-setup.exe) = f3abb6e80c758594d66b58939b751dd1
MD5 (smartmontools-6.6.tar.gz) = 9ae2c6e7131cd2813edcc65cbe5f223f
Release 6.5
Changelog
- Experimental support for NVMe devices on FreeBSD, Linux and Windows.
- smartctl '-i', '-c', '-H' and '-l error': NVMe support.
- smartctl '-l nvmelog': New option for NVMe.
- smartd.conf '-H', '-l error' and '-W': NVMe support.
- Optional NVMe device scanning support on Linux and Windows.
- configure option '--with-nvme-devicescan' to include NVMe in
default device scanning result. - Device scanning now allows to specify multiple '-d TYPE' options.
- ATA: Added new POWER MODE values introduced in ATA ACS-2.
- ATA: SCT commands are no longer issued if ATA Security is locked.
- SCSI: LB provisioning improvements.
- SCSI: Fixed GLTSD bit set/cleared info messages.
- SCSI: Solid State media log page is no longer checked for tapes.
- SCSI: Improved handling when no tape cartridge in drive.
- SCSI: Workaround for buggy Seagate firmware.
- SAT: Improved heuristics to detect bogus sense data from SAT layer.
- smartd: Fixed crash on missing argument to '-s' directive.
- update-smart-drivedb: Now uses HTTPS for download by default.
- update-smart-drivedb: New options to select URL and download tool.
- update-smart-drivedb: New download tool 'svn'.
- configure option '--without-update-smart-drivedb' to disable
update-smart-drivedb script. - configure options '--disable-drivedb', '--enable-savestates',
'--enable-attributelog' and '--with-docdir' are no longer supported. - autoconf < 2.60 and automake < 1.10 are no longer supported.
- Drive database file now also includes the DEFAULT setting
for each attribute. - HDD, SSD and USB additions to drive database.
- Darwin: New support files for package installer.
New makefile target 'install-darwin' builds DMG image. - Solaris: Auto detection of SATA devices behind SAT layer.
- Solaris SPARC: Legacy ATA support disabled by default.
New configure option '--with-solaris-sparc-ata' enables it.
File os_solaris_ata.s is no longer included in source tarball. - Windows: Auto detection of USB devices specified by drive letter.
- Windows: Device scanning does no longer ignore unknown USB devices.
- Windows: Prevent drive spin up by '-n standby' check.
- Windows: New application manifests indicating Win 10 support.
- Windows smartd: '-m [sys]msgbox' is no longer supported.
- Windows installer: Defaults to 64-bit version on 64-bit Windows.
- Various code changes suggested by Clang Static Analyser and Cppcheck.
Release 6.4
- Device type '-d usbprolific' for Prolific PL2571/277x USB bridges.
- SAT: Support for ATA registers returned in fixed format sense data.
- smartctl '-i' and '--identify': ATA ACS-4 and SATA 3.2 enhancements.
- smartctl '-l xerror': Support for logs with more than 255 pages.
- smartctl '-l devstat': Prints ACS-3 DSN flags.
- smartctl '-l devstat': Read via SMART command if GP log is not
available. - smartctl '-l scttempsts': Prints SCT SMART STATUS (ACS-4) and
vendor specific SCT bytes. - configure option '--with-systemdenvfile=auto' as new default.
- configure options '--disable-drivedb', '--enable-savestates'
and '--enable-attributelog' are deprecated. - Corresponding '--with-*' options are enhanced accordingly.
- Configure option '--with-docdir' is deprecated.
- autoconf < 2.60 and automake < 1.10 are deprecated.
(all of the above still work but a warning is printed if used) - HDD, SSD and USB additions to drive database.
- Linux: AACRAID fixes, SMART STATUS should work now.
- Linux: '/dev/megaraid_sas_ioctl_node' fd leak fix.
- Darwin: '-S' command implemented, '-l devstat' should work now.
- Cygwin: Compile fix.
- Windows: Device type '-d aacraid' for AACRAID controllers.
- Windows: SAT autodetection based on IOCTL_STORAGE_QUERY_PROPERTY.
- Windows installer: Fix possible loss of user PATH environment variable.
Release 6.3
- smartctl: Fixed bogus error messages from '-g/-s wcreorder'.
- smartctl prints ATA form factor.
- SCSI: Improved support of modern disks (SAS SSDs).
- SCSI: Fixed sense data noise from old disks.
- update-smart-drivedb man page.
- configure option '--with-smartdscriptdir'.
- configure option '--with-smartdplugindir'.
- configure option '--with-systemdenvfile'.
- configure option '--with-working-snprintf'.
- Removed build time stamps to support reproducible builds.
- Compile fixes for C++11.
- HDD, SSD and USB additions to drive database.
- Linux: Support for controllers behind AACRAID driver.
- Linux: Fixed DEVICESCAN max path count.
- FreeBSD: Fixed possible crash caused by wrong SCSI error handling.
- FreeBSD: Compile fix for kFreeBSD.
- Windows: Reworked CSMI port scanning.
- QNX: Compile fix.