-
Notifications
You must be signed in to change notification settings - Fork 50
/
ChangeLog-6.0-7.0
3856 lines (2679 loc) · 129 KB
/
ChangeLog-6.0-7.0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
$Id$
2018-12-30 Christian Franke <[email protected]>
smartmontools 7.0
2018-12-29 Christian Franke <[email protected]>
smartctl.8.in: Remove extra quote.
INSTALL: Update or remove various outdated info.
2018-12-28 Christian Franke <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
scsinvme.cpp: Fix debug message.
2018-12-05 Christian Franke <[email protected]>
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 <[email protected]>
Add '-d sntjmicron[,NSID]' device type for NVMe drives behind
JMicron USB to NVMe bridges (JMS583).
2018-12-04 Christian Franke <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
os_linux.cpp: Add USB ID detection for '/dev/sgN'.
smartd_warning.sh.in: Fix typo (#1138).
2018-11-27 Harry Mallon <[email protected]>
autogen.sh: allow automake 1.16 and 1.16.1.
2018-11-25 Christian Franke <[email protected]>
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 <[email protected]>
drivedb.h: Intel S4510 M.2 (#1121, #1122, #1123, #1133)
2018-11-13 Christian Franke <[email protected]>
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 <[email protected]>
os_darwin.cpp, os_freebsd.cpp: fix return value in error paths
patch provided by rikard.falkeborn (github)
2018-11-02 Christian Franke <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
drivedb.h: Samsung PM883 and SM883 (GH pull/19)
2018-09-27 Christian Franke <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
drivedb.h: Micron 5100 Pro / 5200 SSDs (#1071)
2018-09-11 Oleksii Samorukov <[email protected]>
os_freebsd.cpp: Fix build on FreeBSD 12, patch by fernape@
2018-09-10 Christian Franke <[email protected]>
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 <[email protected]>
drivedb.h: Phison Driven SSDs: Kingston A400 (#801)
2018-09-02 Christian Franke <[email protected]>
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 <[email protected]>
Add missing license headers to some source files.
2018-08-19 Christian Franke <[email protected]>
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 <wbemcli.h> is usually provided by recent MinGW packages.
configure.ac: Remove check for <wbemcli.h>.
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 <[email protected]>
ataprint.cpp: Add JSON support for '-l devstat'.
Add JSON support also for old SCT Status format.
2018-08-10 Christian Franke <[email protected]>
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 <[email protected]>
drivedb.h:
- Intel S3520 Series SSDs (#985)
- Intel S4510/S4610/S4500/S4600 Series SSDs (#912, #928, #1000)
2018-08-04 Christian Franke <[email protected]>
Remove int64.h, use <inttypes.h> or <stdint.h> 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 <[email protected]>
scsicmds.h, scsiprint.cpp: Add support for SAS host managed drives
(patch from #1045).
2018-08-01 Christian Franke <[email protected]>
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 <[email protected]>
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 <[email protected]>
os_win32.cpp: Decode Windows Server 1803 build number.
Improve search for actual CSMI port number.
2018-06-21 Christian Franke <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
drivedb.h:
- Add Seagate IronWolf 12TB ST12000VN0007-2GS116 (#988)
2018-03-05 Alex Samorukov <[email protected]>
drivedb.h: add Seagate Barracuda Pro family (#981)
2018-03-01 Alex Samorukov <[email protected]>
os_freebsd.cpp: Fix build under -CURRENT (patch by cy@)
2018-02-28 Alex Samorukov <[email protected]>
drivedb.h:
- Add SanDisk SDSSDH2128G (#982)
2018-02-27 Alex Samorukov <[email protected]>
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 <[email protected]>
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 <[email protected]>
os_netbsd.cpp: Apply patch-os_netbsd.cpp 1.1 (2017-12-15) from
pkgsrc.se/sysutils/smartmontools: Add missing <sys/stat.h>.
configure.ac, int64.h: Remove support for pre-C99 environments without
<inttypes.h> and <stdint.h>.
configure.ac: Add '-Wformat=2 -fstack-protector-strong' unless
CXXFLAGS include other '-W' or '-f' options.
2018-02-16 Christian Franke <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
scsi subsystem: preparation for decoding more log pages.
2018-01-01 Alex Samorukov <[email protected]>
os_freebsd.cpp: fix build with CLANG/6. Patch provided by
Dimitry Andric, PR 224826
2018-01-01 Christian Franke <[email protected]>
Happy New Year! Update copyright year in version info.
2017-12-30 Douglas Gilbert <[email protected]>
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 <[email protected]>
unaligned.h: fix inconsistency in function argument
of get_unaligned_be24()
2017-12-29 Douglas Gilbert <[email protected]>
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 <[email protected]>
Rework scsiGetSize() and remove scsiGetProtPBInfo().
Convert scsicmds.cpp to use unaligned.h get and put.
2017-12-27 Alex Samorukov <[email protected]>
Add unaligned.h header file to the Makefile.am
2017-12-27 Douglas Gilbert <[email protected]>
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 <[email protected]>
Remove UINT8, INT8, UINT32 and INT32 typedefs in favour
of the types from <stdint.h>; for example uint8_t
2017-12-27 Douglas Gilbert <[email protected]>
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 <[email protected]>
os_freebsd.cpp: on error was setting set_nvme_err() to 1,
not the actual NVMe status value; fix.
2017-12-24 Alex Samorukov <[email protected]>
CircleCI: add FreeBSD cross compilation
2017-12-22 Alex Samorukov <[email protected]>
configure.ac: add -lsbuf to FreeBSD libs to fix static builds.
2017-12-21 Douglas Gilbert <[email protected]>
scsiprint.cpp: Start some JSON work. Other cleanups and helper
functions; potentially new header for those helpers.
2017-12-17 Christian Franke <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <sys/sysmacros.h> if available.
This silences a 'deprecated' warning from glibc 2.25 headers.
2017-11-20 Alex Samorukov <[email protected]>
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 <[email protected]>
drivedb.h:
- Add Swissbit C440 industrial cf card series (#942)
- Fix Innolite Satadom D150QV entry (#939)
2017-11-16 Christian Franke <[email protected]>
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 <[email protected]>
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 <[email protected]>
drivedb.h:
- Western Digital Red: WD80EZZX
- USB: WD My Book (0x1058:0x25ee) (Red Hat Bugzilla 1446533)
2017-11-13 Matt Coates <[email protected]>
drivedb.h: USB: Seagate Backup Plus 4TB (0x0bc2:0xab43) (#926)
2017-11-10 Alex Samorukov <[email protected]>
drivedb.h: add SanDisk iSSD SDIS6BM (#923)
2017-11-08 Christian Franke <[email protected]>
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 <[email protected]>
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 <[email protected]>
configure.ac: Add separate version number for drivedb.h branch.
2017-11-05 Christian Franke <[email protected]>
smartmontools 6.6
2017-11-04 Christian Franke <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
drivedb.h:
- add SATA Voyager GTX (#893)
2017-10-24 Christian Franke <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
scsicmds.h: increase SCSI_TIMEOUT_DEFAULT to 1 minute to work on the
big JBOD arrays (#917)
2017-10-15 Christian Franke <[email protected]>