-
Notifications
You must be signed in to change notification settings - Fork 50
/
ChangeLog
2660 lines (1840 loc) · 92 KB
/
ChangeLog
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$
2024-09-23 Christian Franke <[email protected]>
os_win32.cpp: Decode Windows 11 23H2 and 24H2 build numbers.
drivedb.h:
- Toshiba MG09ACA... Enterprise Capacity HDD: 10-14GB,
Lenovo OEM (#1876).
- Toshiba MG10ADA... Enterprise Capacity HDD
- Seagate Barracuda 7200.12: Suppress warning if HP firmware (#1847).
- Seagate Barracuda 7200.12: Attributes 188 and 240 (#1855).
- Seagate BarraCuda 3.5 (CMR): Reformat regexp.
- Seagate Constellation ES.2: IBM OEM (#1431).
2024-05-08 Christian Franke <[email protected]>
smartctl.cpp, smartd.cpp: Fix segfault on missing option argument (#1830).
getopt*() from musl libc sets 'optind = argc + 1' if the argument of
a short option is missing.
2024-04-26 Christian Franke <[email protected]>
os_win32/vc1[67]/*: Set svn:eol-style=CRLF, MSVC does not preserve LF.
2024-04-06 Christian Franke <[email protected]>
drivedb.h: move Toshiba and WDC "Helium" attributes to "DEFAULT" entry.
Drop maintenance of 6.0-6.4 branches due to missing "DEFAULT" entry.
drivedb.h:
- Western Digital Ultrastar (He10/12): move WD40EZAZ to Blue (SMR).
- Western Digital Blue (CMR): rename, add *EAZZ (#1576, GH issue/192) and other.
- Western Digital Blue (SMR): 3TB, *BX variant.
- Western Digital Red (CMR): rename, add 3TB, move *EF[ABFG]X* to Red Plus.
- Western Digital Red Plus (#1675, #1704, GH pull/79).
- Western Digital Red Pro: 12TB (#1676), 14TB, 20TB and attribute 90 (#1731).
2024-04-02 Gabriele Pohl <[email protected]>
drivedb.h:
- Western Digital Ultrastar (He10/12): WDC WD40EDAZ-11SLVB0 (#1411)
- Western Digital Red Pro: WDC WD161KFGX-68AFPN0,
WDC WD181KFGX-68AFPN0 (#1611, GH issues/173 and
reported by Ben Lovett via Smartmontools-database 2023-05-21)
- Toshiba 2.5\" HDD MQ01ABF...: TOSHIBA MQ01ABF032 ((based on patch from #1804)
- Toshiba N300/MN NAS HDD: TOSHIBA HDWG51J and rest from product sheet
reported by Andreas Bofjall via Smartmontools-database 2024-02-29
2024-03-29 Christian Franke <[email protected]>
man pages: Remove EXPERIMENTAL notes for features added before 7.3.
nvmeprint.cpp: Print NSID used for self-tests and '-l nvmelog'.
nvmeprint.cpp: Fix self-test for single namespace devices.
Use broadcast NSID if only one namespace is supported
(#1741, GH issues/217).
smartctl.8.in: Document new behavior.
2024-03-28 Christian Franke <[email protected]>
drivedb.h:
- USB: Kingston DataTraveller (0x0951:0x177f) (#1756).
- USB: Asus (0x0b05:0x17f8) (#1810).
- USB: TerraMaster (0x1000:0x1352) (#1818).
- USB: Kingston (0x11b0:0x6388).
- USB: JMicron (0x152d:0x0580) (#1766, #1788).
- USB: JMicron (0x152d:0xb567) (#1797).
- USB: Pinas (0x174e:0x1155, 0x1741:0x1156) (#1772, GH pull/253).
- USB: Verbatim (0x18a5:0x0446) (#1812).
- USB: Actions AM8180 (0x1de1:0xe101) (#1681).
- USB: Transcend ESD310 (0x2174:0x2100) (#1767).
- USB: KIOXIA (0x30de:0x1000).
2024-03-25 Christian Franke <[email protected]>
drivedb.h:
- SSSTC ERX GD/CD Series SSDs: update attributes, add 3.8TB, (#1799).
- SK hynix SATA SSDs: update attributes, add SE5110 (#1776, #1811),
HFS*FEH-B* variants (#1739, #1758, #1805, #1809),
HFS*H2X069N variants (#1686).
2024-01-24 Christian Franke <[email protected]>
Fix or disable all warnings from shellcheck.
2024-01-23 Christian Franke <[email protected]>
Makefile.am: Add target 'shellcheck'.
2024-01-19 Christian Franke <[email protected]>
os_win32/installer.nsi: Avoid that code signing invalidates the
uninstaller.
2024-01-17 Christian Franke <[email protected]>
utility.cpp: Add git commit hash to '-V' output if available.
Set version information also for builds from GH R/O mirror.
Makefile.am: Move creation of svnversion.sh to ...
getversion.sh: ... this new script. Add git support.
configure.ac: Remove IS_SVN_BUILD check.
2024-01-12 Christian Franke <[email protected]>
Fix start of smartd on systems with large fd limits (GH issues/235).
smartd.cpp, popen_as_ugid.cpp: Use 'close_range()' if available.
Otherwise limit the number of unneeded 'close()' calls.
configure.ac: Check for 'close_range()'.
drivedb.h:
- Toshiba MD04ACA... Enterprise HDD: re-add, regression from r5211.
- Toshiba MG04ACA... Enterprise HDD: 1TB (#1794).
- Toshiba MG08ADA... Enterprise Capacity HDD (#1550, #1794).
- Toshiba X300: HDWR480 (#1537), HDWR31E, HDWR51J.
2024-01-10 Oleksii Samorukov <[email protected]>
drivedb.h: extend JMS583 USB id (#1795)
2024-01-03 Gabriele Pohl <[email protected]>
drivedb.h:
- Marvell based SanDisk SSDs: SanDisk SSD6SP1M128G110 (#1021)
- SandForce Driven SSDs: SanDisk SD8SBAT128G1002 (#1232)
- Samsung based SSDs: MK000480GZXRA (#1600)
2024-01-02 Alex Samorukov <[email protected]>
CI: drop EoL FreeBSD 12, add FreeBSD 14.0, upgrade cppcheck
2024-01-01 Christian Franke <[email protected]>
Happy New Year! Update copyright year in version info.
2023-12-31 Christian Franke <[email protected]>
drivedb.h:
- Toshiba MG10AFA... Enterprise Capacity HDD.
- USB: Seagate FireCuda Gaming SSD (0x0bc2:0xaa1a, #1783).
2023-12-30 Gabriele Pohl <[email protected]>
drivedb.h:
- Marvell based SanDisk SSDs: SanDisk SD8TB8U-*-1016 variant (#984)
- Silicon Motion based OEM SSDs: INTENSO/V0718B0 (#1761)
- Silicon Motion based OEM SSDs: Intenso SSD SATAIII/W0825A0(#1762)
2023-12-23 Gabriele Pohl <[email protected]>
drivedb.h:
- Toshiba S300 (SMR): TOSHIBA HDWT8*, HDWT7* (based on patch from #1605)
- Silicon Motion based OEM SSDs: INTENSO/V0609A0
Fix wrong digit in firmware regex (earlier added in #1706)
- Silicon Motion based OEM SSDs: firmware regex for INTENSO SSD/V1027A0
reported by Jules Kerssemakers via Smartmontools-database 2023-08-21
- Western Digital Red: WDC WD120EFBX-68B0EN0 and rest from product sheet (GH issues/210).
2023-12-22 cyrozap <[email protected]>
scsinvme.cpp: Fix sntasmedia "Get Log Page" passthrough
2023-12-19 Christian Franke <[email protected]>
os_win32/update-smart-drivedb.ps1.in: Fix call of external commands.
This fixes the call of gpg if gpg.exe appears more than once in the
PATH (#1782). Print gpg[conf].exe location if -Verbose is used.
smartctl.8.in, smartd.conf.5.in: Fix max number of 'cciss' drives
(see GH issues/228 and ticket #49).
2023-12-18 Christian Franke <[email protected]>
drivedb.h:
- Intel S4510/S4610/S4500/S4600 Series SSDs: 7.68TB (GH pull/103).
- Marvell based SanDisk SSDs: SD7SB7S960G (GH issues/211).
- SanDisk based SSDs: SDSA6D* variant (#1721).
- HGST Ultrastar HC310/320: *A6L1 variant (GH pull/77).
2023-12-18 Werner Fischer <[email protected]>
drivedb.h: Add ATP SATA III SSDs (GH pull/191)
- Add ATP Electronics Value Line and Superior Line SATA SSDs
- Distinguish between them based on firmware versions
- SSDs:
- Value LIne (Phison based)
- Superior Line (Silicon Motion based)
2023-12-13 Gabriele Pohl <[email protected]>
drivedb.h:
- SandForce Driven SSDs: SanDisk SD8SNAT128G1002 (#799)
- WD Blue / Red / Green SSDs: WD Blue SA510 2.5 1000GB (#1659)
- Marvell based SanDisk SSDs: SanDisk SD9SN8W128G1020 (#1569)
2023-12-12 Gabriele Pohl <[email protected]>
drivedb.h:
- Vendor attribute names for SandForce Driven SSDs: SanDisk SDSSDA240G
(#1317) Patch by Artem S. Tashkinov
- SandForce Driven SSDs: SanDisk SD8SFAT128G1122 (#712)
2023-12-11 Gabriele Pohl <[email protected]>
drivedb.h:
- Phison Driven SSDs: SEDC600M(480|960|1920|3840|7680)G (#1726)
- Western Digital Red: WDC WD[2-8]0EFPX (2TB, 3TB, 4TB, 6TB, 8TB) (#1723, #1736)
2023-12-10 Gabriele Pohl <[email protected]>
drivedb.h:
- Toshiba N300/MN NAS HDD: TOSHIBA HDWG440 (#1749)
- Marvell based SanDisk SSDs: SanDisk SDSSDH3 512G (#1768)
2023-10-17 Douglas Gilbert <[email protected]>
scsiprint.cpp : missed a "not" in the following description
2023-10-16 Douglas Gilbert <[email protected]>
scsiprint.cpp : most SCSI disks do not get formatted in their
lifetime. The Format status lpage is present on most recent disks
and is checked when the --xall option is given. In the common case
where a format has not been performed (since manufacture) this
leads to 5 lines of <not available> output starting with:
Grown defects during certification <not available>
Detect this situation before printing any of those 5 lines
and replace those 5 lines with 1 line:
Format status indicates no format since manufacture
2023-10-12 Douglas Gilbert <[email protected]>
scsiprint.cpp : misplaced else corrupted the output of the Format
Status log page.
2023-09-16 Oleksii Samorukov <[email protected]>
CI: export SOURCE_DATE_EPOCH on macOS as tools are expecting it as an
environment variable
macOS: set files timestamps in the ISO to SOURCE_DATE_EPOCH value
2023-09-15 Oleksii Samorukov <[email protected]>
Makefile.am: set env ZERO_AR_DATE=1 if for reproducible builds on macOS.
macOS: use xorriso instead of mkisofs for reproducible builds
macOS: remove timestamps from cpio and gzip
macOS: reset timestamps before calling cpio
2023-09-11 Christian Franke <[email protected]>
Makefile.am: Add 'dist-xz' and 'dist-zstd' rules for reproducible
builds. Silence 'dist-win32' rule and add warning.
ataprint.cpp: Don't print error log entries if error count is
zero (#1745).
2023-09-07 Christian Franke <[email protected]>
Makefile.am: Use same timestamp for all EXE files.
Minor update of clean targets. Simplify gzip command.
Makefile.am: Prevent that gzip stores the original timestamp.
Makefile.am: Add custom rule for reproducible builds of source
tarball.
Makefile.am: Silence custom rules if 'make V=0' is used.
autogen.sh, configure.ac: Require automake >= 1.13.
Makefile.am: Silence automake warning about duplicate '.PHONY'.
Remove no longer needed SET_MAKE.
2023-08-22 Christian Franke <[email protected]>
Makefile.am: Replace remaining elements which require GNU make.
Expand remaining '%'-pattern rules.
Use actual file instead of '$<' and '$^' in non-implicit rules.
Remove the no longer used target 'txtman'.
2023-08-21 Christian Franke <[email protected]>
Allow reproducible builds of the Windows installer.
configure.ac: Propagate SOURCE_DATE_EPOCH to Makefile.
Makefile.am: Add SOURCE_DATE_EPOCH to CPPFLAGS.
Set SOURCE_DATE_EPOCH if PDF man page is generated.
Remove "Time: ..." from HTML man page.
Use 'pe32edit.sh' to modify 'smartctl-nc.exe'.
Rework target 'distdir-win32': Set file header timestamps
of all EXE files to SOURCE_DATE_EPOCH. Set last modification
time of all generated files to SOURCE_DATE_EPOCH.
os_win32/pe32edit.sh: New bash script to set timestamp and
subsystem in the PE32 file header.
2023-08-19 Christian Franke <[email protected]>
drivedb.h:
- Apacer SSDs: AP1TPPSS25-R (#1640).
- Crucial/Micron RealSSD C300/P300: C300-MTFDBAK* (#1421),
MTFDBAK* (#1728).
- Micron 5100 / 52x0 / 5300 / 5400 SSDs: 5200 240GB.
- Intel 53x and Pro 1500/2500 Series SSDs: *A5L variant (#1435).
- Intel 730 and DC S35x0/3610/3700 Series SSDs: S3500 HPE (#1651).
- Samsung based SSDs: PM897 HPE (#1650), Attribute 252 (#1734).
2023-08-18 Alex Samorukov <[email protected]>
drivedb.h:
- Other World Computing USB3 to SATA (GH: #206)
2023-08-01 Christian Franke <[email protected]>
smartmontools 7.4
2023-07-31 Christian Franke <[email protected]>
drivedb.h:
- Apacer AS340/350 SSDs: Rename, add AS350 (#1444).
- Phison Driven SSDs: Corsair Force LE (#1348), Patriot Ignite,
PNY CS* 500GB.
- Phison Driven OEM SSDs: Hoodisk (GH issues/195), Kingmax (#1699).
- Silicon Motion based SSDs: Mushkin *-LT variant.
- SK hynix SATA SSDs: Add attribute 249 (GH pull/107), remove
duplicate regex.
2023-07-30 Christian Franke <[email protected]>
drivedb.h:
- ATP SATA III aMLC M.2 2242/80 SSDs: Rename, add 2280 (#1717).
- Silicon Motion based SSDs: ADATA SU630 (#1713), LITEON LCH (#1727),
NFORCE SSZS13 (#1707), ONDA S-12 (#1698), Patriot P210.
- Silicon Motion based OEM SSDs: Intenso (#1700, #1706, #1732),
Netac Z Slim (#1656), SPCC M.2 SSD (#1662).
- USB: Netac Z Slim (0x0dd8:0x0562) (#1656).
- USB: ASMedia ASM2364 (0x174c:0x2364).
2023-07-29 Christian Franke <[email protected]>
drivedb.h:
- USB: Samsung Portable SSD T7 Shield (0x04e8:0x61fb) (#1730, #1733)
- USB: ASMedia ASM1352-PM (0x174d:0x1352) (GH/pull 181)
- USB: JMicron JMS578 (0xab12:0x34cd) (#1737)
2023-07-25 Christian Franke <[email protected]>
nvmeprint.cpp: Add JSON support for '-l error' and '-l selftest'.
2023-07-24 Christian Franke <[email protected]>
man pages: Set svn:eol-style=LF to be compatible with Cygwin sed.
man pages: Use CW font only if troff is used.
This silences a related warning from groff.
smartd.cpp: Don't write Copyright line to syslog.
This prevents that logfile analyzers need an extra suppression rule
(Red Hat Bugzilla 673758 and 1162741).
utility.cpp, utility.h: Enhance 'format_version_info()' accordingly.
smartctl.cpp: Adjust function call.
nvmeprint.cpp: Add NVMe 2.0 capability flags.
ataidentify.cpp, ataprint.cpp: ACS-4/5/6 enhancements.
smartd.cpp: Don't write attrlog if ATA attributes were not read.
Improvement of original fix r5116.
os_win32/update-smart-drivedb.ps1.in: Fix typo, update help text.
smartd.conf: Align help text with 'smartd -D' output.
smartd.conf, smartd.conf.5.in: Remove outdated examples.
smartd.conf: Remove SVN Id string
(Debian 54_remove-Id-from-smartd.conf.diff).
smartd.conf, smartd.conf.5.in: Add examples for '-d cciss,N' on Linux
(based on Debian 61_cciss-doc.patch).
smartctl.8.in: Minor rework of '-a' and '-x' sections.
Merge duplicate info about TapeAlert.
Note that admin rights are not needed for Windows NVMe driver.
Note that the NVMe error log is not persistent.
smartctl.8.in, smartd.conf.5.in: Update sections '-d usbasm1352r'
and '-d usbjmicron'.
smartd.conf.5.in: Remove example for deprecated '-d intelliprop,N'.
smartctl.8.in, smartd.conf.5.in: Fix typos.
man pages: Silence harmless warnings from 'mandoc -T lint'.
Fix bogus bold font setting (Debian Bug 1041295).
man pages: Add release numbers to EXPERIMENTAL notes.
Keep notes of previous release 7.3.
2023-07-16 Christian Franke <[email protected]>
os_win32/installer.nsi: Rework InstType names, default to x86_64.
64-bit executables are now archived in 'bin' directory, 32-bit
executables in 'bin32'. Update links to NSIS examples.
configure.ac: Don't fail if libcap-ng or libsystemd libs are missing.
No appropriate library may be provided if 'LDFLAGS=-static' is used.
Makefile.am: Add *.cmd and *.ps1 to Windows checksum*.txt files.
configure.ac: Fix 'makensis' search for 64-bit Cygwin and MSYS2.
Makefile.am: Remove conditional 'OS_WIN32_NSIS'.
2023-07-10 Christian Franke <[email protected]>
utility.cpp: Add workaround for limited 'TZ' support of MSVCRT
version of 'tzset()'.
utility.cpp, os_win32/syslog_win32.cpp: Use '_localtime64_s()' on
Windows to avoid conflict with C11 variant of 'localtime_s()'
(cppcheck 2.11: uninitvar false positive).
os_win32/syslog_win32.cpp: Replace tabs.
Use declaration statements. Update comments.
dev_interface.cpp: Don't pass local buffer address to caller
(cppcheck 2.11: autoVariables).
scsiprint.cpp: Remove unused code, remove unused variable
(cppcheck 2.11: knownConditionTrueFalse, unusedVariable).
smartd.cpp: Print SCSI Inquiry error code.
Silences 'Dead nested assignment' report from clang analyzer.
2023-07-08 Christian Franke <[email protected]>
CI: Move docker base image from ubuntu:18.04 to debian:12.
Update Dockerfile and .circleci/config.yml accordingly.
2023-07-02 Christian Franke <[email protected]>
cppcheck.sh: Mark cppcheck 2.11 as tested.
Adjust suppress options and defines.
2023-06-27 Oleksij Samorukov <[email protected]>
CI: build darwin packages for arm64/x86_64, drop i386 support
2023-06-26 Christian Franke <[email protected]>
ataprint.cpp, farmprint.cpp, scsiprint.cpp: Unify FARM related
messages.
2023-06-25 Christian Franke <[email protected]>
smartctl.cpp: Don't include '-l farm' in '-x'.
Suggest it if supported.
ataprint.cpp: Suggest '-x' option if only '-a' is used.
ataprint.h, smartctl.cpp: Add 'ata_print_options.a_option' flag.
scsiata.cpp: Suppress NO DATA commands for '-d usbasm1352r,N' device
type.
Test results from GH issues/167 suggest that these commands are not
supported or require different parameters.
2023-06-13 Christian Franke <[email protected]>
utility.h: Fix check for __USE_MINGW_ANSI_STDIO.
Recent versions of MinGW-w64 define __USE_MINGW_ANSI_STDIO=0 if
disabled.
configure.ac: Don't define __USE_MINGW_ANSI_STDIO if UCRT is used.
configure.ac: Disable ASLR workarounds for newer versions of
MinGW-w64.
configure.ac: Skip _FORTIFY_SOURCE support check if 'nm' is missing.
configure.ac: MinGW: Fail if 'windres' is missing, warn if 'windmc'
is missing.
Makefile.am: Allow MinGW builds also if the 'windmc' tool is missing.
smartd.cpp: Always notify READY=1 to systemd before 'exit(0)'.
The prevents that systemd reports the service as failed if no device
is present and '-q *nodev0*' is used (Debian Bug 1029210).
Log the exit status also if exiting during first pass.
2023-05-30 Christian Franke <[email protected]>
nvmecmds.cpp, nvmprint.cpp: Also suppress NVMe Namespace IEEE EUI-64
info if '-q noserial' is specified.
smartctl.8.in: Update '-q noserial' documentation.
smartd.cpp: Don't report new non-device related errors as critical
(#1222).
smartd.conf.5.in: Document new functionality.
2023-05-29 Christian Franke <[email protected]>
Add error messages for NVMe status values.
dev_interface.cpp: Add message to 'set_nvme_err()'.
nvmecmds.cpp, nvmecmds.h: Add functions 'nvme_status_*()'.
nvmeprint.cpp: Add message to '-l error' output (related: #1300).
2023-03-21 Douglas Gilbert <[email protected]>
tweak to suppress a warning from gcc/g++ 9.3
2023-03-15 Douglas Gilbert <[email protected]>
expand functionality of json::str2key() . It's job is to convert
a C string to a JSON name in "snake" format. That format is lower
case alphanumeric with all other characters replaced by
an '_' (underscore). This change further removes all leading and
trailing underscores plus repeated underscores within the name are
compressed to a single underscore. In the degenerate case, for
example a string like "!@#$" (i.e. no alphanumeric characters), a
single underscore is output (but is most likely an error). Typical
example: "$Output power (mW)" is converted to "output_power_mw".
2023-03-14 Christian Franke <[email protected]>
farmprint.cpp, os_freebsd.cpp: Use 'snprintf()' instead of
'sprintf()'.
farmprint.cpp: Avoid unneeded copy of json::ref.
2023-03-13 Christian Franke <[email protected]>
cppcheck.sh: Mark cppcheck 2.10 as tested.
farmprint.cpp: Fix loop conditions which may result in infinite
loops (GH code-scanning/312 - 315: Comparison of narrow type with
wide type in loop condition).
Fix MSVC builds.
os_win32/vc*/smartctl.vcxproj*: Add new FARM files.
scsicmds.cpp: Remove unneeded <unistd.h>.
farmprint.cpp: Increase buffer size of 'worldWideName'
(GH code-scanning/316 and 317: Potentially overrunning write).
Use 'snprintf()' instead of 'sprintf()'.
2023-03-13 Michael Cordle <[email protected]>
Large update adding pulling and parsing of Seagate's vendor-specific
Field Access Reliability Metrics (FARM) log to supported ATA and SCSI
drives (GH pull/180).
Running smartctl with '-l farm' will print the top predictive metrics
from FARM for drive health monitoring. Can be printed with plain-text
or JSON ('-j'). FARM can also be printed with '-a' and '-x', but no
error messages will be printed, unlike '-l farm'.
farmcmds.h: Add structures to store FARM data.
farmcmds.cpp: Add functions to pull FARM data from drive.
farmprint.h: Add function declarations for printing FARM data.
farmprint.cpp: Add function definitions for printing FARM data.
ataprint.h: Add checking FARM command-line option.
ataprint.cpp: Add checking if drive is Seagate and supports FARM.
scsiprint.h: Add checking FARM command-line option.
scsiprint.cpp: Add checking if drive is Seagate and supports FARM.
smartctl.cpp: Add command-line option parsing for FARM.
smartctl.8.in: Add '-l farm' description to manual.
Makefile.am: Add new FARM files.
AUTHORS: Add myself and Natan Lidukhover to list of contributors.
2023-02-17 Steven Song <[email protected]>
os_linux.cpp: Fix CK_COND issue for SATA disk and use C++11 or
later structure initialization (#1694).
2023-02-14 WHR <[email protected]>
atacmds.cpp: fix a logical error in function ataReadExtSelfTestLog
where it failed to byte-swap timestamp values on big-endian
platforms except in the first log entry (#1696).
2023-02-11 Douglas Gilbert <[email protected]>
more RSOC work (see 2023-01-11 patch). Simplify
scsiPrintMain(). Use Read capacity (16) if RSOC
says it is supported; previously often tried
Read capacity (10) first. A small cleanup after
report from clang++ --analyze
2023-02-10 Douglas Gilbert <[email protected]>
correct SPC-6 proposed version number [-->0xd]
2023-02-10 Douglas Gilbert <[email protected]>
cleanup for previous commit [add smartctl support
for SCSI General statistics and performance log page].
2023-02-10 Douglas Gilbert <[email protected]>
add smartctl support for SCSI General statistics and
performance log page. Add a little more RSOC work (see
2023-01-11 patch) for detecting if SCSI log subpages
are supported. Change NULL to nullptr in scsi*.cpp
source files.
2023-02-09 Douglas Gilbert <[email protected]>
address issue #168 from smt/smt at github. Choose option 1.
from Christian's response to that issue.
2023-02-05 Christian Franke <[email protected]>
configure.ac: Define _FORTIFY_SOURCE=3 if supported.
dev_intelliprop.cpp: Disable '-d intelliprop,N' and print
deprecation message.
Add '-d intelliprop,N,force' to use this device type anyhow.
dev_interface.cpp: Update help text.
smartctl.8.in, smartd.conf.5.in: Update related documentation.
2023-02-03 Christian Franke <[email protected]>
nvmecmds.cpp: Fix segfault after read of NVMe error log on
big endian hosts (GH issues/172, regression from r5121).
Thanks to Niklas Schnelle for the bug report.
2023-01-28 Christian Franke <[email protected]>
configure.ac: Change default for '--with-nvme-devicescan' to
'yes' on Darwin and FreeBSD. Keep 'no' on NetBSD.
Update related warnings.
configure.ac: Remove unneeded 'if'. Update some message texts.
Remove '--without-update-smart-drivedb' error message.
configure.ac: Move C++ option check to make sure that C++11 is
enabled before __USE_MINGW_ANSI_STDIO check.
configure.ac: Enhance __USE_MINGW_ANSI_STDIO support check.
Don't define __USE_MINGW_ANSI_STDIO if already predefined.
configure.ac: Rework C++ option check, also warn if C++17 is
unsupported.
2023-01-26 Christian Franke <[email protected]>
examplescripts/Example7: Fix check of parameter count
(GH issues/169).
2023-01-24 Christian Franke <[email protected]>
drivedb.h:
- Phison Driven SSDs: SVM2S46128GNPI51UF (#1393),
Goodram IRDM PRO (#1556).
- Phison Driven OEM SSDs: SPCC Solid State Disk/SBFMT1.3.
- SSSTC ERX GD/CD Series SSDs: Rename, Add ER3-9, AF* (#1599, #1672).
- USB: HP Personal Media Drive (0x03f0:0x070c) (#1680).
- USB: Packard Bell Carbon (0x0766:0x0017) (#1325)
- USB: Freecom FHD-2 Pro (0x07ab:0xfc85).
- USB: JMicron newer firmware (0x152d:0x2509/0x0107) (GH issues/159).
- USB: PNY (0x154b:0x8001).
2023-01-23 Christian Franke <[email protected]>
utility.cpp: Add MinGW-w64 version to '-V' output.
Simplify detection of C++ version string, add C++20.
scsiata.cpp: Add '-d usbasm1352r,N' device type for ASM 1352R USB
bridges (GH issues/167).
dev_interface.cpp: Update help text.
smartctl.8.in, smartd.conf.5.in: Document new option.
scsiata.cpp: Use 'str_starts_with()' and 'set_err_np()' where
possible.
2023-01-11 Douglas Gilbert <[email protected]>
experiment with using the SCSI REPORT SUPPORTED OPERATION
CODES (RSOC) command on disks (not tape units) that report
SPC-4 or later compliance in their standard INQUIRY response.
The main usage currently is to use RSOC to find out if
either of the READ DEFECT commands are supported. The code
to check RSOC is only wired for smartctl (i.e. not smartd).
If this causes problems, please report them to me.
2023-01-10 Douglas Gilbert <[email protected]>
address smartctl SCSI json issue (exception) reported by
Taylor Vent to the smartmontools mailing list on 2023-01-09.
Plus some minor cleanups.
2023-01-10 Douglas Gilbert <[email protected]>
further cleanup associated with SCSI debug move.
2023-01-07 Douglas Gilbert <[email protected]>
fix regression around dStrHex compatibility with pout() call
introduced in previous commit. Credit to Christian Franke
for the C++11 (and later) solution using lambas.
2023-01-02 Douglas Gilbert <[email protected]>
start moving SCSI debug into scsi_pass_through_yield_sense()
in scsicmds.cpp . Previously was replicated across OS transports.
Add dStrHexFp() that writes to a FILE pointer; idea is to send
debug info to a file (rather than stdout/stderr and using
redirection). The 'is_ascii' argument of dStrHexFp() now takes
a negative value which strips off the leading address on hex
lines. That is easier to parse IMO.
2023-01-01 Christian Franke <[email protected]>
Happy New Year! Update copyright year in version info.
2022-12-31 Christian Franke <[email protected]>
smartd.cpp: Add '-M always' directive (#1018, GH issues/153).
If specified, warning reminder emails are sent upon each check.
smartd_warning.sh.in, os_win32/smartd_warning.cmd: Handle
SMARTD_NEXTDAYS=0.
smartd.conf.5.in: Document the new directive.
smartd.cpp: Rework handling of warning reminder emails.
Add scoped enum. Limit '-M diminishing' delay to 32 days.
smartd.conf.5.in: Document the new limit.
2022-12-17 Christian Franke <[email protected]>
json.cpp: Don't print JSON strings in UTF-8 if invalid sequences are
present. Print informal hex string "\\xXX" for unexpected chars.
2022-12-16 Christian Franke <[email protected]>
os_linux.cpp: Disable '-d marvell' and print deprecation message.
Add '-d marvell,force' to use this device type anyhow.
smartctl.8.in, smartd.conf.5.in: Update '-d marvell' documentation.
os_linux.cpp: Use 'set_err_np()' where possible.
dev_interface.cpp, dev_interface.h: Add 'set_err_np()'.
2022-12-05 Christian Franke <[email protected]>
smartctl.8.in: Fix '-d sssraid' documentation syntax.
smartd.conf.5.in: Add '-d sssraid' documentation.
os_linux.cpp: Build fix for r5420.
2022-12-05 Steven Song <[email protected]>
Add SSSRAID (3SNIC RAID Controller) support on Linux (#1653).
2022-11-22 Christian Franke <[email protected]>
os_win32.cpp: Decode Windows 10 and 11 22H2 build numbers.
2022-11-09 Christian Franke <[email protected]>
drivedb.h:
- Phison Driven SSDs: Kingston SSDNow S200 (#1491),
Patriot Burst *GB (#1664).
- Silicon Motion based SSDs: Kingston KC600 mSATA (#1442).
- Silicon Motion based OEM SSDs: KingSpec KSM.
- USB: VIA VL717 (0x2109:0x0717) (GP/pull 151).
2022-11-01 Christian Franke <[email protected]>
drivedb.h:
- Intel 730 and DC S35x0/3610/3700 Series SSDs: *C variant (#1655),
*E (Dell Europe) variant (#1647).
- Toshiba MG10ACA... Enterprise Capacity HDD.
2022-10-17 Douglas Gilbert <[email protected]>
https://github.com/smartmontools/smartmontools/pull/140
which is related to issue 139 applied by hand with some cosmetic
changes. Credit to github user 'ThunderEX'. Cleans up possible
corruption issue with the the SCSI Error Counter and Non medium
Error log pages.
2022-10-09 Alex Samorukov <[email protected]>
drivedb.h:
- Extend Apacer SSDs regexp based on ticket #1657
- Swap Bad_Blk_Ct_Erl/Lat values in drivedb for "Phison Driven SSDs" (#1642)
- Add Micron 5400 SSDs (#1630)
- Add WDC HC570/HC670 (#1648)
2022-09-18 Christian Franke <[email protected]>
os_win32.cpp: Add IOCTL_STORAGE_PROTOCOL_COMMAND for NVMe self-tests.
Add NVMe self-test support to smartctl (#894).
Supported options: '-l selftest', '-t short', '-t long' and '-X'.
2022-08-15 Christian Franke <[email protected]>
ataprint.cpp: Print error count even if error log index is invalid.
2022-08-07 Christian Franke <[email protected]>
drivedb.h:
- Silicon Motion based SSDs: J&A LEVEN JS600 more sizes (#1603),
Mushkin MKNSSDTR*-3DL (#1596), TEAMGROUP CX2, Transcend 452K
(#1391), Transcent 830S, Transcend MTS400I (#1588),
UMAX 2242 (#1564).
- Silicon Motion based OEM SSDs: GUDGA GIM, KingFast
(#1532, GH pull/109), ORTIAL, RX7 (#1494), T-FORCE (#1536),
Verbatim Vi550 S3 (#1629).
2022-08-06 Christian Franke <[email protected]>
examplescripts/Example8: Use 'command -v' builtin instead of 'which'.
Detect accidental use of smartd_warning script in '-M exec'.
smartd.cpp: Set SMARTD_SUBJECT to empty.
smartd_warning.sh.in, os_win32/smartd_warning.cmd: Abort if
SMARTD_SUBJECT is already nonempty.
smartd.cpp, popen_as_ugid.cpp: Don't use 'getdtablesize()'.
This function is declared 'legacy' since SUS 1997 and no longer part
of POSIX since 2004. Use 'sysconf(_SC_OPEN_MAX)' instead.
This fixes build on android (GH issues/142).
2022-08-06 themylogin <[email protected]>
smartd.cpp: Also prevent systemd unit startup timeout in
`CheckDevicesOnce` (GH pull/141).
2022-08-06 Christian Franke <[email protected]>
drivedb.h:
- Samsung based SSDs: SM843TN *960HCGP (#1624), PM881
(GH/pull 119), more PM893 variants (#1616), PM897 (#1559).
- USB: Genesys Logic: Merge entries, add 0x05e3:0x2013.
- USB: ADATA SD600 (0x125f:0xa68a).
2022-07-16 Douglas Gilbert <[email protected]>
some spelling fixes with the help of the codespell utility
2022-06-24 Douglas Gilbert <[email protected]>
drivedb.h:
- WDC WUH722020BLE6L4
2022-06-07 themylogin <[email protected]>
smartd.cpp: Prevent systemd unit startup timeout when registering
many devices (GH pull/138).
2022-05-30 Douglas Gilbert <[email protected]>
[SCSI]: rework scsiGetIEString() so it should now output
all asc=0xb||0x5d strings defined in spc6r06.pdf . These
are the strings associated with "Informational Exceptions".
This should address ticket #1614 .
2022-05-28 Douglas Gilbert <[email protected]>
[SCSI]: more work for calling REPORT SUPPORTED OPERATION
CODES [RSOC] command.
2022-05-27 Douglas Gilbert <[email protected]>
[SCSI]: prepare for calling REPORT SUPPORTED OPERATION
CODES [RSOC] command (and several others that use an
additional "service action" code to identify them). For
SCSI devices >= SPC-4 plan to call the RSOC command and
cache its result. Use that cache to determine if
commands like GET PHYSICAL ELEMENT STATUS are supported.
2022-05-26 Christian Franke <[email protected]>
INSTALL: Update ./configure description and Windows info.
Drop legacy ATA support for Solaris SPARC.
configure.ac: Fail if '--with-solaris-sparc-ata' is specified.
Makefile.am: Remove os_solaris_ata.s and os_solaris.h.
os_solaris.cpp: Remove WITH_SOLARIS_SPARC_ATA sections.
os_solaris_ata.s, os_solaris.h: Remove files.
INSTALL: Update documentation.
2022-05-22 Christian Franke <[email protected]>
drivedb.h:
- Phison Driven SSDs: Kingston RBU-SNSx180S3 (#1335, #1389)
- Phison Driven OEM SSDs: SPCC Solid State Disk/SBFD00.3
- USB: Samsung Portable SSD T7 (0x04e8:0x4001) (GH pull/102)
- USB: Intrinsix (0x0578:0x0578)
- USB: Logitec LGB-4BNHUC (0x0789:0x0296) (GH pull/123)
- USB: Apricorn EZ-UP3 (0x0984:0x0320) (#1565)
- USB: ADATA ED600 (0x125f:0xa76a) (#1613)
- USB: ICY BOX IB-256WP (0x1e1d:0x20a0)
- USB: VIA VL700 (0x2109:0x0700)
ataprint.cpp: Print Master Password ID if set to non-default value.
2022-05-22 Eaton Zveare <[email protected]>
ataprint.cpp: Add master_password_id to ata_security json output
(GH pull/134).
2022-05-08 Gabriele Pohl <[email protected]>
drivedb.h:
- Silicon Motion based SSDs: TS32GMSM360 (#1579)
- Seagate Enterprise Capacity 3.5 HDD: ST4000NM0245-1Z2107
(#1592) Patch by Conrad Kostecki
2022-05-08 Gabriele Pohl <[email protected]>
drivedb.h:
- Crucial/Micron Client SSDs: CT4000MX500SSD1 (#1610)
- Western Digital Gold: WDC WD161KRYZ-01AGBB0 (#1608) New family
variant 'CMR' dropped, entry moved to 'Western Digital Gold' and
patterns from file product-brief-wd-gold-hdd.pdf also added there.
2022-05-02 Gabriele Pohl <[email protected]>
drivedb.h:
- Western Digital Ultrastar (He10/12): WDC WD120EDAZ-11F3RA0 (#1409)
- Western Digital Ultrastar (He10/12): WDC WD80EDAZ-11TA3A0 (#1455)
- Western Digital Gold (CMR): WDC WD161KRYZ-01AGBB0 (#1570)
2022-05-01 Gabriele Pohl <[email protected]>
drivedb.h:
- Silicon Motion based SSDs: TS128GMSA370I (#1554)
- Western Digital Red: WDC WD160EMFZ-11AFXA0(#1469)
- Western Digital Red: WDC WD140EFFX-68VBXN0 (#1477)
2022-05-01 Christian Franke <[email protected]>
cppcheck.sh: Suppress getpw*Called, getgr*Called, remove ftimeCalled.
Add *_RELEASE_* defines to silence ConfigurationNotChecked.
configure.ac: Add URL to AC_INIT, remove PACKAGE_HOMEPAGE.
Require autoconf >= 2.64.
Replace PACKAGE_HOMEPAGE with PACKAGE_URL in all files.
2022-04-30 Christian Franke <[email protected]>
INSTALL: Update info about MSVC builds.
os_win32/vc14, os_win32/vc15: Drop project files for MSVC14/15.
Makefile.am: Update config-vc and *clean-vc targets for MSVC16/17.
os_win32/vc17: Copy from vc16 and change for MSVC17 (VS2022).
os_win32/vc16/*: Add configurations Debug-static and Release-static.
Makefile.am: Windows: Ensure that advapi32 is linked before kernel32.
This keeps backward compatibility with old versions of Windows if
recent versions of MinGW-w64 are used.
Makefile.am: config-vc: Remove HAVE___INT128 from generated config.h.
Makefile.am: Support 'svnversion' with CR/LF instead of LF output.
dev_jmb39x_raid.cpp: Enhance LBA range from 33-62 to 1-255 (#1594).
smartctl.8.in: Update related documentation.
2022-04-27 Gabriele Pohl <[email protected]>
drivedb.h:
- Western Digital Ultrastar He10/12: WDC WD140EDGZ-11B2DA2,
WDC WD140EDGZ-11B1PA0 (#1585)
- Western Digital Purple (Pro): WDC WD121PURP-85B5SY0 (#1587)
2022-04-26 Gabriele Pohl <[email protected]>
drivedb.h:
- Samsung based SSDs: SAMSUNG MZ7L33T8HBLT-00A07 (#1563)
- Samsung based SSDs: SAMSUNG MZ7L3240HCHQ-00A07 (#1555)
- WD Blue / Red / Green SSDs: WDC WDS400T1R0A-68A4W0 (#1601)
2022-04-25 Gabriele Pohl <[email protected]>
drivedb.h:
- Western Digital Black: WDC WD4005FZBX-00K5WB0 (#1582)
- Western Digital Red: WDC WD40EFZX-68AWUN0 (#1583)
- Western Digital Red: WDC WD20EFZX-68AWUN0 (#1589)
2022-04-24 Christian Franke <[email protected]>
drivedb.h: Innodisk 1IE3/3IE3/3ME3/3IE4/3ME4 SSDs: Ensure that
opening and closing brackets are in the same line (#1495).
update-smart-drivedb.in: Unify syntax of command substitutions.
update-smart-drivedb.in: Don't use 'let' which is bash specific.
update-smart-drivedb.in: Don't use semicolon in sed scripts.