Smartmontools Changelog

What's new in Smartmontools 6.6-1

Nov 10, 2017
  • 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.
  • Darwin: Initial NVMe support based on undocumented API.
  • 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.

New in Smartmontools 6.5 (May 7, 2016)

  • 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.and automake < 1.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 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.

New in Smartmontools 6.3 (Jul 28, 2014)

  • drivedb.h:
  • Apple SD/SM/TS...E/F SSDs: Rename, add TS*[EF]
  • JMicron based SSDs: Fix regex for Apple TS*C
  • Marvell based SanDisk SSDs: X210
  • drivedb.h: Apple SM* SSD - add attribute 173 description (guessed)
  • ataprint.cpp: Print SCT Status regardless of SCT Data Table support.
  • atacmds.cpp: ataReadSCTTempHist(): Do not reread initial SCT Status.
  • configure.ac: Fix typo in help text. Add MinGW comment.
  • drivedb.h:
  • Apple SD/SM...E/F SSDs (ticket #342)
  • Apple SSD SM128, Asus-Phison SSD: Remove (missing attribute info)
  • atacmds.cpp: Rework heuristics for 'tempminmax' format.
  • Now supports negative values (ticket #291) and WDC over temperature
  • counter.
  • Change default for Head_Flying_Hours to 'raw24(raw8)'. This provides
  • more reasonable output for Seagate HDDs missing in drivedb.h.
  • drivedb.h: Comment new default for Head_Flying_Hours.
  • smartctl.8.in, smartd.8.in, smartd.conf.5.in:
  • Fix usage of line breaks and empty lines.
  • smartctl.8.in, smartd.8.in, smartd.conf.5.in, update-smart-drivedb.8.in:
  • Add FILES section. Move FULL PATH info to FILES section.
  • Rename REFERENCES section. Move HOME PAGE info to REFERENCES section.
  • Remove AUTHORS section from smartd.conf man page.
  • Update or remove various outdated info.
  • configure.ac: Use 'email' instead of 'mail' on Cygwin.
  • Remove outdated '-mno-cygwin' error check.
  • Makefile.am, smartd.conf.5.in: Replace 'mail' by actual platform
  • specific mailer.
  • examplescripts/README, examplescripts/Example[123]: Remove bashisms.
  • Use '/usr/bin/mail' instead of '/bin/mail'.
  • os_win32/daemon_win32.cpp: Support older MinGW headers with missing
  • struct SERVICE_DELAYED_AUTO_START_INFO.
  • drivedb.h:
  • Crucial/Micron MX100/M500/M510/M550 Client SSDs: Rename, add MX100,
  • update MX510/550
  • Indilinx Barefoot based SSDs: OCZ Vertex 1.10
  • Intel 320 Series SSDs: 'L' variant
  • JMicron based SSDs: Transcend *18M-M variant
  • Plextor M3/M5 (Pro) Series SSDs: M5M (mSATA) variant
  • Samsung based SSDs: 840 EVO
  • drivedb.h:
  • Marvell based SanDisk SSDs: Extreme II (ticket #334), others
  • SanDisk based SSDs: iSSD P4 (ticket #272), U100 (ticket #337), others
  • USB: Iomega (0x059b:0x047a)
  • USB: WD My Passport: Merge entries
  • USB: WD My Passport USB 3.0 (0x1058:0x074a, 0x1058:0x0820)
  • USB: ADATA (0x125f:0xa[13]1a)
  • USB: JMicron JMS539 (0x152d:0x0539): New FW supports SAT (ticket #338)
  • USB: TrekStor Datastation (0x1e68:0x0050) (Red Hat Bugzilla 954162)
  • atacmds.cpp: Add missing const and initialization.
  • Don't print extra '\n' if self-test log is empty.
  • ataprint.cpp: Add new ACS-4 log.
  • cciss.cpp: Fix C++11 builds on Linux. GCC and CLang do not
  • predefine 'linux' when in '-std=c++11' mode.
  • smartd.cpp: Update description of Windows smartd service.
  • README: Update license info. Remove outdated ATA references.
  • Makefile.am: Rework build of Solaris specific man pages.
  • This fixes some bogus and some missing replacements.
  • smartctl.8.in, smartd.8.in, smartd.conf.5.in: Minor typo and syntax
  • fixes.
  • smartctl.8.in, smartd.8.in, smartd.conf.5.in: Avoid '.SH' macros with no
  • argument. Remove colons from section names.
  • Merge sections CONTRIBUTORS and CREDITS with AUTHORS.
  • Update SEE ALSO sections.
  • configure.ac: Remove snprintf() compile time test.
  • Add '--with-working-snprintf' configure option.
  • Add __USE_MINGW_ANSI_STDIO test for MinGW GCC.
  • utility.cpp: Add snprintf() runtime test.
  • Add GCC version to output of -V option.
  • Makefile.am: Add update-smart-drivedb.1m for Solaris.
  • configure.ac: Update macros as suggested by 'autoconf --warnings=obsolete'.
  • Makefile.am: Add creation of empty directories to install targets.
  • configure.ac, Makefile.am, smartd.cpp, smartd_warning.sh.in:
  • Add '--with-smartdscriptdir' configure option to change location of
  • smartd_warning.sh (Debian bug 710815).
  • Add '--with-smartdplugindir' configure option to change (or disable)
  • smartd_warning.sh plugin location.
  • smartd.conf.5.in: Optionally hide the plugin documentation.
  • Makefile.am: Add update-smart-drivedb.8 target.
  • update-smart-drivedb.8.in: Add copyright and version info.
  • Adjust path names for make target.
  • Add FreeBSD/OpenBSD specific info.
  • update-smart-drivedb.8.in: New man page (Debian bug 708433).
  • configure.ac: Suppress pkg-config warnings about missing 'systemd.pc'.
  • Makefile.am: Silence build of man pages and svnversion.h.
  • This makes '--enable-silent-rules' or 'make V=0' more effective
  • (available since automake 1.13).
  • drivedb.h:
  • Crucial/Micron RealSSD C300/M500: New attributes (ticket #326)
  • SandForce Driven SSDs: ADATA XM11, Corsair Force LS, OWC Aura Pro 6G
  • OWC Mercury Electra Pro 3G, PNY Prevail Elite, Transcend SSD320/720
  • scsiata.cpp: usbjmicron_device: Fix SMART Status check for USB bridges
  • which always return 0x01. Add JMicron specific error messages.
  • atacmds.cpp, ataprint.cpp: Improve messages for unsupported SMART Status
  • command.
  • ataprint.cpp: Print form factor.
  • drivedb.h:
  • Crucial/Micron M500/M510/M550 Client SSDs
  • Micron M500DC Enterprise SSDs
  • Based on patch provided by Clayton Hawkings from Micron.
  • autogen.sh: automake 1.14.1 works.
  • scsiata.cpp: usbjmicron_device: Check SCSI resid for SMART STATUS.
  • Some (Prolific) USB bridges do not transfer a status byte.
  • scsiprint.cpp:
  • minor comment clean-up
  • drivedb.h:
  • Intel 730 and DC S3500/S3700 Series SSDs: rename, add 730 and S3700.
  • Remove extra S3700 entry. Based on patch provided by Tim Small.
  • bPortIdentifier=0xff (regression from r3888).
  • os_win32/installer.nsi: Create standard InstallLocation registry entry.
  • Keep old Install_Dir entry if needed for GSmartControl.
  • Update links in registry and shortcuts.
  • drivedb.h:
  • USB: Buffalo MiniStationHD-PCFU3 (0x0411:0x0240)
  • USB: Toshiba Stor.E Plus (0x0480:0xa00a) (Debian bug 734395)
  • USB: Samsung D3 Station (0x04e8:0x6124) (ticket #332)
  • USB: Samsung M3 Portable (0x04e8:0x61b[45])
  • USB: Seagate Expansion Portable (0x0bc2:0x2312)
  • USB: Seagate Expansion External (0x0bc2:0x3312) (ticket #320)
  • USB: WD Elements (0x1058:0x10[ab]8) (ticket #331)
  • USB: ASMedia AS2105 (0x174c:0x5136)
  • drivedb.h:
  • Seagate Laptop Thin HDD
  • Seagate Barracuda 7200.14 (AF): *DM000 variant
  • Seagate Barracuda Green (AF): no warnings for newer firmware versions
  • Seagate Constellation.2 (SATA)
  • Seagate NAS HDD
  • Seagate Video 3.5 HDD
  • drivedb.h, smartctl.8.in, smartd.8.in, INSTALL, NEWS, TODO, WARNINGS:
  • Fix old Trac links.
  • smartctl.8.in, smartd.conf.5.in: Update '-d aacraid' info.
  • scsiprint.cpp:
  • Lowest aligned LBA > 0 not common so only output in that case
  • autogen.sh: Allow automake 1.14, suppress 'subdir-objects' warning.
  • Makefile.am: Add new 'compile' script to target 'maintainer-clean'.
  • scsicmds.h, scsicmds.cpp, scsiprint.h:
  • improve handling of modern SCSI disks (SAS SSDs)
  • show compliance (SCSI version), show 12 Gbps SAS-3
  • speed, and flag ZBC presence
  • drivedb.h:
  • Toshiba 3.5" MG03ACAxxx(Y) Enterprise HDD
  • Fixes for aacraid patch:
  • aacraid.h: Fix typo which breaks 32-bit build.
  • Fix error handling of /proc/devices parsing.
  • Avoid unsafe sprintf(). Fix help text.
  • scsicmds.cpp:
  • supported_vpd_pages(): lower response length to stop sense data
  • noise on old disks (pre SPC-3)
  • drivedb.h:
  • Western Digital RE4 (SATA 6Gb/s): WD2000FYYX
  • Western Digital Se
  • Western Digital Caviar Green (AF, SATA 6Gb/s): 4TB
  • Western Digital Black: Rename, add 3TB, AF, remove extra AF entry
  • Western Digital Red: 4TB (ticket #322)
  • Western Digital Blue Mobile
  • Use bPortIdentifier instead of Phy array index for addressing.
  • Ignore possibly bogus bNumberOfPhys (ticket #325).
  • scsiprint.cpp:
  • add guard to scsiPrintSasPhy() invocation; resolve ticket #204
  • WARNINGS: Remove all entries. Add link to Warnings page in Wiki.
  • drivedb.h:
  • Crucial/Micron RealSSD C300/M500: *SSD1 variant
  • SandForce Driven SSDs: ADATA SP300, ADATA SP800, ADATA SP900 DL2,
  • Corsair Force SSD, Kingston SE50S3, Kingston SKC380S3,
  • Smart Storage XceedIOPS2, VisionTek GoDrive
  • Indilinx Barefoot 3 based SSDs: OCZ VERTEX 450
  • JMicron based SSDs: ADATA SP600
  • Plextor M3/M5 (Pro) Series SSDs: Rename, add M5S (ticket #297), M5Pro
  • drivedb.h:
  • OCZ Intrepid 3000 SSDs
  • Intel 320 Series SSDs: 'D' variant (ticket #315)
  • Intel DC S3500 Series SSDs: 'T' variant (ticket #315)
  • ataprint.cpp: Check SCT Feature Control support bit for '-g/-s wcreorder'.
  • This prevents bogus error messages if SCT support excludes SCT Feature
  • Control command.
  • atacmds.cpp: Fix error message text for SCT Feature Control command.
  • smartctl.8.in, smartd.8.in, smartd.conf.5.in: Remove bashisms from
  • shell script examples.
  • configure.ac, Makefile.am: Add '--with-systemdenvfile=[FILE|no]'
  • configure option to change or remove (ticket #316) the systemd
  • EnvironmentFile setting.
  • smartd.service.in: Add a reference to documentation (ticket #316).
  • dev_areca.cpp: Check cmds index before use (ticket #312).
  • Make cmds array static const.
  • drivedb.h:
  • Intel 525 Series SSDs
  • Intel 530 Series SSDs (ticket #308)
  • drivedb.h:
  • Seagate Samsung Spinpoint F4
  • Seagate Desktop SSHD
  • Seagate Constellation CS
  • Western Digital Red: *JFCX variant
  • Western Digital Green Mobile
  • Western Digital Elements / My Passport (USB): rename
  • autogen.sh: automake 1.13.3 works.
  • drivedb.h:
  • Toshiba 2.5" HDD MK..65GSX: "... H" (USB?) variant
  • Toshiba 2.5" HDD MQ01UBD... (USB 3.0)
  • USB: Toshiba Stor.E Slim USB 3.0 (0x0480:0x0100)
  • USB: Toshiba Stor.E Basics (0x0480:0xa009)
  • USB: Toshiba Stor.E (0x0939:0x0b15)
  • USB: Seagate FreeAgent GoFlex (0x0bc2:0x5020)
  • USB: WD My Passport Ultra (0x1058:0x0741)
  • USB: WD Elements (0x1058:0x1048)
  • USB: Initio (0x13fd:0x1640) (ticket #295)
  • USB: LucidPORT (0x1759:0x5100)
  • drivedb.h:
  • Apacer SDM4: SFDDA01C firmware (ticket #304).
  • Crucial/Micron RealSSD m4/C400/P400: M4 SSD1 (ticket #306).
  • Seagate Barracuda 7200.14: Check part number to avoid bogus
  • firmware bug warning (ticket #298).
  • configure.ac, utility.cpp: Remove __DATE__, __TIME__
  • and SMARTMONTOOLS_CONFIGURE_DATE.
  • This obsoletes OpenSUSE nobuild-date.patch.
  • Reproducible builds are now supported.
  • smartctl.cpp: Add missing stdlib.h.
  • This fixes build on QNX 6.3.2 (ticket #300).
  • drivedb.h: Intel DC S3500 Series SSDs: Add -F xerrorlba.
  • atacmds.cpp: Fix Extended Comprehensive Error Log timestamp
  • byte order on big endian machines.
  • dev_areca.h: Fix build on kFreeBSD (Debian bug 717567).
  • This obsoletes Debian kfreebsd.patch.
  • examplescripts: Add scripts from Debian and Fedora packages.
  • Add spaces between string literals and macro identifiers.
  • This avoids the interpretation as user-defined literals if
  • C++11 is enabled (g++ -std=gnu++11).
  • drivedb.h: Intel DC S3500 Series SSDs
  • drivedb.h: Intel 320 Series SSDs: Add attribute 183 and 199.
  • autogen.sh: automake 1.10.3, 1.12.6, and 1.13.4 work.
  • The new automake 1.14 is left out for now due to the
  • 'subdir-objects' warning and the new 'compile' script.
  • Add options '--force' and '--warnings=CATEGORY'.

New in Smartmontools 6.2 (Jul 27, 2013)

  • drivedb.h:
  • SandForce Driven SSDs: ADATA SP900
  • Transcend CompactFlash Cards: *GCF150
  • Hitachi/HGST Travelstar 5K750: Apple OEM
  • Hitachi/HGST Travelstar Z7K500
  • Hitachi/HGST Travelstar 7K750
  • Hitachi Deskstar 5K3000: *BLE630 OEM
  • Seagate Constellation ES.3
  • Western Digital Caviar Blue (SATA): Rename, add WD1602ABKS
  • Western Digital Caviar Blue (SATA 6Gb/s): Rename, add WD10EZEX
  • USB: Toshiba Canvio 3.0 Portable Hard Drive (0x0480:0xa007)
  • USB: Toshiba Canvio Desktop (0x0480:0xd010)
  • USB: Seagate FreeAgent Desk (0x0bc2:0x3008)
  • USB: Sharkoon 2-Bay RAID Box (0x6795:0x2756)

New in Smartmontools 6.1 (Mar 18, 2013)

  • smartctl '-l directory': improved output format.
  • smartctl: Fix parsing of '-l select,cont+SIZE' option.
  • smartctl prints ATA Additional Product Id (OEM Id).
  • smartctl '-s/-g wcache' for SCSI devices to control write cache.
  • smartctl '-s/-g rcache' for SCSI devices to control read cache.
  • smartctl prints more info for SCSI devices: media rotation rate,
  • form factor, physical block size, lowest LBA alignement,
  • logical block provisioning, disk protection type
  • and selftest progress status.
  • smartctl '--identify' updated for latest ATA ACS-3 spec.
  • smartd runs /etc/smartd_warning.sh to generate warning emails
  • (Windows: smartd_warning.cmd).
  • smartd '-w PATH' option to specify this executable.
  • smartd '-d ignore' directive.
  • smartd DEVICESCAN ignores devices already specified.
  • smartd: added support for state persistence ('-s') and attribute logging
  • ('-A') for SCSI devices.
  • smartd '-W' directive uses ATA attribute 190 if 194 is missing.
  • Support of larger SCSI defect lists via READ DEFECT(12).
  • Device type '-d usbjmicron,p' for Prolific USB bridges.
  • Many HDD, SSD and USB additions to drive database.
  • Linux: Support for SAS disks behind Areca controllers.
  • Linux: Improved support for SATA disks on LSI/Megaraid controllers
  • Linux: disks on MegaRaid controllers are automatically scanned
  • FreeBSD: Support for SAS disks behind Areca controllers.
  • FreeBSD: Enhanced ATA command support for 3ware.
  • FreeBSD: Support for 3ware 9750 (/dev/twsX).
  • FreeBSD: Fixed support for 48-bit ATA commands on legacy controllers
  • with ATACAM driver.
  • FreeBSD: Improved support for SAS/SCSI disks on LSI/Megaraid controllers.
  • Windows: smartd.conf '-M exec' supports path names with spaces.
  • Windows: Tool wtssendmsg.exe to handle smartd.conf '-m console'.
  • Windows: DEVICESCAN now supports up to 128 drives.
  • Windows: smartctl.exe and smartd.exe include VERSIONINFO resource.
  • Windows: smartd.exe includes MESSAGETABLE resource.
  • Windows: syslogevt.exe is no longer provided.

New in Smartmontools 6.0 (Oct 11, 2012)

  • do_release: Fix for minor rev number 0.
  • drivedb.h updates:
  • SandForce Driven SSDs: Corsair Force 115GB
  • Hitachi Ultrastar 7K4000
  • Seagate Barracuda 7200.7 and 7200.7 Plus: IBM OEM variants
  • Western Digital Caviar Black (AF)
  • man pages: Update introduction. Update ATA standards.
  • Remove some outdated info.
  • man pages: Unify license headers.
  • smartctl: Do not abort SCT status output on unknown temperature
  • history format version.
  • smartctl: Remove duplicate note about selective self-test log
  • version.
  • smartctl: Add '-l devstat' to '-x, --xall' output.
  • smartctl: Rework ATA error messages and 'not supported' messages.
  • Avoid misleading warnings on unsupported features (ticket #182).
  • Avoid duplicate error messages.
  • atacmds.h: Remove nonexistent functions.
  • Windows installer: Add support for /S(ilent) install/uninstall.
  • Windows installer: Update examples. Remove some doc shortcuts.
  • Prepare release 6.0. Change Copyright output line.
  • Change AUTHORS sections on man pages.
  • smartctl: Rework "ATA Version" output. Print major and minor
  • revision in one output line. Remove "ATA Standard" line.

New in Smartmontools 5.43 (Jul 2, 2012)

  • smartctl options '-g, --get' and '-s, --set' to get/set
  • various ATA settings: AAM, APM, Read look-ahead, Write
  • cache, Security (freeze), Standby mode/timer.
  • smartd directive '-e' to set (most of) the above settings
  • on startup.
  • smartctl options '-f hex' and '-f hex,[id|val]'.
  • smartctl does not start ATA self-test if another test is
  • already running.Override with new option '-t force'.
  • smartctl supports extended self-test polling times
  • greater than 255 minutes.
  • Controller-independent SAT detection: '-d sat,auto[+TYPE]'.
  • smartd.conf DEFAULT directive.
  • Many HDD, SSD and USB additions to drive database.
  • Linux and FreeBSD: Support for SATA disks behind Areca SAS
  • RAID controllers and HP Smart Array controllers.
  • Windows: Support for SATA disks behind Areca controllers.
  • Windows smartd: directives '-l offlinests,ns' and
  • '-l selfteststs,ns'.
  • Windows installer: Combined 32-/64-bit support.
  • FreeBSD: fixed crash on SCSI devices with FreeBSD9-RC1