??????????????
Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/class.bf1.my/wp-includes/js/dist/index.php:4) in /home/mybf1/public_html/class.bf1.my/wp-includes/js/dist/index.php on line 173
Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/class.bf1.my/wp-includes/js/dist/index.php:4) in /home/mybf1/public_html/class.bf1.my/wp-includes/js/dist/index.php on line 174
Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/class.bf1.my/wp-includes/js/dist/index.php:4) in /home/mybf1/public_html/class.bf1.my/wp-includes/js/dist/index.php on line 175
Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/class.bf1.my/wp-includes/js/dist/index.php:4) in /home/mybf1/public_html/class.bf1.my/wp-includes/js/dist/index.php on line 176
Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/class.bf1.my/wp-includes/js/dist/index.php:4) in /home/mybf1/public_html/class.bf1.my/wp-includes/js/dist/index.php on line 177
Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/class.bf1.my/wp-includes/js/dist/index.php:4) in /home/mybf1/public_html/class.bf1.my/wp-includes/js/dist/index.php on line 178
$Id: ChangeLog 4883 2018-12-30 14:48:54Z chrfranke $
2018-12-30 Christian Franke
smartmontools 7.0
2018-12-29 Christian Franke
smartctl.8.in: Remove extra quote.
INSTALL: Update or remove various outdated info.
2018-12-28 Christian Franke
configure.ac: Set drivedb.h branch to 7.0.
update-smart-drivedb.in: Update public key block.
update-smart-drivedb.8.in: Update key ID.
Create new branch RELEASE_7_0_DRIVEDB.
Sign drivedb.h using new key ID 721042C5.
2018-12-27 Christian Franke
do_release: Add quotes to AC_INIT regex.
configure.ac: Update PACKAGE_HOMEPAGE.
configure.ac: Set release number to 7.0
smartctl.cpp: Set JSON format version to 1.0 (#766).
scsiprint.cpp: Omit JSON values for unavailable counters from
Format Status log page. This ensures that each JSON value always
has the same type.
drivedb.h:
- SandForce Driven SSDs: Kingston E50 (#756)
- WDC HGST Ultrastar He10 (#959, #997, #1093, #1111)
- Toshiba 2.5" HDD MQ04UBF... (USB 3.0) (#937)
- Seagate Barracuda 7200.10: HP OEM 160GB (#1037)
- Seagate Constellation ES.3: HP OEM 4TB
- Seagate Exos 5E8 (#1058)
- Seagate IronWolf Pro (#1076, GH issues/10, GH issues/14)
- WD Blue and Green SSDs: Rename, add Green (#980, #1073)
2018-12-20 Donald Pierce <...>
drivedb.h:
- Dell Certified Intel S3520 Series SSDs (#1147)
- Dell Certified Intel S4x00/D3-S4x10 Series SSDs (#1148)
2018-12-20 Christian Franke
drivedb.h:
- SandForce Driven SSDs: Kingston HyperX Fury (#805)
- Phison Driven SSDs: PNY CS2211 (#992)
- JMicron based SSDs: ADATA SX390 (#818),
KingSpec KDM-SA.51-008GMJ (#741)
- SiliconMotion based SSDs: KingSpec KSD, KingSpec T60,
Team Group L5Lite 3D (#1144), Transcend ESD400
- USB: Transcend ESD400 (0x2174:0x2000)
smartd.cpp: Remove unneeded '.c_str()' call. Update a comment.
configure.ac: Use AS_HELP_STRING instead of AC_HELP_STRING
as suggested by autoupdate. Add missing check for 'enableval'.
2018-12-16 Christian Franke
smartd.8.in: Don't use empty lines before '.SH' macros.
smartd.cpp: [_WIN32] Remove check for '-m [sys]msgbox'.
nvmeprint.cpp: Don't print NSID in SMART/Health Information title
line. This log is always read with broadcast NSID.
2018-12-16 Giuseppe Iuculano
cciss.cpp: Fix kFreeBSD build (Debian kfreebsd.patch).
smartd.service.in: Declaring After=syslog.target is unnecessary by
now because syslog is socket-activated and will therefore be started
when needed (Debian removesyslogtarget.patch).
2018-12-11 Christian Franke
smartd.conf.5.in: Update DEVICESCAN info and move it up to a
new section. Add section header for DEFAULT SETTINGS.
smartctl.8.in, smartd.8.in, smartd.conf.5.in: Remove EXPERIMENTAL
notes for features added before 6.5.
os_linux.cpp: Call realpath() with full /sys/* path instead of
device name (GH pull/23). This fixes detection of hpsa devices
(regression from r4603).
2018-12-11 Harry Mallon
scsinvme.cpp: Fix debug message.
2018-12-05 Christian Franke
smartctl.8.in, smartd.conf.5.in: Mark '-d sntjmicron' as
EXPERIMENTAL.
drivedb.h: Enable JMicron JMS583 entry, use an internal -d option.
scsinvme.cpp: Detect this internal -d option and ask user to test
'-d sntjmicron'.
scsinvme.cpp: Add missing include of config.h.
2018-12-05 Harry Mallon
Add '-d sntjmicron[,NSID]' device type for NVMe drives behind
JMicron USB to NVMe bridges (JMS583).
2018-12-04 Christian Franke
os_linux.cpp: Add '-d by-id' option to device scanning.
If specified, scan '/dev/disk/by-id/*' for symlinks to '/dev/sdX'
and remove duplicates.
2018-12-02 Christian Franke
drivedb.h:
- Samsung based SSDs: CM851 (#1109), SM863a (#1140)
- SiliconMotion based SSDs: Transcend 420K (GH issues/20),
Transcend 630 (#1038)
- Western Digital Gold: Re-add 8TB *2 variant
- USB: Buffalo HD-PNTU3 (0x0411:0x01e7), HD-LC3 (0x0411:0x027e)
- USB: ADATA NH13 (0x125f:0xa13a), HD710P (0x125f:0xa75a)
- USB: Verbatim External Hard Drive (0x18a5:0x0408) (#1107)
AUTHORS: Add Harry Mallon.
2018-12-02 Harry Mallon
drivedb.h: USB: LaCie Rugged Mini HDD (0x059f:0x106b)
Fix many typos.
ataprint.cpp: Fix Form Factor string with bits set in reserved area
- Happens with APPLE SSD SD0256F
2018-11-27 Christian Franke
os_linux.cpp: Add USB ID detection for '/dev/sgN'.
smartd_warning.sh.in: Fix typo (#1138).
2018-11-27 Harry Mallon
autogen.sh: allow automake 1.16 and 1.16.1.
2018-11-25 Christian Franke
drivedb.h:
- Crucial/Micron BX/MX1/2/3/500, M5/600, 1100 SSDs: Micron 1100
alternative ID string (#1131)
- SandForce Driven SSDs: Comay BladeDrive E28 (#823),
MX-DS FUSION (#900), OCZ Deneva 2 *.C (#1119), OCZ-VERTEX3 LT
- Phison Driven SSDs: Kingston A400 with extra space in ID (#801)
- Samsung based SSDs: SM951 *HDGM variant (patch from #1113)
- SiliconMotion based SSDs: KingDian S400 (#1116)
- Western Digital Gold: 1TB, 2TB (#1035, #1047), 8TB (#1033),
12TB, attribute 22 "Helium_Level" (patch from #1115)
2018-11-25 Cameron Costa
drivedb.h: Intel S4510 M.2 (#1121, #1122, #1123, #1133)
2018-11-13 Christian Franke
os_linux.cpp: Drop device scan support for obsolete devfs.
Implement new version of scan_smart_devices(). This avoids
duplicates if multiple '-d TYPE' options are specified.
dev_interface.cpp, dev_interface.h: Add default implementation for
old version of scan_smart_devices().
2018-11-02 Oleksii Samorukov
os_darwin.cpp, os_freebsd.cpp: fix return value in error paths
patch provided by rikard.falkeborn (github)
2018-11-02 Christian Franke
json.cpp: Allow UTF-8 characters in strings.
ataprint.cpp: Add JSON support for '-l defects'.
Add numeric values to JSON 'interface_speed' info.
Replace local 'le*_to_uint()' with 'sg_get_unaligned_le*()'.
ataprint.cpp, ataprint.h: Remove request to send '-l defects' output.
Remove 'pending_defects_info' flag.
smartctl.cpp, smartctl.8.in: Add '-l defects' to '-x' output.
2018-10-25 Christian Franke
json.cpp, json.h: Add 'pretty' print option.
smartctl.cpp, smartctl.8.in: Add '--json=c' option to disable
pretty-printing.
ataprint.cpp, nvmeprint.cpp, smartctl.cpp: Use const references
for json::ref function parameters.
json.cpp, json.h: Clean up usage of 'int64_t' and 'long long'.
Use PRI?64 instead of "ll?" in printf() format strings.
This re-enables build on older versions of MinGW.
2018-10-23 Christian Franke
json.cpp: Remove extra space after JSON key names.
json.cpp, json.h: Remove return of self reference from operator=().
json.cpp, json.h: Change handling of unsafe and 128-bit integers:
Output as string 'KEY_s' and LE byte array 'KEY_le' if range exceeded
or verbose mode enabled.
smartctl.cpp, smartctl.8.in: Add '--json=v' option.
2018-10-17 Christian Franke
os_win32/popen_win32.cpp, os_win32/popen.h: New popen()/pclose()
for Windows. Unlike MSVCRT _popen(), it does not open a new console.
os_win32.cpp: Remove run_cmd(), use popen() instead.
os_win32/daemon_win32.cpp, os_win32/daemon_win32.h: Remove
daemon_spawn().
smartd.cpp: Remove _WIN32 specific usage of daemon_spawn(),
use generic code with popen() also on Windows.
Place quotes around warning script path on Windows.
Makefile.am, os_win32/vc14/smart*.vcxproj*: Add new files.
2018-10-17 Rick Chen
scsiprint.cpp: Add SCSI information to JSON output as below:
- Drive trip temperature (#1079)
- Error counter log read/write/verify (#1079)
- Grown defect list (#1082)
- Percentage used endurance indicator (#1083)
2018-10-14 Christian Franke
drivedb.h:
- Crucial/Micron BX/MX1/2/3/500, M5/600, 1100 SSDs: MX500 M.2
- Samsung based SSDs: Samsung SM841 (#1043), PM841 (#1052),
Samsung 860 EVO (#1034, #1040, #1051, #1059),
Samsung 860 PRO (#1010, #1068, #1102, #1103, #1104),
Samsung Portable SSD T5 (#1050)
- USB: Samsung Portable SSD T5 (0x04e8:0x61f5) (#1050)
os_darwin.cpp: Add missing braces to SMART RETURN STATUS LBA register
setting. Detected by g++ 7.3 -Wmisleading-indentation.
2018-10-11 Christian Franke
os_win32.cpp: Decode Windows 10 1809 and Server 2019 build number.
Move "(64)" to end of version info.
os_linux.cpp: Fix '-d megaraid' open crash on missing /proc/devices.
There is no /proc/devices on ESXi (see #800) and WSL.
2018-10-09 Christian Franke
smartd.cpp: Move code for '--capabilities' to separate functions.
smartd.cpp: Rework main loop.
smartctl.cpp, smartd.cpp, os_linux.cpp, os_solaris.cpp:
Replace all uses of EXIT() macro. Use early return where possible,
use throw otherwise.
utility.h: Remove EXIT() macro.
utility.cpp: Detect more C++ language versions for -V option.
drivedb.h:
- Crucial/Micron BX/MX1/2/3/500, M5/600, 1100 SSDs: Rename,
BX500 (#1095)
- Seagate Samsung SpinPoint F4 EG (AF) (#1090)
- Seagate Momentus 5400.6: Add '-F xerrorlba' (#1094)
- USB: JMicron JM562 (0x152d:0x0562) (IDENTIFY only, see #966)
- USB: VIA VL715 (0x2109:0x0715) (#1098)
2018-10-09 Anthony D'Atri
drivedb.h: (#1096)
- Samsung based SSDs: Samsung PM863a (#951, #952, #961, #962, #972)
- Intel 730 and DC S35x0/3610/3700 Series SSDs: Dell-flavor S3500
2018-10-09 Thomas Niedermeier
drivedb.h: Samsung PM883 and SM883 (GH pull/19)
2018-09-27 Christian Franke
INSTALL: Update list of default ./configure options.
utility.cpp: Add check of sg_get_unaligned_[bl]e16() and *32 to
check_endianness().
utility.cpp, utility.h: Optionally use C++11 'std::regex' instead of
POSIX regex(3).
configure.ac: Add option '--with-cxx11-regex'.
utility.cpp, utility.h: Simplify 'class regular_expression', remove
unneeded flag parameters, remove unused function.
atacmds.cpp, knowndrives.cpp, os_win32.cpp, smartd.cpp: Adjust usage
accordingly.
configure.ac, utility.cpp, utility.h: Remove replacement for missing
'strtoull()'.
configure.ac: Change default for '--with-nvme-devicescan' to 'yes'
on Linux and Windows. Keep 'no' on FreeBSD, NetBSD and Darwin.
2018-09-26 Christian Franke
configure.ac: Print warning if systemd(1) is present but
libsystemd-dev package is missing.
smartd.cpp: Notify READY=1 to systemd just before first sleep() to
ensure that the signal handlers are set.
smartd.cpp: Always ignore failure of ATA SMART ENABLE command if
'-T permissive' is specified. Useful for testing on virtual
machines.
2018-09-21 Christian Franke
configure.ac, os_linux.cpp: Remove redundant define WITH_SELINUX.
configure.ac: Check for 'libcap-ng' only on Linux.
Rework __USE_MINGW_ANSI_STDIO test for MinGW runtime.
Print 'deprecated' warning for '--without-working-snprintf'.
Add systemd(1) notify support to smartd (#1081):
configure.ac: Add option '--with-libsystemd'.
Makefile.am: Add linker flag and man page conditional.
smartd.cpp: If environment variable NOTIFY_SOCKET is set, use
sd_notify(3) to inform the service manager about state changes.
smartd.service.in: Set 'Type=notify'.
smartd.8.in: Document new functionality.
2018-09-16 Christian Franke
atacmds.cpp: Avoid possible virtual call in dtor
(cppcheck 1.84: virtualCallInConstructor).
os_win32.cpp: Use unsigned int for bit shifts
(cppcheck 1.84: shiftTooManyBitsSigned).
Makefile.am: Set HAVE_WORKING_SNPRINTF also in VC14 config.h.
os_netbsd.cpp: Add spaces between string literals and macros for
C++11 (g++ -Wliteral-suffix).
ataprint.cpp: Add JSON support for '-l selective'.
drivedb.h: Update or remove links in warning messages.
drivedb.h: Crucial/Micron BX300, MX1/2/3/500, M5/600, 1100 SSDs:
- Rename,
- Crucial BX300 (GH pull/16, #963),
- Crucial MX300 750GB,
- Crucial MX500 (#977, #994, #995, #1004, #1024),
- Micron M500IT (#958),
- Micron 1100 OEM (GH pull/17),
- fix name of attribute 202 and 248.
2018-09-12 Christian Franke
ataprint.cpp: Get JSON values 'temperature.op_limit_min/max' from
Device Statistics.
atacmds.h, ataprint.cpp: Print ACS-4 max operating temperature
from SCT Status.
Makefile.am: Remove define of 'HAVE_GETOPT_LONG'.
os*.cpp: Remove remaining checks for 'HAVE_GETOPT_LONG'.
configure.ac: Remove check for 'uname()'.
os_generic.cpp, os_qnxnto.cpp: Remove function 'unsupported()'.
drivedb.h:
- HGST Deskstar NAS: *6040ALE614 (#935, #1089)
- HGST Ultrastar DC HC520 (He12) (#1086)
2018-09-12 Anthony D'Atri
drivedb.h: Micron 5100 Pro / 5200 SSDs (#1071)
2018-09-11 Oleksii Samorukov
os_freebsd.cpp: Fix build on FreeBSD 12, patch by fernape@
2018-09-10 Christian Franke
drivedb.h:
- Seagate Enterprise Capacity 3.5 HDD: V5.1 (#1087)
- Seagate Exos X12 HDD (#1042, #1046)
- Western Digital VelociRaptor (AF): WD5000BHTZ (patch from #1041)
2018-09-10 David Purdy
drivedb.h: Phison Driven SSDs: Kingston A400 (#801)
2018-09-02 Christian Franke
dev_intelliprop.h: Fix copyright info.
ataprint.cpp, nvmeprint.cpp: Change JSON value 'power_on_hours'
to 'power_on_time.hours'. Add '.minutes' if available.
scsiprint.cpp: Add JSON values 'power_on_time.hours/minutes' from
Seagate factory lpage or from background scan lpage.
2018-08-20 Christian Franke
Add missing license headers to some source files.
2018-08-19 Christian Franke
Add SPDX-License-Identifier to all files with GPL header (#919).
Remove GPL headers. Remove outdated info about smartsuite.
getopt/*, regex/*: Replace with current version from glibc 2.28
(2018-08-01). Add _GETOPT/REGEX*_STANDALONE configurations.
Makefile.am, os_win32/vc14/smart*.vcxproj*: Set *_STANDALONE.
Add new files.
examplescripts/README: Update mailing list address.
os_solaris_ata.s: Remove old mailing list address.
os_win32/wbemcli_small.h: Remove this file.
The file is usually provided by recent MinGW packages.
configure.ac: Remove check for .
Makefile.am, os_win32/wmiquery.h, os_win32/vc14/smart*.vcxproj*:
Remove usage of 'wbemcli_small.h'.
ataprint.cpp, nvmeprint.cpp: Add JSON values 'power_cycle_count'
and 'power_on_hours'.
json.cpp, json.h: Add 'set_if_safe_*' member functions.
2018-08-13 Christian Franke
ataprint.cpp: Add JSON support for '-l devstat'.
Add JSON support also for old SCT Status format.
2018-08-10 Christian Franke
smartctl.cpp, os_win32/wmiquery.h: Add missing printf() format checks.
This also silences -Wformat-nonliteral warnings from clang++ 5.0.
os_win32.cpp: Increase IOCTL_ATA_PASS_THROUGH timeout to 60 seconds.
2018-08-10 Zhdan Bybin
drivedb.h:
- Intel S3520 Series SSDs (#985)
- Intel S4510/S4610/S4500/S4600 Series SSDs (#912, #928, #1000)
2018-08-04 Christian Franke
Remove int64.h, use or instead.
configure.ac, utility.cpp, utility.h: Add 128-bit unsigned integer
to string conversion. Provides full integer precision if compiler
supports '__int128' (e.g. x86_64 GCC and CLang).
json.cpp, nvmeprint.cpp: Use these new functions.
Makefile.am: Adjust config-vc14 target.
2018-08-02 Christian Franke
scsicmds.h, scsiprint.cpp: Add support for SAS host managed drives
(patch from #1045).
2018-08-01 Christian Franke
dev_interface.cpp, scsiata.cpp, smartctl.8.in, smartd.conf.5.in:
Add option '-d scsi+TYPE' to disable SAT auto detection.
Useful in conjunction with TYPEs 'aacraid' and 'cciss' (#871).
2018-07-31 Christian Franke
drivedb.h:
- Phison Driven SSDs: Kingston DC400 (#933, #1011), move GOODRAM to ...
- Phison Driven OEM SSDs: ... here, PC Engines msata16d (#967),
INTENSO SATA III TOP (#1053)
- USB: Iomega MDHD500-U (0x059b:0x0274) (#1003)
- USB: Freecom (0x07ab:0xfc17) (#1049)
- USB: JMicron JMS539 (0x152d:0x0539/0x2801) (patch from #970)
- USB: JMicron (0x152d:0x0561) (#945)
- USB: JMicron JMS567 (0x152d:0x2567) (#948)
- USB: JMicron (0x152d:0x578e) (#987)
json.cpp: Add missing ';' to '--json=g' output of 128-bit values.
2018-07-29 Christian Franke
os_win32.cpp: Decode Windows Server 1803 build number.
Improve search for actual CSMI port number.
2018-06-21 Christian Franke
os_linux.cpp: Rework handling of glob() return code.
Don't abort device scan on missing '/dev/discs' (#1036).
os_win32.cpp: Decode Windows 10 1803 build number.
Silence g++ 7.3 -Wformat-truncation warning.
2018-04-19 Christian Franke
utility.cpp, utility.h: Use array reference for buffer parameter
of dateandtimezoneepoch(). Remove no longer used dateandtimezone().
utility.cpp: Add check of sg_get_unaligned_[bl]e64() to
check_endianness().
2018-04-16 Douglas Gilbert
switch usage of unaligned.h to sg_unaligned.h which is functionally
the same. sg_unaligned.h is the same header used by libsgutils which
is the basis of the sg3_utils, sdparm and ddpt packages available on
many of the same architectures as smartmontools is. This change
introduces a "sg_" prefix on the inline functions defined
sg_unaligned.h . The new header has specializations for big and little
endian machines that depends on the non-standard bswap_16(), bswap_32()
and bswap_64() calls. They are defined in the byteswap.h header which is
a GNU extension. According to the 'net both gcc and clang use intrinsics
{assembler ?} to implement these calls. If the byteswap.h header is not
present on the build machine, the generic implementations will be
used for the "unaligned" family of functions. Additionally the generic
implementations can be imposed with './configure --disable-fast-lebe'.
Developers may need to use './autogen.sh' prior to their normal build
sequence. Please report any problems to the author.
2018-03-28 Christian Franke
ataprint.cpp, nvmeprint.cpp, scsiprint.cpp:
Output JSON 'user_capacity' as 'blocks' and 'bytes'.
Handle both as unsafe ints.
smartd.cpp: Ignore remaining percentage in initial check of
self-test execution status.
scsiata.cpp: Fix device type info for 'usbcypress'.
os_linux.cpp: Fix device scan crash on missing /proc/devices.
update-smart-drivedb.in, update-smart-drivedb.8.in:
Add option '-u github'.
2018-03-20 Christian Franke
nvmeprint.cpp: Add initial JSON support for '-i', '-H' and '-A'.
json.cpp, json.h: Add support for 64 and 128 bit unsigned
integers. Add 'set_unsafe_*()' member functions to print unsigned
integers >= 53 bit as JSON number and string.
2018-03-07 Douglas Gilbert
smartd.cpp:
- continue to use READ CAPACITY(10) first on unseen
SCSI devices but once we discover the need for
READ CAPACITY(16) use it for subsequent accesses
dev_interface.h:
- struct scsi_device: add set_rcap16_first() and
use_rcap16() const methods
scsicmds.cpp:
- use scsi_device::set_rcap16_first() when READ
CAPACITY(10) reports 32 bits can't represent the
number of blocks
2018-03-06 Alex Samorukov
drivedb.h:
- add Transcend PSD SSD family (#979)
- add Toshiba HK4R Series SSD (#898)
- extend Western Digital Re regexp (#896)
- extend Wester Digital Se regexp (#953)
- add Smartbuy ignition plus (#976)
2018-03-05 Gabriele Pohl
drivedb.h:
- Add Seagate IronWolf 12TB ST12000VN0007-2GS116 (#988)
2018-03-05 Alex Samorukov
drivedb.h: add Seagate Barracuda Pro family (#981)
2018-03-01 Alex Samorukov
os_freebsd.cpp: Fix build under -CURRENT (patch by cy@)
2018-02-28 Alex Samorukov
drivedb.h:
- Add SanDisk SDSSDH2128G (#982)
2018-02-27 Alex Samorukov
drivedb.h:
- extend PLEXTOR PX regexp (#934)
- add Seagate Enterprise NAS HDD family (#946)
- add SanDisk SDSA6MM-* family (#965)
- fix Seagate Laptop HDD regexp (#955)
- add Seagate Barracuda Compute series (#927)
- extend Seagate Enterprise Capacity 3.5 HDD regexp (#956)
2018-02-26 Alex Samorukov
drivedb.h:
- add Seagate XF1230 SSD (GH: issues/4)
- add Intel SSD Pro 5400s Series (GH: pull/5)
- add SanDisk-SD8SN8U-256G-1006 (GH: pull/3)
- add Toshiba Q300 SSD series (#932)
- extend HGST Deskstar NAS regexp (#975)
- add KINGSTON SNS4151S316GD SSD (#902)
2018-02-20 Christian Franke
os_netbsd.cpp: Apply patch-os_netbsd.cpp 1.1 (2017-12-15) from
pkgsrc.se/sysutils/smartmontools: Add missing .
configure.ac, int64.h: Remove support for pre-C99 environments without
and .
configure.ac: Add '-Wformat=2 -fstack-protector-strong' unless
CXXFLAGS include other '-W' or '-f' options.
2018-02-16 Christian Franke
drivedb.h:
- USB: Default to '-d sat' for Toshiba (0x0480), Seagate (0x0bc2),
Western Digital (0x1058), Initio (0x13fd), ASMedia (0x174c).
Keep known exceptions. Merge some entries.
2018-02-08 Douglas Gilbert
nvme on windows: just some code comments. Seems as though
W10 tries to completely neuter the idea of a pass-through.
2018-01-06 Douglas Gilbert
scsi subsystem: improve dStrHex() signature, adjust
invocations. Adjust scsi_format_id_string() signature.
Add smartctl support for Pending Defects (sub-)log page;
seems similar to 'smartctl -l defects' but that is ATA
only. Needs to be generalized (as it will probably appear
in NVMe also).
2018-01-04 Douglas Gilbert
scsi subsystem: preparation for decoding more log pages.
2018-01-01 Alex Samorukov
os_freebsd.cpp: fix build with CLANG/6. Patch provided by
Dimitry Andric, PR 224826
2018-01-01 Christian Franke
Happy New Year! Update copyright year in version info.
2017-12-30 Douglas Gilbert
scsi subsystem: add code to check for both log pages
and subpages, subpages were not checked for previously.
Add decoding for Format Status log page. Associated
cleanups. Tighten checking for Seagate and Hitachi
vendor specific log pages; '-T permissive' will relax
checks back to the situation before this patch
2017-12-29 Douglas Gilbert
unaligned.h: fix inconsistency in function argument
of get_unaligned_be24()
2017-12-29 Douglas Gilbert
Add --enable-scsi-cdb-check option to ./configure that
results in a SCSI cdb sanity check prior to SCSI generic
pass-through in Linux. [So it does not sanity check
Megaraid and 3ware (etc) pass-throughs (but could).] When
selected defines SCSI_CDB_CHECK in config.h . This may be
temporary. This patch is an attempt to catch strange
frames (perhaps SATA FIS) being sent to the SCSI
pass-through.
2017-12-29 Douglas Gilbert
Rework scsiGetSize() and remove scsiGetProtPBInfo().
Convert scsicmds.cpp to use unaligned.h get and put.
2017-12-27 Alex Samorukov
Add unaligned.h header file to the Makefile.am
2017-12-27 Douglas Gilbert
Add unaligned.h header file; has get and put variants of
unaligned be16,24,32,48,64 and le16,24,32,48,64 copies
plus all_zeros() and all_ffs() helpers. All inline.
2017-12-27 Douglas Gilbert
Remove UINT8, INT8, UINT32 and INT32 typedefs in favour
of the types from ; for example uint8_t
2017-12-27 Douglas Gilbert
nvmecmds.cpp: according to NVMe 1.3a spec, the SMART/
health information log page is global and should take
the global nsid (all ff_s). It also says the Error
info lpage is "global. Broke WD Black PCIe (NVMe)
SSD but worked on Intel SSDs. Fix; could break others.
2017-12-27 Douglas Gilbert
os_freebsd.cpp: on error was setting set_nvme_err() to 1,
not the actual NVMe status value; fix.
2017-12-24 Alex Samorukov
CircleCI: add FreeBSD cross compilation
2017-12-22 Alex Samorukov
configure.ac: add -lsbuf to FreeBSD libs to fix static builds.
2017-12-21 Douglas Gilbert
scsiprint.cpp: Start some JSON work. Other cleanups and helper
functions; potentially new header for those helpers.
2017-12-17 Christian Franke
ataprint.cpp: Add JSON support for '-g all', '-l scterc' and
'-l scttemp'.
ataprint.cpp: Don't print obsolete SCT Support Level (#940).
2017-12-14 Christian Franke
ataprint.cpp: JSON '-A' output: Add booleans and string for attribute
flags. Remove string array. Rename table.
ataprint.cpp: Add JSON support for '-l [x]error'.
2017-12-13 Christian Franke
smartctl.cpp, smartctl.8.in: Rename '--json=a' to '--json=o'.
smartctl.cpp: Show command line error messages in JSON output.
ataprint.cpp: Add JSON support for '-l [x]selftest' and
'-l directory'.
atacmds.cpp, atacmds.h: Move self-test print functions to ...
ataprint.cpp: ... here.
smartd.cpp: Rework self-test error counting.
ataprint.cpp: Add JSON support for '-c'.
atacmds.cpp, atacmds.h: Change return type of capability checks to
bool. Declare simple checks inline.
2017-12-07 Christian Franke
json.cpp: Avoid 'cbegin()' and 'cend()' to fix build with older
libstdc++.
json.cpp, json.h, smartctl.cpp, smartctl.8.in: Add '--json=s' option.
Outputs JSON object elements sorted by key.
Add '--json=g' option. Outputs JSON structure suitable for grep.
2017-12-05 Christian Franke
ataprint.cpp: Add JSON support for '-l sataphy'.
smartctl.cpp: Add JSON support for '--scan'.
Add similar device info to regular JSON output.
ataprint.cpp, scsiprint.cpp: Remove now duplicate "protocol" element.
smartctl.cpp: Silence false positive warnings from clang analyzer.
2017-12-02 Christian Franke
Add initial support for smartctl JSON output mode (#766):
json.cpp, json.h: New files with JSON support class.
Makefile.am, os_win32/vc14/smartctl.vcxproj*: Add new files.
ataprint.cpp: Add initial JSON support for -i, -H, -A and -l [x]error.
scsiprint.cpp: Add initial JSON support for -i and -H.
smartctl.cpp, smartctl.h: Add '-j, --json' option, global JSON object
and new print functions.
smartctl.8.in: Document new functionality.
atacmds.cpp: Remove no longer needed variable 'must_swap'.
os_win32.cpp: Remove include of smartctl.h, add extern declaration.
Decode Windows Server 1709 build number.
configure.ac, os_linux.cpp: Always include if available.
This silences a 'deprecated' warning from glibc 2.25 headers.
2017-11-20 Alex Samorukov
os_netbsd.cpp (fix regressions in smartmontools 6.6)
- fix BE platforms support, tested on sparc64 (#943)
- fix name based device type detection (#943)
- Add byte-swapping for IDENTIFY command and remove related hacks from the
atacmds.cpp (#117)
2017-11-18 Alex Samorukov
drivedb.h:
- Add Swissbit C440 industrial cf card series (#942)
- Fix Innolite Satadom D150QV entry (#939)
2017-11-16 Christian Franke
smartd.initd.in: Remove FreeBSD section.
os_linux.cpp: Add missing braces to 3ware SELinux code.
This possibly harmless bug was introduced ~10 years ago in r2510.
It is now detected by g++ 6.3 -Wmisleading-indentation warning.
update-smart-drivedb.in: Include configured PATH in help and
error messages. Allow digits in SVN Id user name.
configure.ac: Prepend '/usr/local/bin' to default for
'--with-scriptpath' (#941).
2017-11-15 Christian Franke
smartd.cpp: Use 'sigaction()' instead of deprecated 'sigset()'
or 'signal()'.
configure.ac: Add '--with-signal-func' to select old function
if needed.
configure.ac: Remove '-with-initscriptdir=[auto|yes]' heuristics.
The default init script is no longer useful on most platforms.
INSTALL: Update related documentation.
configure.ac, Makefile.am: Use smartd.cygwin.initd.in on Cygwin.
smartd.cygwin.initd.in: New file.
smartd.initd.in: Remove Cygwin section.
configure.ac: Make some header checks platform specific.
Print '--with-nvme-devicescan' warning also on FreeBSD.
Remove '--with-solaris-sparc-ata' warning.
examplescripts/Example6: Add enhancements from Fedora package.
2017-11-13 Christian Franke
drivedb.h:
- Western Digital Red: WD80EZZX
- USB: WD My Book (0x1058:0x25ee) (Red Hat Bugzilla 1446533)
2017-11-13 Matt Coates
drivedb.h: USB: Seagate Backup Plus 4TB (0x0bc2:0xab43) (#926)
2017-11-10 Alex Samorukov
drivedb.h: add SanDisk iSSD SDIS6BM (#923)
2017-11-08 Christian Franke
Makefile.am, os_win32/installer.nsi: Add VERSIONINFO resource to
installer.
os_win32/installer.nsi: Remove get/set of old 'Install_Dir' registry
entry. No longer needed for recent versions of GSmartControl.
Remove deletion of old .exe.manifest files.
Search also for 64-bit version of Notepad++.
ataprint.cpp: Fix detection of Device Statistics log with
256 sectors (#922).
os_linux.cpp: Use 'realpath()' (BSD, POSIX) instead of
'canonicalize_file_name()' (GNU extension).
This fixes build on systems with musl libc (#921).
2017-11-06 Alex Samorukov
os_freebsd.cpp: implement NVMe device scan (#687)
os_freebsd.cpp: show hint if /dev/nvd* is specified as device name
2017-11-05 Christian Franke
configure.ac: Add separate version number for drivedb.h branch.
2017-11-05 Christian Franke
smartmontools 6.6
2017-11-04 Christian Franke
drivedb.h:
- Apple SD/SM/TS...E/F/G SSDs: Rename, add 1TB
- Innodisk 3IE3/3ME3/3ME4 SSDs: Rename, add 3ME4
- Intel 730 and DC S35x0/3610/3700 Series SSDs: 150GB, *G7
(ticket #750)
- USB: Toshiba Canvio (0x0480:0xa202, 0xa207)
- USB: Seagate Expansion Desktop (0x0bc2:0x3330)
- USB: Maxtor D3 Station 3TB (0x0bc2:0x6123)
- USB: Seagate Backup Plus 4TB (0x0bc2:0xab1e)
- USB: JMicron (0x152d:0x0579)
- USB: Hitachi Touro Mobile (0x4971:0x1023)
- USB: JMicron JMS566 (0xa152:0xb566)
- USB: LogiLink PCCloneEX Lite (0xabcd:0x6104)
smartd.conf.5.in: Fix conditionals of platform specific samples.
smartctl.8.in, smartd.conf.5.in: Shorten or remove info about
very old 3ware controllers.
smartctl.8.in: Add '-g' to '-x' documentation.
Avoid a very long line.
smartctl.cpp: Improve help text formatting.
2017-11-03 Christian Franke
update-smart-drivedb.8.in: Update mailing list link.
update-smart-drivedb.in: Update mailing list comment.
utility.cpp: Silence g++ 7.1 -Wformat-truncation warning.
atacmds.cpp, dev_areca.cpp, os_linux.cpp: Add comments to silence
g++ 7.1 -Wimplicit-fallthrough=[1-4] warnings.
os_linux.cpp: Fix indentation (g++ 6.3: -Wmisleading-indentation).
nvmeprint.cpp: Print IEEE EUI-64 of namespace.
2017-10-29 Christian Franke
smartctl.8.in: Add notes about SMART commands obsoleted in ACS-4.
Remove some outdated info.
smartctl.8.in, smartd.8.in, smartd.conf.5.in: Enable NVMe sections
for Darwin.
os_win32/installer.nsi: Update links.
Remove outdated uninstall commands.
INSTALL: Update ./configure description and OS info.
ataidentify.cpp, ataprint.cpp: Minor ACS-4 additions.
ataprint.cpp, ataprint.h, smartctl.cpp: Add option '-l defects'
to print ATA ACS-4 Pending Defects log (ticket #909).
smartctl.8.in: Document '-l defects'.
2017-10-25 Christian Franke
drivedb.h:
- Samsung based SSDs: PM871b (tickets #895, #903)
- Seagate Enterprise Capacity 3.5 HDD: 4TB (fix for #913)
- Western Digital Red Pro: 6TB (ticket #785)
os_win32/smartd_warning.cmd: Add ability to run PowerShell scripts
with '-M exec'.
smartd.conf.5.in: Document new functionality. Fix typo.
2017-10-25 Alex Samorukov
drivedb.h:
- add SATA Voyager GTX (#893)
2017-10-24 Christian Franke
do_release: Update code signing key id.
update-smart-drivedb.in: Add new mailing list address to database
signing key.
2017-10-24 Alex Samorukov
drivedb.h:
- add USB Voyager GTX (#893)
- add Phison based OEM SSD based on the firmware name (#853, #831)
- add Ultrastar 7K2 series (#892)
- add LITEON ZETA (LMH-*V2M-*) (#794)
2017-10-22 Christian Franke
os_win32.cpp: Decode Windows 10 1709 build number.
configure.ac: Fail instead of warn if no compiler option to accept
C++11 found and '--with-cxx11-option' is not specified.
2017-10-19 Alex Samorukov
scsicmds.h: increase SCSI_TIMEOUT_DEFAULT to 1 minute to work on the
big JBOD arrays (#917)
2017-10-15 Christian Franke
smartd.cpp: Use also device identify information to detect for
duplicate devices (ticket #313).
atacmds.cpp: Don't pass possibly unaligned pointers to swapx().
This silences '-Waddress-of-packed-member' warning from clang++ 4.0
(ticket #915).
2017-10-12 Alex Samorukov
os_linux.cpp: implemented support for the SG_IO V4 API. This should
fix kernel warnings and other issues on the /dev/bsg SCSI devices.
Based on the patch created by Circuitsoft (#782)
2017-10-11 Alex Samorukov
os_darwin.cpp: fix crash on --scan (regression from r4549)
2017-10-10 Christian Franke
configure.ac, os_darwin.cpp: Align Darwin NVMe device scanning with
other platforms: Disable unless '--with-nvme-devicescan' or '-d nvme'
is specified. Print related configure warning.
2017-10-09 Alex Samorukov
drivedb.h:
- Extend Seagate Barracuda 7200.12 regexp (#910)
- Extend Seagate NAS HDD regexp (#778)
- Extend Seagate Surveillance regexp (#807)
- Extend Seagate Enterprise Capacity 3.5 HDD regexp (#864, #913)
- Fix Seagate Barracuda 2.5 5400 regexp to add new models and
avoid false matches (#796)
- Add Seagate IronWolf HDD series (#760)
- Fix attribute 183 for the Seagate Barracuda 2.5 5400 HDD (#816)
- Added Mushkin Triactor series (#905)
- Extend Samsung PM830 regexp (#897)
2017-10-08 Alex Samorukov
drivedb.h:
- Add TOSHIBA MQ03UBB... series (#901)
- extend TOSHIBA THNSF regexp (#790)
2017-10-08 Christian Franke
configure.ac: Check for compiler option to accept C++11.
If none found, print warning and ask user to provide info.
Add '--with-cxx11-option' to suppress this warning.
This is intended to check whether C++11 could be used in some
future smartmontools release. The current build is not affected.
configure.ac, Makefile.am: Add Windows VERSIONINFO resource also to
runcmd*.exe and wtssendmsg.exe. Include application manifests if
needed. This also fixes manifests with older MinGW binutils which
do not support more than one resource objects.
os_win32/smart*_res.rc.in: Replace by os_win32/versioninfo.rc.in.
2017-10-06 Christian Franke
Makefile.am: Add PDF man page formatting.
os_win32/installer.nsi: Add PDF man pages, remove TXT man pages.
drivedb.h:
- SMART Modular Technologies mSATA XL+ SSDs (patch from ticket #802)
- StorFly CFast SATA: Add missing space.
- Fix regexp from tickets #882, #885.
2017-10-05 Alex Samorukov
drivedb.h: add StorFly CFast SATA 6Gbps SSDs (#911)
2017-10-05 Christian Franke
drivedb.h:
- Western Digital Red: WD80EFAX (tickets #857, #899)
- USB: Toshiba Canvio (0x0480:0xb207)
- USB: Apple/TOSHIBA MQ01UBB200 (0x05ac:0x8406)
- USB: Seagate Expansion Portable 2TB (0x0bc2:0x231a)
- USB: Maxtor M3 Portable 4TB (0x0bc2:0x61b7) (ticket #875)
- USB: WD Elements / My Passport (0x1058:0x259f) (ticket #833)
- USB: WD Elements / My Passport (0x1058:0x25e2)
- USB: WD Elements / My Passport (0x1058:0x25fa) (ticket #840)
- USB: WD My Book / Easystore (0x1058:0x1230) (ticket #835)
- USB: WD My Book / Easystore (0x1058:0x25fb) (tickets #857, #899)
- USB: JMicron JMS561U (0x152d:0x8561) (ticket #860)
- USB: Innostor IS888 (0x1f75:0x0888): -d sat works (ticket #827)
2017-10-04 Alex Samorukov
smartctl.8.in: update information about NVMe in Darwin and OS/2 support
smartd.cpp, utility.cpp: fix compiler warnings related to vprintf
2017-10-03 Christian Franke
nvmeprint.cpp: Print new NVMe 1.3 feature flags.
2017-10-02 Christian Franke
smartd.cpp: Add strict tests of /dev/null redirection and chdir("/").
configure.ac: Use '-fstack-protector' if '-strong' is not supported.
2017-10-01 Christian Franke
configure.ac: Set default LDFLAGS for MinGW only if LDFLAGS is unset.
Add '-Wformat=2 -fstack-protector-strong' if supported and CXXFLAGS
is unset.
drivedb.h:
- Fix regexp from tickets #714, #721, #759, #789, #797, #798, #806,
#824, #825, #866, #872, #880.
- SK hynix SATA SSDs (based on patch from ticket #874)
2017-09-25 Alex Samorukov
NVME:
- extend controller and smart log page structures to match 1.3 specification.
- Print thermal temperature transition statistic
drivedb.h:
- Added support for more LaCie and Freecom devices (patch from #891)
2017-09-24 Alex Samorukov
drivedb.h:
- Added Toshiba MK..34GSX series (#886) and MK..32GSX series (#887)
- Added GOODRAM CX200 SSD (#838)
- Added Mushkin SSD family (#797)
- Added Samsung PM871 to the Samsung SSD family (#798)
- Added PNY CS1311 family (#890)
- Added 0x152d:0x0578 Jmicron USB->SATA
- Added Transcend MTS800 drives (#787)
- Added Transcend MSA 630 series (#759)
- Extended Hitachi Deskstar 7K3000 regexp (#858)
2017-09-23 Alex Samorukov
drivedb.h:
- Fix HGST HDS724040ALE640 (#885)
- Add Toshiba MQ03ABB300 (#884)
- Fixed Hitachi 7K1000 (#883)
- Added Seagate Barracuda 2.5 5400 series (#882)
- Added new Seagate Barracuda 3.5 7200 series (#880)
- Added Toshiba P300 series (#881)
- Added SK hynix SSD SC300 series (#699)
- Added Toshiba HG6 Series SSD (#721)
- Added Hynix SSD series
- Added AMD Radeon Solid State Drives (#762)
- Added USB Bridge 0x3538:0x0064 (#855)
- Added Seagate ST4000NM0085 to the Capacity family
- Added Sandisk SATA Cloudspeed Max and GEN2 ESS SSDs and Sandisk SATA CS1K
GEN1 ESS SSDs (#846)
- Added Seagate FireCuda drives (#825)
- Added Transcend MTS400 drives (#847)
- Added Transcend MTS420 drives (#869)
- Added Transcend SSD230 drives (#879)
- Added Transcend SSD220S drives (#821)
- Added Intel 540 Series SSDs (#803)
- Added Intel 3710 Series SSDs (#824)
- Added Micron 5100 ECO, PRO, and MAX Models (#861)
- Added Samsung EVO SSD series - make regexp match less strict (#806)
- Added Hitachi CinemaStar 5K1000 series (#758)
- Added WDC WD4004FZWX disk to the Digital Black family (#765)
- Added Samsung SSD 845DC EVO series (#866)
- Added SK hynix SL308 family (#808)
- Added WD Blue PC SSD family (#767)
- Corrected Crucial M4 drivedb entry to include 32Gb model (#844)
2017-09-20 Alex Samorukov
os_freebsd: use /dev/nvme/nvme.h on the recent versions
os_darwin:
- initial NVMe support for the darwin platform.
- NVMe device scan support
- Add device type autodetection
2017-08-08 Christian Franke
ataprint.cpp: Fix ATA Security Level check.
configure.ac: Detect MinGW libstdc++ problems with high
'--image-base'.
Update smartmontools-support mailing list address.
Remove old mailing list address from all source files.
2017-05-03 Christian Franke
smartctl.8.in, smartd.8.in, smartd.conf.5.in,
update-smart-drivedb.8.in:
Rework vertical space and '.nf...fi' (no-fill) sections
for better formatting with various tools (groff, mandoc,
man2html) and output formats (text, pdf, html).
Use default vertical space instead of an empty line
between paragraphs.
Use '.br' instead of '.nf...fi' where applicable.
Use CW font in remaining no-fill sections.
smartctl.8.in: Replace UTF-8 quotes.
2017-05-02 Christian Franke
smartctl.8.in, smartd.8.in, smartd.conf.5.in,
update-smart-drivedb.8.in:
Various man/groff syntax fixes (ticket #656):
Split long lines.
Insert two spaces or newline between sentences.
Use ' for apostrophes.
Use groff extension \(aq (apostrophe quote, ASCII 0x27)
or ' for quotes.
Use \- (minus sign) for options and examples.
Use \(en (en-dash) for numeric ranges.
Protect . with \& if not at end of sentence.
2017-04-24 Alex Samorukov
os_freebsd.cpp: remove duplicated code which checks ATA SMART
status (#746)
2017-04-23 Alex Samorukov
os_os2.cpp:
- code cleanup
- add os2ahci driver initial support
- fix selftest command
- add device scan support
2017-04-19 Alex Samorukov
OS/2 - many fixes:
- autodetect and build os_os2.o on OS/2
- fix os_os2.cpp/os_os2.h compilation (thanks to franke@)
- get rid from the os_os/hdreg.h - use constants from the atacmd.h
- remove most of the dead code and unused functions
2017-04-17 Christian Franke
os_win32.cpp: Decode Windows 10 1703 build number.
atacmds.h, ataprint.cpp: Use STANDBY instead of IDLE command if
'-s standby,[N|off]' and '-s standby,now' are both specified.
smartctl.8.in: Document new behaviour of '-s standby,*'.
2017-04-01 Christian Franke
atacmds.cpp, atacmds.h, ataprint.cpp: Print minimum supported ERC
Time Limit from SCT Status.
ataidentify.cpp, ataprint.cpp: Add ACS-4 and SATA 3.3 major
versions, log pages, device statistic values and feature bits.
2017-03-27 Christian Franke
scsiprint.cpp: Suppress "SAS address" if '-q noserial' is
specified (ticket #822).
scsicmds.cpp: Remove useless variable
(cppcheck 1.77: knownConditionTrueFalse).
smartd.cpp: Always suppress "failed to read Temperature" message
if SCSI device does not support temperature (ticket #817).
Fix initial check for SCSI temperature support.
Log SCSI temperature regardless of its origin.
2017-03-11 Christian Franke
smartctl.8.in, smartd.8.in, smartd.conf.5.in,
update-smart-drivedb.8.in: Update EXPERIMENTAL notes.
Update links. Update or remove various outdated info.
smartctl.8.in: Fix documentation of the '-g all' option.
smartctl.cpp: Add '-g dsn' to '-x' output.
2017-03-11 Jonghwan Choi
ataprint.cpp: Fix false positive DSN support detection.
2017-03-09 Jean Delvare <...>
smartctl.8.in: Fix documentation of the '-q' option.
2017-03-09 Christian Franke
AUTHORS: Add Jonghwan Choi.
2017-03-09 Jonghwan Choi
Add options to get/set ATA DSN (Device Statistics Notification)
feature (ticket #815):
atacmds.h: Add DSN feature subcommand code.
ataprint.cpp, ataprint.h, smartctl.cpp: Add '-g/s dsn' options.
smartd.cpp: Add '-e dsn' directive.
smartctl.8.in, smartd.conf.5.in: Document the new options.
2017-03-04 Christian Franke
smartctl.cpp, smartd.cpp: Fix help text for '-B' option.
smartd.cpp: Unify indent style, replace tabs.
Move ATA/SCSI/NVMe device open to new common function.
Suppress warning emails and repeated log messages on open error if
'-d removable' is specified (Debian Bug 770872, Ubuntu Bug 1451572).
smartd.conf.5.in: Document new behaviour of '-d removable'.
2017-03-02 Christian Franke
smartd.cpp: Move single device registration to new function.
Exit smartd on device open error unless '-q never' or '-d removable'
is specified (regression from r2602).
Prevent retry if registration failed and '-q never' is specified.
Add enum for '-q, --quit' option.
2017-02-27 Christian Franke
drivedb.h:
- Crucial/Micron RealSSD C300/P300: Rename, add P300, remove M500
- Crucial/Micron RealSSD m4/C400/P400: P400e micro SATA
- Crucial/Micron MX1/2/300, M5/600, 1100 Client SSDs: Rename,
add MX300 (tickets #763, #791), M550 M.2 (ticket #810),
1100 (ticket #783)
2017-02-22 Christian Franke
configure.ac: Set various default LDFLAGS for MinGW builds:
Link statically, indicate DEP and TS compatibility, enable ASLR.
Add '--with-mingw-aslr' option.
2017-02-20 Christian Franke
os_win32.cpp: Decode Windows Server 2016 build number.
os_win32.cpp: Rework CSMI port mapping. This fixes access to
ports != 0 behind IRST driver 15.2 (ticket #804).
2017-01-30 Alex Samorukov
os_freebsd.cpp: unblock 48bit ATACAM commands for the legacy controllers
if FreeBSD version is >= 9.2-RELEASE, tested on FreeBSD 10.3
2017-01-28 Christian Franke
ataidentify.cpp: Don't shift negative values
(g++ 6.3: -Wshift-negative-value, cppcheck 1.77: shiftNegativeLHS).
os_win32.cpp, scsiata.cpp, scsicmds.cpp, scsiprint.cpp: Fix 'if'
and 'else' clause indentations (g++ 6.3: -Wmisleading-indentation).
Add indent style configuration for EditorConfig
(http://editorconfig.org/):
.editorconfig: New file.
Makefile.am: Add new file to source tarball.
2017-01-21 Christian Franke
drivedb.h:
- Marvell based SanDisk SSDs: X300 OEM (ticket #747),
X400 (ticket #715), Ultra II (ticket #744)
- USB: Renesas uPD720231A (0x045b:0x0229)
- USB: Maxtor D3 Station 5TB (0x0bc2:0x6126)
- USB: Seagate Backup Plus 8TB (0x0bc2:0xab38) (ticket #786)
- USB: WD Elements / My Passport (0x1058:0x107d) (ticket #772)
- USB: WD Elements / My Passport (0x1058:0x25a1) (ticket #773)
- USB: WD My Book 4TB (0x1058:0x25a3) (ticket #784)
- USB: WD Elements / My Passport: Merge entries
- USB: WD My Book: Merge entries
2017-01-14 Christian Franke
scsiata.cpp: Remove redundant assignment
(cppcheck: redundantAssignment).
ataprint.cpp, ataprint.h, smartctl.cpp, smartctl.8.in:
Add STATUS parameter to '-n POWERMODE' option (ticket #697).
2017-01-13 Christian Franke
configure.ac: Rework CXXFLAGS settings, use shell intrinsics.
os_win32.cpp: Fix harmless buffer overflow bug
(found by VC14 code analyser).
2017-01-12 Christian Franke
drivedb.h:
- Innodisk 1ME3/3ME/3SE SSDs: Rename, add 1ME3 (ticket #713), 3SE
- Innodisk 3IE2/3ME2/3MG2/3SE2 SSDs: Rename, add 3ME2
- Samsung based SSDs: 750 EVO, PM810(470), 840, PM830, PM851,
CM871 (ticket #754), CM871a, PM871a (tickets #745, #775),
SM951 (ticket #704)
2017-01-11 Christian Franke
smartctl.8.in: Make '-d intelliprop' visible on all platforms.
Add warning.
smartd.conf.5.in: Document '-d intelliprop'.
os_win32/vc14/smart*.vcxproj*: Add new files.
AUTHORS: Add Casey Biemiller
2017-01-11 Casey Biemiller
Add '-d intelliprop' device type for drives behind IntelliProp
RAID controllers (ticket #730):
atacmds.cpp, atacmds.h: Add function ataWriteLogExt().
dev_intelliprop.cpp, dev_intelliprop.h: New files.
dev_interface.cpp: Add '-d intelliprop,N[+TYPE]' option.
Makefile.am: Add new files.
smartctl.8.in, smartd.conf.5.in: Document it.
2017-01-09 Alex Samorukov
os_freebsd.cpp: fix panic on INVARIANTS enabled kernel, patch
provided (#780) by Oliver Pinter
2017-01-01 Christian Franke
Happy New Year! Update copyright year in version info.
2016-11-12 Christian Franke
atacmds.h, freebsd_nvme_ioctl.h: Apply patch-atacmds.h 1.1
and patch-freebsd_nvme_ioctl.h 1.1 (2016-11-04) from
pkgsrc.se/sysutils/smartmontools:
Build fix for FreeBSD-11 and newer. Don't redefine now
existing things, ATA_SET_FEATURES and nvme_command.
2016-11-10 Christian Franke
os_linux.cpp: Don't detect devices behind hpsa driver as regular
SCSI devices. Suggest to use '-d cciss,N' instead.
Based on patch provided by Stanislav Brabec.
2016-11-05 Christian Franke
update-smart-drivedb.in: Fix 'mv' error on first update with new
script.
configure.ac, update-smart-drivedb.in: Add '--with-gnupg' option.
configure.ac: Add '--with-update-smart-drivedb=X.Y' option to
backport drive database update script and man page to older
version X.Y.
configure.ac: Remove checks for no longer supported options
--disable-drivedb, --enable-savestates and --enable-attributelog.
2016-11-04 Christian Franke
Add authentication to update-smart-drivedb (ticket #751):
Create missing branches RELEASE_6_5_DRIVEDB and RELEASE_6_6_DRIVEDB.
Add signature files drivedb.h.raw.asc to each maintained branch.
update-smart-drivedb.in: Include new public key block ID DFD22559.
Download also drivedb.h.raw.asc.
Do no longer download from trunk if branch does not exist.
Create drivedb.h.raw. Verify signature.
Add options '--trunk', '--no-verify' and '--export-key'.
update-smart-drivedb.8.in: Document new behaviour and options.
2016-10-23 Christian Franke
smartd.8.in: Document Windows PARAMCHANGE service control command.
smartctl.8.in, smartd.8.in, smartd.conf.5.in: Enable NVMe sections
for NetBSD.
configure.ac, os_netbsd.cpp: Add --with-nvme-devicescan for NetBSD.
drivedb.h:
- Toshiba 3.5" MG04ACA... Enterprise HDD (ticket #732)
- Toshiba X300 (ticket #716)
- Seagate Laptop HDD: Rename, add 3/4TB (ticket #738)
- Seagate Constellation ES: HP OEM
- Western Digital RE4: *ABYZ variant
- Western Digital Re: Add attribute 16 (ticket #742)
- Western Digital Black: Remove *BEK[TX] variants
- Western Digital Black Mobile: 1TB, *BEKT, *LPLX variants
- Western Digital Elements / My Passport (USB, AF): 4TB
- USB: Neodio Technologies (0x0aec:0x3050)
- USB: Dura Micro (0x0c0b:0xb136)
- USB: My Passport Ultra 4TB (0x1058:0x2599)
2016-10-17 Christian Franke
configure.ac: Add --with-scriptpath option.
smartd_warning.sh.in, update-smart-drivedb.in: Set PATH variable.
2016-10-03 Christian Franke
os_win32/vc14/*.vcxproj: Add platform x64.
os_win32.cpp: Use new enhanced version of IOCTL_STORAGE_QUERY_PROPERTY
to access NVMe info. This works with Windows 10 NVMe driver
(stornvme.sys) (ticket #691).
smartctl.8.in, smartd.8.in: Document device names.
2016-09-28 Christian Franke
drivedb.h:
- USB: Buffalo MiniStation HD-PZU3 (0x0411:0x01f9) (ticket #739)
- USB: Iomega Prestige (0x059b:0x0571)
- USB: LaCie P9223 (0x059f:0x1070)
- USB: Seagate Expansion Desktop (0x0bc2:0x331a) (ticket #725)
- USB: Seagate Backup Plus (0x0bc2:0xab28) (ticket #738)
- USB: WD My Passport Ultra (0x1058:0x259d) (ticket #736)
- USB: ASMedia ASM1351 (0x174c:0x1351)
2016-09-25 Christian Franke
AUTHORS: Add Kimihiro Nonaka.
2016-09-25 Kimihiro Nonaka <...>
os_netbsd.cpp: Migrate to new dev_interface (ticket #101).
Add NVMe support (ticket #728).
Implement netbsd_ata_device::ata_pass_through().
netbsd_nvme_ioctl.h: New file based on "sys/dev/ic/nvmeio.h" from
NetBSD kernel sources.
Makefile.am: Add new file.
2016-09-07 Christian Franke
Makefile.am: clean-vc14 targets.
os_win32.cpp: Decode Windows 10 build number.
os_win32/smartd_warning.cmd: Use delayed variable expansion.
os_win32/smartd_mailer.ps1: Use domainname for default sender address.
os_win32/smartd_mailer.conf.sample.ps1: Update related comment.
os_win32/smartd_warning.cmd: Remove trailing '\r' from USERDNSDOMAIN.
2016-08-28 Christian Franke
os_win32/installer.nsi: Fix quoting of EDITOR shortcuts.
Send warning mails via PowerShell script on Windows (ticket #731):
Makefile.am, os_win32/installer.nsi: Add new files.
os_win32/smartd_mailer.ps1: New PowerShell script using Send-MailMessage
cmdlet to send mail.
os_win32/smartd_mailer.conf.sample.ps1: New sample config file.
os_win32/smartd_warning.cmd: Call new script if configured.
Improve error handling. Add setlocal.
smartd.conf.5.in: Document it.
2016-08-17 Christian Franke
AUTHORS: Add Song Liu.
smartctl.cpp: Reduce scope of 'persistent' flag
(cppcheck: variableScope).
2016-08-17 Song Liu
ataprint.cpp, ataprint.h, smartctl.cpp, smartctl.8.in:
Add persistent option ',p' to '-s wcreorder,on|off' (ticket #726).
atacmds.cpp, atacmds.h, ataprint.cpp, ataprint.h, smartctl.cpp,
smartctl.8.in: Add ability to control ATA drive write cache through
SCT Feature control. The new smartctl options are
'-s wcache-sct,ata|on|off[,p]' and '-g wcache-sct' (ticket #723).
2016-08-06 Christian Franke
os_win32.cpp: Add Windows 10 build number to get_os_version_str().
Update MSVC10 (VS2010) for VC14 (VS2015):
os_win32/vc14/*: Move from os_win32/vc10/*.
os_win32/vc14/*.vcxproj: Update for VC14.
Remove '__func__' workaround (revert r4225).
Makefile.am: Rename and update config-vc14 target.
utility.cpp: Add workaround for missing 'tzname'.
drivedb.h:
- OCZ/Toshiba Trion SSDs: Rename, add TOSHIBA-TR150 (ticket #722)
- HGST Ultrastar 7K6000 (ticket #708)
- HGST Ultrastar He10
- Seagate Desktop HDD.15: 6TB, 8TB
- Seagate Enterprise Capacity 3.5 HDD: 8TB, 10TB (ticket #717),
attribute 240
- Seagate SV35: 4TB
- Western Digital Gold (ticket #711)
- USB: LaCie (0x059f:0x1075) (ticket #718)
- USB: Seagate Expansion External (0x0bc2:0x3322) (ticket #706)
- USB: Seagate FreeAgent GoFlex (0x0bc2:0x5030) (ticket #720)
- USB: Seagate Backup Plus Desktop (0x0bc2:0xab34) (ticket #700)
2016-05-31 Christian Franke
drivedb.h:
- Intel 311/313 Series SSDs: mSATA, *H (HP) variant
- Intel 520 Series SSDs: *L (Lenovo) variant
- HGST Ultrastar He6/He8: attribute 22 "Helium_Level"
- Western Digital Red: 8TB, attribute 22 "Helium_Level"
- USB: WD My Passport Ultra (0x1058:0x0837) (ticket #696)
- USB: WD My Passport (0x1058:0x083a)
- USB: WD My Book (0x1058:0x111d)
2016-05-10 Christian Franke
os_openbsd.cpp: Compile fix (regression from r4156).
os_netbsd.cpp: Apply patch-os__netbsd.cpp 1.3 (2016-05-08) from
pkgsrc.se/sysutils/smartmontools:
- Compile fix (regression from r4156).
- Use a raw disk device file on NetBSD.
2016-05-07 Christian Franke
smartmontools 6.5
2016-05-06 Christian Franke
drivedb.h:
- Samsung SpinPoint P80 SD: *J/P variant
- Seagate Samsung SpinPoint M7E
- Hitachi/HGST Travelstar Z5K500: *E680 variant
- Hitachi Travelstar 7K500: HITACHI variant
- Hitachi Ultrastar 7K3000: *A641 variant
- HGST Ultrastar He8
- Toshiba 2.5" HDD MQ01ABD...: *V variant
- Seagate Desktop HDD.15: 5TB
- Seagate SV35.3
- Seagate SV35: *0001 variant
- Seagate DB35: SATA variant
- Western Digital Blue: 2-6TB, *Z variant
- Western Digital RE4-GP: *2003* variant
- Western Digital Re: Rename, 2-6TB
- Western Digital Caviar Green: SATA 6Gb/s variant
- Western Digital Caviar Black: *7501AAES*
- Western Digital Blue Mobile: 2TB
- Western Digital Elements / My Passport (USB, AF): *7500B*, 3TB
2016-05-01 Christian Franke
drivedb.h:
- Samsung based SSDs: 840 EVO 750GB (ticket #692), 850 EVO M.2,
SM843T *HCFV* variant
- USB: WD My Passport (0x1058:0x07ae) (ticket #686)
- USB: JMicron JMS561 (0x152d:0x9561)
nvmecmds.cpp: Enhance debug hex dump to sizeof Identify structs.
Do not dump trailing zero bytes.
2016-04-27 Christian Franke
nvmeprint.cpp, nvmeprint.h, smartctl.cpp, smartctl.8.in:
Add NVMe support for 'smartctl -c'. Print various drive and
namespace capabilites. Remove related info from '-i' output.
2016-04-24 Christian Franke
nvmeprint.cpp: Fix formatting of error log with unset LBA fields.
utility.cpp, utility.h: Skip leading blanks in format_char_array().
Some NVMe devices return right aligned text fields.
configure.ac, smartd.cpp: Remove include of netdb.h.
No longer needed since r3712.
smartd.cpp, smartd.conf.5.in: Remove support for '-m [sys]msgbox'.
2016-04-23 Christian Franke
drivedb.h:
- Innodisk 3ME SSDs
- Innodisk 3IE2/3MG2/3SE2-P SSDs: Rename, add 3SE2-P
- Innodisk 3IE3/3ME3 SSDs: Rename, add 3IE3
- USB: Buffalo MiniStation HD-PNFU3 (0x0411:0x0251) (ticket #683)
- USB: Renesas uPD720231A (0x045b:0x022a)
- USB: Toshiba Canvio (0x0480:0x0210, 0x0480:0xa20c)
- USB: Samsung G2 Portable (0x04e8:0x6032): 2nd entry with -d sat
- USB: Iomega LDHD-UPS (0x059b:0x0278)
- USB: Iomega LPHD-UP (0x059b:0x0470)
- USB: LaCie Desktop Hard Drive (0x059f:0x1016)
- USB: SanDisk SDCZ80 Flash Drive (0x0781:0x5588)
- USB: Seagate Backup Plus USB 3.0 (0x0bc2:0xab2[05])
- USB: WD My Passport Ultra (0x1058:0x0822)
- USB: WD Elements (0x1058:0x25a2)
- USB: JMicron JMS561 (0x152d:0x1561)
- USB: VIA VL711 (0x2109:0x0711): change to -d sat (ticket #594)
- USB: Sharkoon QuickPort XT USB 3.0 (0x357d:0x7788)
2016-04-16 Christian Franke
smartctl.cpp: Allow NVMe debug messages during --scan.
Suppress "Device open changed type ..." message unless debug
mode is enabled.
atacmds.cpp: Remove duplicate POWER MODE error message.
smartd.cpp: Remove dead increment (cppcheck: unreadVariable).
Do not write localized decimal point to syslog().
configure.ac, Makefile.am: Add '--with-update-smart-drivedb=no'
option to disable drive database update script. Useful if
maintainers do not want the script due to security concerns
and/or want to provide database updates as a separate package
(Debian bug 804299, FreeBSD Bugzilla 208398).
smartctl.8.in, smartd.8.in: Hide references to script if disabled.
nvmeprint.cpp: Add Power State and Namespace info to '-i' output.
Do not print unset or duplicate info unless debug mode is enabled.
nvmecmds.cpp, nvmecmds.h: Add Identify Namespace support.
2016-04-15 Christian Franke
os_linux.cpp: Fix harmless bug in errno check of HPTIO_CTL ioctl()
calls. Bug was introduced 10 years ago in r2237.
2016-04-15 Yuriy M. Kaminskiy
os_linux.cpp: Fix harmless bug in errno check of HDIO_DRIVE_TASK*
ioctl() calls. Bug was introduced 12 years ago in r1609, the fix
in r4003 was incomplete.
2016-04-14 Christian Franke
nvmeprint.cpp: Fix size factor of Data Units Read/Written counters.
os_win32.cpp: Fix device count in win_nvme_device::open().
Thanks to Oliver Bruchmann for bug reports and testing.
2016-04-12 Douglas Gilbert
scsiprint.cpp: improve handling when no tape cartridge is
in the tape drive.
2016-04-12 Alex Samorukov
scsiprint.cpp, smartd.cpp: workaround for the buggy ST8000NM0075/E001,
request log page list with a fixed length (ticket #678).
2016-04-11 Alex Samorukov
drivedb.h: add Samsung SM863 series, ticket #681
2016-04-10 Christian Franke
os_win32.cpp: Include also unknown and unsupported USB devices
in device scan result. Move USB device handling to new function.
Add Windows Server 2016 to get_os_version_str().
AUTHORS: Add Thomas Gatterweh.
smartd.cpp: Check is_powered_down() also with '-n sleep'.
2016-04-10 Thomas Gatterweh
Prevent drive spin up by '-n standby' check on Windows (ticket #677):
dev_interface.cpp, dev_interface.h:
Add smart_device::is_powered_down().
os_win32.cpp: Add win_ata_device::is_powered_down(). Open device
without READ or WRITE access to prevent spin up.
smartctl.cpp, smartd.cpp: Add check for is_powered_down().
2016-04-09 Christian Franke
configure.ac, os_win32.cpp, smartd.8.in: Add NVMe DEVICESCAN
support for Windows.
smartctl.8.in, smartd.8.in, smartd.conf.5.in: Document NVMe
support for Windows.
nvmecmds.cpp, os_win32.cpp: Use NSID=0 for Identify Controller
command. This fixes NVMe access via Samsung driver on Windows.
2016-04-08 Christian Franke
os_win.cpp: Add initial NVMe support for Windows.
Successfully tested with Intel driver.
Does not work with Samsung driver.
Thanks to Minkyu Kim for testing.
2016-04-02 Christian Franke
Fix memory leak if get_sat_device() is called with unknown 'type':
scsiata.cpp: get_sat_device(): Delete 'scsidev' on error.
dev_interface.h: Update documentation of get_sat_device().
dev_interface.cpp: Fix use of get_sat_device().
(All other uses of get_sat_device() are already sane).
dev_interface.cpp, dev_interface.h: Add counter for objects derived
from 'smart_device'.
smartctl.cpp, smartd.cpp: Print error message if any objects remain
on exit.
os_linux.cpp: linux_megaraid_device: Remove unused member variable
'm_busnum' (clang++: -Wunused-private-field) and the related ctor
parameter.
os_linux.cpp: Fixes suggested by clang analyser:
Add or remove inconsistent nullptr checks.
Remove dead increments.
2016-04-01 Douglas Gilbert
scsiprint.cpp: add missing commas in peripheral_dt_arr and
add number of elements (2**5) so that won't happen again.
2016-03-31 Alex Samorukov
drivedb.h:
- add samsung SAMSUNG-MZ7PC series (ticket #679)
- add KINGSTON SKC400S37128G (SSDNow KC400) (ticket #673, patch provided
by the reporter)
- add SanDisk SSD Plus series (ticket #674)
- add XceedIOPS SSD series (ticket #672)
- add Crucial BX200 SSD (ticket #643)
2016-03-30 Christian Franke
Add support for multiple '-d TYPE' options for device scanning:
dev_interface.cpp, dev_interface.cpp: Add new version of
scan_smart_devices() which accepts list of types.
smartctl.cpp, smartd.cpp: Allow multiple '-d TYPE' options.
Use new scan_smart_devices().
smartctl.8.in, smartd.conf.5.in: Document it.
Makefile.am: Add man page support for --with-nvme-devicescan.
smartd.8.in: Document NVMe DEVICESCAN for Linux.
configure.ac: Use `...` instead of $(...) due to possible parsing
problems since r4260. Remove workaround for related bash bug.
2016-03-28 Christian Franke
Add NVMe DEVICESCAN support for Linux:
configure.ac: Add --with-nvme-devicescan option.
os_linux.cpp: Scan for '/dev/nvme[0-99]' if '-d nvme' is specified
or --with-nvme-devicescan is set.
smartctl.cpp: Add "NVMe" to --scan info.
smartctl.8.in, smartd.8.in, smartd.conf.5.in: Enable NVMe
sections also for FreeBSD.
configure.ac: Write configuration summary also to config.log.
2016-03-28 Alex Samorukov
os_freebsd.cpp: Add initial FreeBSD NVMe support (ticket #657)
2016-03-27 Christian Franke
ataprint.cpp: Support POWER MODE values introduced in ATA ACS-2
(ticket #184, smartctl only).
2016-03-27 Thomas Gatterweh
atacmds.cpp, smartd.cpp: Support POWER MODE values introduced
in ATA ACS-2 (ticket #184, smartd only).
2016-03-26 Christian Franke
os_win32.cpp: Rearrange code such that no forward declarations
are needed.
os_freebsd.cpp, os_netbsd.cpp, os_openbsd.cpp, os_solaris.cpp,
utility.cpp: Remove variable 'bytes'. Only used for a memory
leak check which was removed in r2629 (2008-08-29).
os_solaris.cpp, utility.cpp, utility.h:
Remove CustomStrDup(), use strdup() instead.
dev_legacy.cpp, utility.cpp, utility.h:
Remove FreeNonZero(), use free() instead.
smartctl.cpp, smartd.cpp, utility.cpp, utility.h:
Remove split_report_arg(), use sscanf() instead.
Add basic NVMe support for smartd (-H -l error -W):
Makefile.am, os_win32/vc10/smartd.vcxproj: Add nvmecmds.cpp to smartd.
smartd.cpp: Add NVMeDeviceScan() and NVMeCheckDevice().
smartd.8.in, smartd.conf.5.in: Document NVMe support.
nvmeprint.cpp: Remove ary_to_str().
utility.cpp, utility.h: Add format_char_array().
2016-03-24 Christian Franke
dev_interface.cpp: Add missing 'usbprolific' to help text.
nvmecmds.cpp, nvmeprint.cpp: Add support for '-q noserial'.
smartd.cpp: Remove outdated declaration of getdomainname().
utility.cpp: Add C++ language version to output of -V option.
2016-03-20 Christian Franke
nvmecmds.cpp, nvmecmds.h, nvmeprint.cpp, nvmeprint.h, smartctl.cpp:
Add options '-l error[,NUM]' and '-l nvmelog,PAGE,SIZE' for NVMe
devices.
scsicmds.cpp: dStrHex(): Don't print trailing spaces.
smartctl.8.in: Document '-l error[,NUM]', '-l nvmelog,PAGE,SIZE'
and '-r nvmeioctl'.
2016-03-18 Christian Franke
Add basic NVMe support for smartctl (-i -H -A) on Linux:
Makefile.am: Add new files.
dev_interface.cpp, dev_interface.h: Add class nvme_device.
linux_nvme_ioctl.h: New file imported from Linux kernel sources
(include/uapi/linux/nvme_ioctl.h 9d99a8d 2015-10-09).
nvmecmds.cpp, nvmecmds.h: New module with NVMe command wrapper
functions for smartctl and smartd.
nvmeprint.cpp, nvmeprint.h: New module with nvmePrintMain().
smartctl.cpp: Add nvmePrintMain() support.
os_linux.cpp: Add class linux_nvme_device.
os_win32/vc10/smart*.vcxproj*: Add new files.
smartctl.8.in: Document NVMe support.
2016-03-14 Douglas Gilbert
scsiprint.cpp: work on LB provisioning corner cases; LBPRZ now
3 bits wide (in response to ticket #664)
2016-03-14 Alex Samorukov
drivedb.h:
- extend Apple SSD regexp (ticket #668)
- Add OCZ VeloDrive R (ticket #667)
2016-03-12 Alex Samorukov
drivedb.h: Add Phison Driven SSDs:
- Kingston UV300 SSD series (ticket #663)
- Kingston SSDNow KC310/V310
- HyperX Savage
2016-03-11 Alex Samorukov
drivedb.h: Add Kingston UV300 SSD series
2016-03-06 Christian Franke
drivedb.h: Samsung based SSDs: Fix PM863 regexp, attribute IDs and
name length (regression from r4227).
2016-03-03 Alex Samorukov
drivedb.h: Adata HD710 1TB USB3 (ticket #662)
2016-02-29 Alex Samorukov
drivedb.h: PM863 Series (ticket #661)
2016-02-28 Alex Samorukov
drivedb.h: OWC Aura Pro 480 GB (ticket #660)
2016-02-26 Christian Franke
update-smart-drivedb.in: Use HTTPS for '-u sf' (ticket #659).
Improve file modification check.
update-smart-drivedb.8.in: Document changed URL.
os_win32/vc10/smartctl.vcxproj: Workaround for missing support of
'__func__' (included in C99 and C++11, but not in C++03).
2016-02-15 Alex Samorukov
drivedb.h: APPLE SSD TS064E (ticket #655)
2016-02-02 Douglas Gilbert
scsiprint.cpp: output unavailable rather than 255C for Drive
Trip temperature; skip background scan lpage for tape drives
2016-02-02 Christian Franke
drivedb.h:
- Crucial/Micron MX100/MX200/M5x0/M600 Client SSDs: 250GB MX200
(ticket #644), M500 mSATA and M.2
- OCZ Trion SSDs: Rename, add Trion 150
- Innodisk 3ME3 SSDs: SATADOM-SL 3IE3
2016-01-25 Alex Samorukov
os_darwin: add launchctl script for the smartd and remove depricated one.
"On current systems there is only one recommend way: launchd"
2016-01-24 Alex Samorukov
os_freebsd.cpp: fix possible reallocf with 0 bytes arg (ticket #640)
drivedb.h: add Corsair Extreme SSD (ticket #642)
os_darwin.cpp: fix error reporting if open fails
2016-01-23 Alex Samorukov
os_darwin.cpp: do not print bogus memory allocation error message if
there are no devices found
2016-01-22 Christian Franke
Various fixes suggested by clang analyser (ticket #640):
dev_areca.cpp: Fix check of ARCMSR_READ_RQBUFFER result.
knowndrives.cpp: Add missing member initialization.
smartd.cpp: Fix crash on missing argument to '-s' directive.
Add missing variable initialization. Remove redundant assignment.
2016-01-21 Alex Samorukov
drivedb.h: Added ADATA SP550 SSD (ticket #638)
os_freebsd.cpp: Reduce variable scope where possible (cppcheck: variableScope)
os_openbsd/os_netbsd - removed never used warning code defines (cppcheck)
2016-01-21 Christian Franke
ataprint.cpp, smartd.cpp: Don't issue SCT commands if ATA Security
is locked (ticket #637).
2016-01-19 Alex Samorukov
drivedb.h:
- Samsung PM871 SSD family (ticket #636)
- Fixed detection for Samsung SSD 850 EVO mSATA 120GB (ticket #635)
- Fixed Western Digital Caviar Black regexp, extended WD Black (ticket #631)
2016-01-06 Christian Franke
drivedb.h:
- SandForce Driven SSDs: Extra warning entry for buggy Corsair Force LS
(ticket #628)
- Innodisk 3MG2-P SSDs: 1.8" variant
- Innodisk 3ME3 SSDs
- USB: Seagate Expansion Portable (0x0bc2:0x2322) (ticket #627)
- USB: Jess-Link (0x0dbf:0x9001)
2016-01-01 Christian Franke
Happy New Year! Update copyright year in version info.
2015-12-19 Christian Franke
Makefile.am: Fix path of 'smart-pkg-uninstall' (Regression from r4190).
update-smart-drivedb.8.in: Fix platform specific formatting.
2015-12-18 Alex Samorukov
os_netbsd.cpp, os_openbsd.cpp: fix ioctl returtn value check
os_darwin.cpp: fix error handling
os_darwin: use /usr/local/ prefix to install on 10.11 (El Capitan)
2015-12-16 Douglas Gilbert
scsiprint.cpp: stop tape drive looking for Solid State media
log page (ticket #314).
2015-12-14 Douglas Gilbert
scsiprint.cpp: fix compiler warning for is_tape. Clean code around
handling of tape drives.
2015-12-14 Christian Franke
drivedb.h:
- Intel 320 Series SSDs: 1.8" microSATA
- Intel 53x and Pro 2500 Series SSDs: Rename, add 535 (ticket #625),
add Pro 2500
- Intel 730 and DC S35x0/3610/3700 Series SSDs: Rename,
add S3510/3610, 1.2TB, 1.6TB
- USB: LaCie (0x059f:0x106f) (ticket #624)
- USB: WD My Passport (0x1058:0x071a, 0x1058:0x0816)
- USB: Initio (0x13fd:0x1650)
- USB: Unknown (0xabcd:0x6103)
update-smart-drivedb.in: Add '-s SMARTCTL' option.
update-smart-drivedb.8.in: Document it.
2015-12-07 Christian Franke
configure.ac: Append 'svn' to list of download tools.
update-smart-drivedb.in: Use HTTPS download by default.
Add options '-t TOOL', '-u LOCATION', '--cacert FILE',
'--capath DIR', '--insecure' and '--dryrun'.
Add 'svn' as new download tool.
Ignore differences in SVN Id string (re-added).
Remove usage of 'which' command.
update-smart-drivedb.8.in: Document the new options.
2015-11-23 Christian Franke
atacmds.cpp: parse_attribute_def(): Init buffers before sscanf() call
(cppcheck-1.71: uninitvar).
scsiprint.cpp: Fix GLTSD bit set/cleared info messages (ticket #621).
2015-11-22 Christian Franke
Makefile.am: Add NEWS file to svnversion.h target.
os_win32/installer.nsi: Select 64-bit version on 64-bit Windows.
Fix installation of runcmda.exe. Update links.
2015-11-15 Christian Franke
configure.ac: Check whether MinGW adds an application manifest.
Makefile.am: Add default manifest for MinGW builds.
os_win32/default.manifest: New default application manifest.
Remove external application manifests.
os_win32/installer.nsi: Use macros from 'LogicLib.nsh' where possible.
Add missing MessageBox /SD options.
Remove external application manifests.
2015-11-07 Christian Franke
drivedb.h:
- Micron M500DC/M510DC Enterprise SSDs: Rename, add M510DC
- SandForce Driven SSDs: Mushkin Chronos 7mm/MX/G2, Enhanced ECO2
- Innodisk 3MG2-P SSDs
- SiliconMotion based SSDs: Crucial BX100 (ticket #597)
2015-10-31 Christian Franke
atacmds.cpp, atacmds.h, knowndrives.cpp, knowndrives.h:
Read default SMART attribute settings from drivedb.h (ticket #465).
Remove hard-coded attribute names and format settings.
drivedb.h: Uncomment default settings to create the "DEFAULT" entry.
Add ",HDD" or ",SSD" to HDD/SSD specific settings.
smartctl.cpp, smartd.cpp: Use new database initialization function.
Create branch RELEASE_6_4_DRIVEDB with last drivedb.h file
compatible with smartmontools 6.4.
2015-10-22 Paul Grabinar
drivedb.h:
- SandForce Driven SSDs: OCZ RevoDrive 350, Z-Drive 4500
- Indilinx Barefoot 3 based SSDs: Add attributes,
OCZ ARC 100, Saber 1000, Vector 180, Vertex 460A
- OCZ Intrepid 3000 SSDs: Intrepid 3700
- OCZ Trion
2015-10-20 Christian Franke
Reduce variable scope where possible (cppcheck: variableScope).
Makefile.am: Remove *.s from files used to generate svnversion.h.
2015-10-18 Alex Samorukov
fixes suggested by cppcheck:
Check realloc result to avoid memory leak (memleakOnRealloc)
Fix printf() signednsess (invalidPrintfArgType_sint)
2015-10-17 Christian Franke
Various fixes suggested by cppcheck:
Close FILE pointer before reopening it (cppcheck: publicAllocationError).
Add missing member initializations to ctors (cppcheck: uninitMemberVar).
Remove redundant nullptr check (cppcheck: nullPointerRedundantCheck).
Remove redundant assignments (cppcheck: redundantAssignment).
Clarify calculation precedence (cppcheck: clarifyCalculation).
Use C++-style casts for pointer types (cppcheck: cstyleCast).
Remove duplicate on both sides of '||' (cppcheck: duplicateExpression).
Declare ctors with one argument as 'explicit'
(cppcheck: noExplicitConstructor).
Remove unread variables and assignments (cppcheck: unreadVariable).
Fix signedness of sscanf() formats strings
(cppcheck: invalidScanfArgType_int).
2015-10-14 Christian Franke
configure.ac: Disable os_solaris_ata.o by default.
Add --with-solaris-sparc-ata option to enable.
Makefile.am: Exclude os_solaris_ata.s from source tarball
(Debian bug 729842).
os_solaris.cpp: Check for WITH_SOLARIS_SPARC_ATA instead of __sparc.
2015-10-13 Christian Franke
Makefile.am: Fix error handling in various shell scripts.
2015-10-13 Casper Dik <...>
os_solaris.cpp: Detect SATA devices as SCSI devices. This adds
support for auto detection of SATA devices behind SAT layer.
Set USCSI_SILENT flag to suppress /dev/console messages on command
error.
2015-10-11 Christian Franke
drivedb.h: SiliconMotion based SSDs: Transcend SSD370S, SSD420,
update attribute 245 (ticket #595, ticket #602).
2015-10-10 Christian Franke
Makefile.am: Use MKDIR_P to create directories
(available since automake 1.10).
os_win32.cpp: Detect USB ID if WMI reports type name "SCSI" instead
of "USBSTOR".
Detect USB ID also if drive letter is specified as device name.
2015-10-04 Christian Franke
drivedb.h:
- USB: Genesys Logic (0x05e3:0x0735)
- USB: Addonics (0x0bf6:0x1001): unsupported (ticket #609)
- USB: Initio (0x13fd:0x3920)
- USB: JMicron JMS539 (0x152d:0x0539, 0x0100): Set from -d usbjmicron to
unsupported because some devices may require -d sat instead (ticket #552).
- USB: JMicron (0x152d:0x0565) (ticket #607)
- USB: VIA VL711 (0x2109:0x0711): unsupported (ticket #594)
- USB: Hitachi Touro Mobile (0x4971:0x1024)
2015-09-25 Christian Franke
scsiata.cpp: Ignore SAT ATA PASS-THROUGH fixed format sense data if no
ATA status bit is set (ticket #612).
2015-09-23 Alex Samorukov
drivedb.h: Innostor USB3.0 to SATAIII bridge (#611)
2015-09-21 Alex Samorukov
drivedb.h: decode 188 attribute for the "Seagate Enterprise Capacity
3.5 HDD" drives family, (see #551).
2015-09-04 Alex Samorukov
Makefile.am: integrate darwin dmg build process to the Makefile
2015-09-03 Alex Samorukov