CHANGELOG 141 KB
Newer Older
ballen4705's avatar
ballen4705 committed
1
2
CHANGELOG for smartmontools

3
$Id$
4
5

The most recent version of this file is:
6
http://smartmontools.svn.sourceforge.net/viewvc/smartmontools/trunk/smartmontools/CHANGELOG?view=markup
7

ballen4705's avatar
ballen4705 committed
8
Maintainers / Developers Key (alphabetic order):
9
[AS]  Alex Samorukov
ballen4705's avatar
ballen4705 committed
10
11
12
13
14
15
16
17
18
19
20
21
[BA]  Bruce Allen
[OB]  Oliver Bock
[EB]  Erik Inge Bols
[SB]  Stanislav Brabec
[PC]  Peter Cassidy
[MC]  Matthieu Castet
[YD]  Yuri Dario
[CD]  Casper Dik
[CF]  Christian Franke
[GF]  Guilhem Frzou
[DG]  Douglas Gilbert
[GG]  Guido Guenther
22
[JPH] Jordan Powell Hargrave
23
[JH]  Joerg Hering
ballen4705's avatar
ballen4705 committed
24
25
26
27
28
29
[GK]  Geoff Keating
[DK]  Dr. David Kirkby
[DL]  Dan Lukes
[KM]  Kai Mkisara
[EM]  Eduard Martinescu
[FM]  Frdric L. W. Meunier
30
[GP]  Gabriele Pohl
ballen4705's avatar
ballen4705 committed
31
32
33
34
35
36
37
38
[AR]  Adam Radford
[KS]  Keiji Sawada
[MS]  Manfred Schwarb
[TS]  Tomas Smetana
[DS]  David Snyder
[SS]  Sergey Svishchev
[PW]  Phil Williams
[LW]  Leon Woestenberg
39
[SZ]  Shengfeng Zhou
ballen4705's avatar
ballen4705 committed
40
[RZ]  Richard Zybert
ballen4705's avatar
ballen4705 committed
41

42
NOTES FOR FUTURE RELEASES: see TODO file.
43

ballen4705's avatar
ballen4705 committed
44
<DEVELOPERS: ADDITIONS TO THE CHANGE LOG GO JUST BELOW HERE, PLEASE>
45

46
47
48
  [AS] FreeBSD: disable 48-bit commands in the ata_pass_through interface, 
       there is no 48-bit support in the IOCATAREQUEST ioctl.

49
50
51
52
53
54
55
56
  [CF] smartctl: Add option '-l scterc[,READTIME,WRITETIME]' to get/set
       the SCT Error Recovery Control time limit (ticket #50).

       Patch was provided by Richard Gregory:
       http://www.csc.liv.ac.uk/~greg/projects/erc/
       Modified for new ata_pass_through() interface.
       Linux HPT fixes ommitted for now.

57
58
  [CF] Fix SCT temperature table commands on big endian CPUs.

manfred99's avatar
manfred99 committed
59
60
61
62
  [MS] drivedb.h updates:
       - more Seagate Momentus 5400.6 drives
       - HP 500GB drive MM0500EANCR

63
64
65
  [CF] Windows: Cleanup I/O-control declarations, rely on include
       files if possible.

66
67
68
  [CF] Windows: Compile fixes for 64-bit exe (EXPERIMENTAL).
       Update build info in INSTALL file.

chrfranke's avatar
chrfranke committed
69
70
71
  [CF] drivedb.h update:
       - Patriot Torqx SSD (patch provided by Gianpaolo Cugola)

72
73
  [CF] Makefile.am: Avoid duplication of man page filter script.

74
75
76
77
78
79
80
81
82
  [CF] smartd: Add option '-C, --capabilities' if libcap-ng is available
       (ticket #45).
       Support is added if libcap-ng is found during build. This can
       be overridden by configure option '--with-libcap-ng=[auto|yes|no]'.

       Based on Debian patch:
       http://patch-tracker.debian.org/patch/series/view/smartmontools/5.39-3/62_lowcap.patch
       Modified to fix regression (ticket #41, Debian bug 564876).

chrfranke's avatar
chrfranke committed
83
84
  [CF] Bugfix release 5.39.1.

85
86
87
88
  [CF] Linux: Fix spin-up of SATA drive if '-n standby' is used
       (ticket #37).  For some reason, this happens if the SCSI/SAT
       device is opened with O_RDWR instead of O_RDONLY.

89
  [CF] Windows: Fix parsing of 'tw_cli' output for 3ware 9.5.x release
90
       (ticket #43).
91

92
93
94
  [CF] Add USB IDs of Seagate FreeAgent Go, Seagate Expansion Portable
       and WD My Passport (IDE).

95
96
  [CF] autogen.sh: Fix version regexp, allow automake 1.11.1.

97
98
99
100
101
102
  [CF] Linux: Allow smartd 'DEVICESCAN -d sat' (ticket #13).
       Detects (S)ATA devices behind a standard SAT layer
       (Vendor ID: "ATA     "), but not USB bridges with SAT support.
       Only added for backward compatibility with 5.38.
       No longer needed as 'DEVICESCAN' without '-d' includes these devices.

103
104
  [CF] Add USB ID of Seagate FreeAgent Desktop.

105
106
107
  [CF] smartd: Fix directive '-l selftest' (ticket #36)
       Regression was introduced with r2773.

108
109
110
111
  [CF] smartd: Don't disable attribute tracking if read thresholds fails.
       Windows: Don't return dummy thresholds if IOCTL_STORAGE_QUERY_PROPERTY
       or 3ware CLI is used to read SMART data.

112
113
  [CF] Windows: Print warning if admin rights are missing.

114
115
116
  [CF] Replace some 'EXIT(status)' calls by 'return status'.
       Remove unnecessary casts from 'nonempty()' calls.

117
118
119
  [CF] Windows: Set ata_device::ata_identify_is_cached() return value
       according to I/O-control actually used.

120
121
122
  [CF] Print ATA output registers if SMART status command returns bogus
       register values.

123
124
125
126
127
  [CF] Windows: Don't return false ATA version info if IDENTIFY data
       is build from IOCTL_STORAGE_QUERY_PROPERTY result or from 3ware CLI
       output.
       smartctl: Handle missing info about ATA version in '-i' output.

128
129
  [CF] smartctl: Don't print log directory if '-q errorsonly' is specified.

130
131
132
  [CF] smartctl: Fix option '-q, --quietmode' (ticket #11).
       Regression was introduced with r2807.

chrfranke's avatar
chrfranke committed
133
134
135
  [CF] drivedb.h update:
       - SAMSUNG SpinPoint F2 EG series

136
137
  [CF] Add USB ID of Samsung Story Station.

manfred99's avatar
manfred99 committed
138
139
140
141
142
  [MS] drivedb.h update:
       - Hitachi Travelstar 5K320: some EA models miss last 2 "0" 
         in model string
       - Seagate Barracuda LP series

chrfranke's avatar
chrfranke committed
143
144
145
  [CF] drivedb.h update:
       - Crucial M225 SSD

chrfranke's avatar
chrfranke committed
146
147
148
149
  [CF] drivedb.h updates:
       - WDC Scorpio Blue Serial ATA (640GB, 750GB, 1TB)
       - WDC My Passport Essential SE

150
151
  [CF] Add USB ID of Toshiba PX1270E-1G16.

152
153
  [CF] Happy New Year! Update copyright year in version info.

chrfranke's avatar
chrfranke committed
154
155
156
  [CF] drivedb.h update:
       - SAMSUNG SpinPoint M40/60/80 series

157
158
  [CF] Add direct access to 48-bit LBA register in 'ata_in/out_regs_48bit'.

dlukes's avatar
dlukes committed
159
160
161
  [DL] drivedb.h updates:
       - WDC My Passport Essential/USB (capacity 250GB, 400GB & 500GB)

162
163
  [DL] -r ataioctl,2: print text representation of data also (ticket #32)

164
165
  [DL] FreeBSD: freebsd_ata_device::ata_pass_through implemented (part of ticket #18)

chrfranke's avatar
chrfranke committed
166
167
168
169
  [CF] drivedb.h updates:
       - Hitachi Travelstar 7K320 (ticket #28)
       - Hitachi Travelstar 7K500

170
171
  [DL] -l gpllog,...: print text representation of data also (ticket #30)

dlukes's avatar
dlukes committed
172
173
  [DL] FreeBSD: check reallocf() result for failures

samm2's avatar
samm2 committed
174
175
  [AS] FreeBSD: fixing crash on kFreeBSD (#29), patch provided by Petr Salinger

176
177
  [CF] Makefile.am: 'make check' now tests the syntax of drivedb.h.

178
179
  [CF] Cygwin: Open drive database files in text mode.

180
181
  [CF] Cygwin: Check for 'syslogd' and 'syslog-ng' in initd script.

182
183
184
  [CF] Windows: Disable Win9x/ME specific code if no longer supported
       by compiler.

185
186
187
  [CF] Add '-v ID,FORMAT:BYTEORDER[,NAME]' to specify byte order
       of attribute raw value.

188
189
190
191
192
193
  [CF] configure.in: Change --with-docdir default from
       'PREFIX/share/doc/smartmontools-VERSION' to
       'DATADIR/doc/smartmontools' to make it consistent with
       --docdir option added in autoconf 2.6x (ticket #24).
       Autoconf 2.5x is still supported.

194
195
196
197
198
  [CF] Move drive database entries from 'knowndrives.cpp' to new file
       'drivedb.h'.  This allows to update the drive database from SVN
       if installation was configured with '--enable-drivedb'.
       Remove the Makefile target to create 'drivedb.h'.

199
200
201
  [CF] do_release: Add support to release from a dir below 'branches'.
       Accept partial checkouts.

chrfranke's avatar
chrfranke committed
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
smartmontools 5.39.1 2010-01-28

  [CF] Linux: Fix spin-up of SATA drive if '-n standby' is used
       (ticket #37).  For some reason, this happens if the SCSI/SAT
       device is opened with O_RDWR instead of O_RDONLY.

  [CF] Windows: Fix parsing of 'tw_cli' output for 3ware 9.5.x release
       (ticket #43).

  [CF] Linux: Allow smartd 'DEVICESCAN -d sat' (ticket #13).
       Detects (S)ATA devices behind a standard SAT layer
       (Vendor ID: "ATA     "), but not USB bridges with SAT support.
       Only added for backward compatibility with 5.38.
       No longer needed as 'DEVICESCAN' without '-d' includes these devices.

  [CF] smartd: Fix directive '-l selftest' (ticket #36)
       Regression was introduced with r2773.

  [CF] smartctl: Don't print log directory if '-q errorsonly' is specified.

  [CF] smartctl: Fix option '-q, --quietmode' (ticket #11).
       Regression was introduced with r2807.

  [CF] Happy New Year! Update copyright year in version info.

  [DL] FreeBSD: check reallocf() result for failures

  [AS] FreeBSD: fixing crash on kFreeBSD (#29), patch provided by Petr Salinger

  [CF] do_release: Add support to release from a dir below 'branches'.
       Accept partial checkouts.

chrfranke's avatar
chrfranke committed
234
235
smartmontools 5.39 2009-12-09

236
237
  [CF] do_release: Commit CHANGELOG and NEWS also. Allow to review changes.

238
239
240
241
  [CF] Linux: Add workaround for Adaptec series 2, 5 and 5Z controllers
       with firmware >= 17380.  Patch was provided by Phil Wilson, see:
       http://linux.adaptec.com/2009/07/24/using-smartmontools-538-with-series-255z-controllers-with-firmware-17380-onwards

242
243
244
245
246
  [CF] configure.in: Add '-fno-strict-aliasing' to CXXFLAGS if supported.
       This suppresses gcc 4.4.1 warnings on Linux and avoids possible
       unsafe optimizations (ticket #23).
       Patch was provided by Manfred Schwarb.

247
248
  [CF] Avoid truncation of configure arguments in '-V' output.

249
250
  [AS] Added USB IDs of WD Passport USB Portable

251
252
  [CF] Linux: Fix segfault in 3ware interface (ticket #22).

manfred99's avatar
manfred99 committed
253
254
255
256
  [MS] knowndrives.cpp updates:
       - Hitachi Deskstar 7K2000
       - Seagate Momentus 7200 FDE.2 series

chrfranke's avatar
chrfranke committed
257
258
259
260
  [CF] Add USB ID of WD My Passport 070A.
       knowndrives.cpp update:
       - WD My Passport hard drive (USB interface)

261
262
263
  [CF] smartd: Write 'worst' attribute value to '.state' file also.
       This allows to use state persistence with 'raw64' attributes.

264
265
266
267
  [CF] Rework ATA SMART attribute check in smartctl and smartd.
       smartd: Ignore normalized attribute value and threshold
       if 'raw64' or 'hex64' format is selected.

268
269
270
  [CF] Add USB IDs of Iomega LPHD080-0, 2 Genesys Logic bridges and
       Initio 316000.

271
272
  [MS] knowndrives.cpp update: Hitachi Travelstar 5K320 series

273
  [CF] smartctl: Ignore normalized attribute value and threshold
274
       if 'raw64' or 'hex64' format is selected.
275

chrfranke's avatar
chrfranke committed
276
277
278
279
280
  [CF] knowndrives.cpp updates:
       - add OCZ-Vertex raw64 attributes
       - add OCZ-Agility
       Thanks to Marcin Marszalek for the patch.

281
282
283
  [CF] Add '-v ID,hex*' print formats. Fix '-v N,FORMAT,NAME' parsing.

  [CF] Add '-v ID,raw64[,...]' print format based on a patch provided
284
285
       by Marcin Marszalek.

286
287
288
289
  [CF] Add '-v ID,RAW_FORMAT[,ATTR_NAME]' option. This allows to add new
       attributes without the need to enhance the '-v' option.
       Rework attribute name and raw value formatting.

290
291
  [CF] Fix auto_ptr initialization in linux_scsi_device::autodetect_open().

292
293
294
  [CF] Remove duplicate function smart_device_list::add().
       Replace calls with push_back().

295
296
297
  [MS] attribute update:
       trim attribute names to 23 chars

298
299
300
  [CF] Add smart pointer class template to manage device object pointers.
       Remove related 'delete' calls and 'try/catch' blocks.

301
302
  [CF] do_release: Replace generation of '*.asc' by '*.md5' and '*.sha1'.

manfred99's avatar
manfred99 committed
303
304
305
306
307
  [MS] attribute updates:
       - change attributes 202,204,205 to the meanings as found in wdidle3.exe
         retain old entries as comments (possible Fujitsu use)
       - add attribute 240 as found in Fujitsu MHY2xxxBH

manfred99's avatar
manfred99 committed
308
309
310
311
312
  [MS] attributes updates:
       - attributes 225, 232 and 233 for Intel X25-E SSD
       - non-conflicting attributes extracted from wdidle3.exe
         (thanks to Franc Zabkar and Dan Lukes)

313
314
  [CF] Update Windows and ./configure info in INSTALL file.

315
316
  [CF] Update 'do_release' script for SVN.

manfred99's avatar
manfred99 committed
317
318
319
320
321
322
  [MS] knowndrives.cpp updates:
       - Western Digital MyPassport Essential hard drive (USB interface)
       - Seagate Momentus 7200.4 series
       - Western Digital Raptor X
       - Intel X25-E SSD

chrfranke's avatar
chrfranke committed
323
324
325
326
  [CF] knowndrives.cpp updates:
       - New Seagate 7200.11 firmware version
       - Update IBM link

327
328
329
  [CF] smartctl: Use printf() instead of pout() for exception error
       messages to avoid access to bogus 'con->dont_print'.

330
331
  [CF] smartd: Add missing help texts for '-A', '-B' and '-s'.

332
333
334
  [CF] Add missing check for log page 0x11 support to smartctl
       '-l sataphy' option.

335
336
  [CF] Add USB ID of Freecom Hard Drive XS.

337
338
  [AS] Linux: Autodetect DELL PERC and MegaRAID controllers.
       Hiding debug messages coming from megaraid code.
339

samm2's avatar
samm2 committed
340
  [AS] Linux: Fixed SATA drives support on megaraid device (see ticket #15).
341

342
343
344
345
  [AS] FreeBSD: Removed all old detection code, moving everything to
       the objects. Now we are using CAM/ATA enumerators to guess device
       type.

346
347
348
  [AS] FreeBSD: Added autodetection for the ada disks (untested).
       Code for USB device detection refactored.

samm2's avatar
samm2 committed
349
350
  [AS] FreeBSD: cam_get_umassno rewritten using XPT_PATH_INQ

351
  [AS] FreeBSD: do not open/close cam device on every request for SCSI
352
       disks. Use com->camdev both for SCSI and ATAPICAM.
samm2's avatar
samm2 committed
353

354
355
  [AS] FreeBSD: added support for the ada disks, based on agapon patch

356
357
  [CF] Add names for attributes 184 and 188, see ticket #17.

358
359
360
  [CF] configure.in: Change configure date syntax.
       Add message to '-mno-cygwin' option check.

361
362
363
  [GK] Add names for some attributes used in MLC flash drives:
       175, 176, 177, 181, 182

364
365
366
367
  [CF] Windows: Check support of gcc '-mno-cygwin' option in configure.
       This option has been removed in Cygwin gcc 4.x.  Update INSTALL
       instructions accordingly.

368
369
370
  [CF] Increase SCSI_TIMEOUT_DEFAULT from 6 to 20 seconds to avoid
       timeouts when a disk spins up from standby mode.

371
372
  [CF] Add USB ID of AcomData 504 (OnSpec USB bridge).

373
374
  [AS] Correcting manual pages (FreeBSD related)

samm2's avatar
samm2 committed
375
376
  [AS] FreeBSD: fix FTBFS on GNU/kFreeBSD (reported by derevko).

377
378
  [AS] FreeBSD: Add USB autodetection to smartd DEVICESCAN directive.

379
380
  [CF] Add USB ID of Myson Century CS8818, add some comments.

381
382
383
384
  [CF] Return info strings from 'smart_interface::get_*()' functions as
       'std::string' instead of 'const char *'. Static buffers are no
       longer needed.

385
386
387
  [SZ] FreeBSD: Fix highpoint type detection and ioctl failed for parameter
       error.

388
389
  [CF] Linux: Add USB autodetection to smartd DEVICESCAN directive.

390
391
  [CF] Add USB IDs of Maxtor Basics Desktop and ISD-300A1.

392
393
394
395
  [AS] Use malloc() to ensure that the read buffer lands on a single
       page.  This avoids some bugs seen on LSI controlers under
       FreeBSD.

396
397
  [CF] Add missing help text for '-d usb*' options.

398
399
400
  [CF] Linux: Dereference '/dev/disk/by-*/*' symlink before device type
       autodetection.

samm2's avatar
samm2 committed
401
402
  [AS] FreeBSD: Support SATA disks attached to a SAS controller (based on
       patch from freebsd ports tree).
403

samm2's avatar
samm2 committed
404
405
  [AS] FreeBSD: Added FreeBSD 8 libusb2 device autodetecion, new
       configure check for -lusb.
406

407
408
409
410
  [AS] FreeBSD: Added USB device autodetection and fixed -d switch behavior.

  [AS] FreeBSD: Migrate os_freebsd.cpp to new interface.

chrfranke's avatar
chrfranke committed
411
412
413
414
  [CF] Fix max number of 3ware devices, 128 devices are supported again.
       Regression was introduced during migration to new interface.
       Thanks to Michael Holweg for the problem report.

415
416
  [CF] Windows installer: Add 'DisplayVersion' to uninstall registry key.

417
418
419
420
421
422
423
424
  [MS] knowndrives.cpp updates:
       - Marvell SSD SD88SA024BA0
       - Fujitsu MHZ2 BH series
       - Fujitsu MHZ2 BJ series
       - Seagate Maxtor DiamondMax 23
       - WD Caviar Green: Add some 32MB cache variants
       - relax OCZ-Vertex pattern

chrfranke's avatar
chrfranke committed
425
426
  [CF] Add USB ID of Verbatim FW/USB160.

427
428
  [CF] Fix data type bug in checksum test for multi sector logs.

429
430
  [CF] Add USB ID of Seagate FreeAgent Go.

431
432
433
434
435
436
  [MS] Add experimental feature to log attribute values at each check 
       cycle (ATA only), activated with the smartd option 
       "-A PREFIX" / "--attributelog=PREFIX".
       Introduce configure options "--enable-attributelog" and
       "--with-attributelog=PREFIX" to enable feature by default.

dpgilbert's avatar
dpgilbert committed
437
438
439
440
  [DG] [SAT] Heads up about a non backwardly compatible change
       introduced in draft SAT-2 (sat2r8b.pdf) that will break our
       existing SAT processing code. Action needed if change stands.

manfred99's avatar
manfred99 committed
441
442
  [MS] smartd.cpp: Adjust umask

443
444
445
446
  [CF] Makefile.am: Remove 'uninstall-docsDATA' target to fix
       'make distcheck' with automake 1.11. The 'make uninstall'
       of examplescripts fails if docdir does no longer exist.

chrfranke's avatar
chrfranke committed
447
448
449
  [CF] Remove 'scsiata.h'. The 'scsiata.cpp' module now implements
       parts of 'dev_interface.h'.

450
451
  [CF] smartctl: Don't report an attribute as failed if threshold is 0.

452
453
454
  [CF] Print only one warning on checksum errors in multi sector log.
       Remove casts from calls of checksum().

455
456
  [DG] minor changes to SCSI background scan strings

457
458
459
460
461
462
463
  [MS] knowndrives.cpp updates:
       - Fujitsu MHW2 BJ series
       - WD Caviar Black family

  [MS] Makefile.am: Make creation of svnversion.h independent of
       locale settings

464
465
466
  [CF] Require to specify PORT parameter of '-d usbjmicron' if two disks
       are connected.

467
468
469
  [CF] smartctl: Limit default number of printed entries for
       '-l xerror' to 8, for '-l xselftest' to 25.

470
471
  [CF] smartctl: Fix number of entries in '-l xselftest' output.

472
473
474
  [CF] Add USB IDs of a SunplusIT bridge, three WD drives, and an
       unsupported Iomega drive.

475
476
477
478
  [CF] Makefile.am: Use 'svnversion' instead of 'svn info' to get
       the revision number. This also checks for mixed and modified
       working copies.

479
480
  [CF] Remove CVS Id strings from '-V, --version' output.

481
482
  [CF] Update CONTRIBUTORS section on man pages.

483
484
485
  [CF] Makefile.am: 'make maintainer-clean' now removes also files
       generated by './autogen.sh'.

486
487
  [CF] Invalidate 'do_release' script, it needs some rework for SVN.

488
489
  [CF] Update documentation files for SVN.

490
491
  [CF] Rename trunk/sm5 to trunk/smartmontools.

492
493
494
495
  [CF] Print SVN revision number instead of time in version info line.
       Get SVN revision number from svn (if available) or guess from
       Id strings. Rename generated file to svnversion.h.

496
497
498
499
  [CF] Makefile.am: Modify generation of cvsversion.h for SVN.

  [GP] Convert CVS repository to SVN.

500
501
  [CF] smartd: Fix size of monitor flag array from previous commit.

502
503
  [CF] Makefile.am: Add missing 'megaraid.h'.

504
505
506
507
  [CF] smartd: Add '!' flag to '-r' and '-R' directives. If specified,
       message is logged as LOG_CRIT and warning mail is sent if
       attribute normalized or raw value changes.

508
509
510
  [CF] Replace global 'con->...' variables used for selective self-tests
       by local variables.

511
512
513
  [GK] Add names for some attributes used in Samsung MLC drives:
       178-180 & 183

514
515
516
  [CF] smartctl: Add option '-x, --xall' to print all info including
       extended SMART logs and non-SMART info.

517
518
519
  [CF] smartctl: Add '-l xerror,error' and '-l xselftest,selftest' to print
       the old logs if the extended logs are not supported.

520
521
522
523
524
  [MS] knowndrives.cpp updates:
       - Western Digital AV-GP series
       - Transcend Solid-State Drive and Transcend Solid-State Drive V series
       - Seagate Momentus 5400.5 series

525
526
527
528
529
  [CF] Disable 48-bit ATA commands for JMicron USB bridges by default
       because these commands do not work with all devices.
       Add '-d usbjmicron,x' to enable 48-bit commands.
       Thanks to Alexander Shaduri for the problem report.

530
531
532
533
  [CF] smartd: Don't ignore the '-n' directive when a self-test is
       scheduled. Start the self-test later when the disk is active
       again.

534
535
536
  [DG] SCSI (SAS): implement '-l sasphy,reset' (reset part was stub
       prior to this)

537
538
539
  [DG] add 'ATA, SCSI command sets and SAT' section to smartctl.8 .
       [SCSI] add 'number of background medium scans' field

540
541
542
543
  [DG] SCSI (SAS): add '-l sasphy' and '-l sasphy,reset' into smartctl
       to output SAS device phy information (from the Protocol specific
       log page)

544
545
546
547
  [CF] autogen.sh: Remove 'CYGWIN=check_case:strict', this does no
       longer work on Cygwin 1.7.  Print warning if Automake version
       cannot handle case insensitive filesystems.

548
549
  [CF] Remove '#define TRUE/FALSE', use 'bool' and 'true/false'.

550
551
552
553
  [CF] Add 'options' parameter to SCSI printing routine. Move global
       'con->...' smartctl variables to 'options' parameters of
       printing routines.

554
555
556
  [CF] Windows: Remove outdated entry about undocumented system calls
       from WARNINGS file.

557
558
559
560
561
562
563
  [CF] Print General Purpose Logs even if GPL feature bit is missing.
       Needed for some older disks which implement READ LOG EXT but
       do not report the GPL feature set.
       Change order of the extended log outputs ('-l xerror',
       '-l xselftest', '-l sataphy'). Extended logs are now printed
       before their old versions.

564
565
  [CF] autogen.sh: automake 1.10.2 and 1.11 are OK.

566
567
568
  [CF] Fix syntax error in prototype of 'safe_snprintf()'.
       Thanks to Alexander Shaduri for bug report and patch.

569
570
  [DG] SCSI: Fetch load-unload cycle counts.

571
572
  [CF] Windows: Add Win-7 and Win2008 to get_os_version_str().

573
574
575
  [CF] smartd: Fix '-M test' directive in conjunction with '-s' option.
       Thanks to Matthias Becher for the problem report.

576
577
578
579
580
581
582
  [MS] knowndrives.cpp updates:
       - Add Seagate Barracuda 7200.12 series
       - Add Seagate Momentus 5400.4 series
       - Add Hitachi Deskstar 7K1000.B series
       - Add Transcend SSD TS32GSSD25-M
       - Add OCZ Vertex 1199

583
584
585
586
587
588
  [CF] knowndrives.cpp updates:
       Add Samsung S250 series.
       Add '-v 198,increasing' to Samsung P80.
       Replace '#if/#endif' by comment to fix configure option
       '--enable-drivedb'.

589
590
591
592
  [CF] knowndrives.cpp update:
       Add Seagate 7200.11 with 'CC' firmware which is unaffected
       by the bug. Thanks to Bas Mevissen for the patch.

593
594
595
  [CF] Replace global 'con->...' variables used for drive presets
       by local variables.

596
597
598
599
600
601
602
  [CF] Simplify '-v' vendor attribute option parsing.
       Add '-v 197,increasing' and '-v 198,increasing' options
       to specifiy that an uncorrectable count is never reset.
       This modifies the printed attribute names and smartd's
       default setting of '-C' and '-U' directives.
       Both '-v' options can also be preset in the drive database.

603
604
605
606
  [CF] Add '+' modifier to smartd '-C' and '-U' directives.
       If specified, a warning is only printed if the raw value
       increases.

607
608
609
  [CF] Add smartctl option '-l xselftest[,NUM]' to print
       ATA SMART Extended Self-test Log (GP Log 0x07).

610
611
612
613
614
  [CF] Add experimental option '-d usbsunplus' for drives behind
       SunplusIT USB bridges. Tested on WinXP with SPIF215(?) in
       TrekStor DataStation maxi m.u.. Many thanks to SunplusIT
       tech support for providing the required information.

615
616
617
618
619
620
  [CF] Windows: Provide a non-console version of smartctl.exe
       as smartctl-nc.exe. This prevents that a new console is
       opened when smartctl is run from a GUI program with
       stdio redirected.
       Used by GSmartControl (http://gsmartcontrol.berlios.de/).

621
622
623
624
625
626
627
  [CF] Remove support for platforms without getopt_long() in
       smartctl.cpp and smartd.cpp. If getopt_long() is missing,
       ./configure aborts with an explanatory message.
       For now, short option help texts are only removed from
       os_linux.cpp and os_win32.cpp. HAVE_GETOPT_LONG is still
       defined in config.h.

628
629
630
  [CF] Add smartctl '-d test' option to print the result of the
       device type detection.

631
632
633
  [CF] Enhance USB device type autodetection, use bcdDevice if known.
       Add Cypress CY7C68300B/C (AT2LP) to the table.

634
635
636
  [CF] Linux: Add experimental USB device type autodetection.
       Uses USB ID info found through symlink "/sys/block/sdX/device".

637
638
639
  [CF] Windows: Add experimental USB device type autodetection.
       Uses WMI command line tool 'wmic' to query USB ID.

640
641
642
643
644
  [CF] Add function smart_interface::get_usb_dev_type_by_id() to map
       USB vendor:product IDs to '-d type' names. Can be used by
       platform dependent layer to autodetect USB devices if ID of
       USB bridge is known.

645
646
647
  [CF] smartd: Log changes of self-test execution status if
       '-l selftest'is specified.

648
649
650
  [CF] knowndrives.cpp update:
       Samsung SpinPoint F1 RE series

651
652
653
  [MS] knowndrives.cpp update:
       Seagate Momentus 5400.6 series

654
655
  [CF] Add forgotten SCSI sense checks to class usbjmicron_device.

656
657
658
659
  [CF] Add new SMART STATUS check command for JMicron USB bridges.
       Should support also older chip versions and prevents a race
       condition.

660
661
662
  [CF] Windows: Fix win_scsi_device::scsi_pass_through() for single byte
       data transfers. Required for JMicron SMART STATUS check.

663
664
665
  [MS] knowndrives.cpp update:
       Add Hitachi Travelstar C4K60 family (1.8" slim drives)

666
667
  [MS] Workaround for huge raw values of attribute 9, needed
       for Hitachi Travelstar C4K60. For the Power_On_Minutes case,
668
       clip the display to 4 bytes and show the remaining part,
669
670
       if existent, in parens.

671
672
673
674
675
  [CF] Add experimental option '-d usbjmicron[,PORT]' for drives
       behind JMicron USB bridges. Tested on WinXP with JM20336 in
       AixCase AIX-ESU35CD. Many thanks to JMicron tech support
       for providing the required information.

676
677
678
  [MS] knowndrives.cpp update:
       Add WD Caviar Green 8MB and 32MB cache variants, stretch to 2TB.
 
679
680
681
682
  [CF] knowndrives.cpp updates: Add more entries for Samsung P80 disks
       with old and unknown firmware. Remove old entries which would
       match any new Samsung model reusing old firmware version number.

683
684
685
  [CF] Windows: Add a workaround for missing multi-sector support
       for ATA READ LOG EXT command.

686
687
688
  [CF] Fix Extended Comprehensive Error Log index base.
       Add workaround for Samsung disks using reserved byte as index.

689
690
691
692
  [CF] knowndrives.cpp updates: Update bug warnings for
       Seagate 7200.11, ES.2 and DiamondMax 22. Add new entries
       for fixed firmware versions.

693
694
695
  [CF] Add smartctl option '-l xerror[,NUM]' to print
       ATA SMART Extended Comprehensive Error Log (GP Log 0x03).

696
697
698
  [MS] knowndrives.cpp update:
       Added remaining WD Scorpio Blue SATA II drives

699
700
  [CF] Minor fix to remove ID 0 from 'smartctl -l sataphy ...' output.

701
702
703
  [CF] knowndrives.cpp updates: Add warnings about possible firmware
       bugs to Seagate 7200.11, ES.2 and DiamondMax 22 entries.

704
705
  [CF] knowndrives.cpp updates: Add Samsung SpinPoint F1 series.

706
707
708
709
  [CF] Windows: Fix return value of scsi_pass_through(). Regression
       was introduced during migration to new interface. SAT over USB
       now works on XP (both '-d sat,12' and '-d sat,16').

710
711
712
713
714
  [MS] knowndrives.cpp updates:
       - Added Western Digital RE2-GP family
       - Added Hitachi Travelstar E5K160 family
       - Allow uppercase variants of Hitachi 5K160 drives

715
716
717
718
  [CF] Fix smartctl crash on '-l directory,[gs]'. Allow to override
       missing GPL feature bit or missing log dir entry with
       '-T permissive' option.

719
720
721
  [SZ] os_freebsd.cpp, os_freebsd.h updates:
       Support HighPoint RocketRAID controller under FreeBSD

722
723
724
725
726
  [MS] knowndrives.cpp updates:
       - Added Western Digital RE3 32MB cache variants
       - Added WD Caviar Green 32MB cache variant (WD10EADS)
       - Added WD Scorpio Black family

727
728
729
730
731
732
733
  [DG] Accept half healthy (and half unhealthy) indication from the
       SMART RETURN STATUS. This makes allowance for SAT implementations
       (e.g. via USB) that truncate the SCSI sense buffer to 18 bytes.
       This truncation causes the SMART RETURN STATUS indication to be
       half health or unhealthy. If the half indication is used, then
       warn if '-r ioctl' is given.

734
735
736
737
  [MS] knowndrives.cpp updates:
       - Added Apple SSD
       - Added Seagate U8 family

738
739
740
  [DL] os_freebsd.cpp:
       Added support for CHECK_POWER_MODE and WRITE_LOG commands

741
742
743
  [MS] knowndrives.cpp update:
       There seem to exist WD Raptors with SATA II interface, add them.

manfred99's avatar
manfred99 committed
744
745
746
747
  [MS] knowndrives.cpp updates:
       - Added remaining Seagate Barracuda 7200.11 drives
       - Added HP 1TB SATA disk

manfred99's avatar
manfred99 committed
748
749
750
751
752
753
754
755
756
757
758
  [MS] knowndrives.cpp updates:
       - Added Maxtor 92040U6 (DiamondMax Plus 6800)
       - Added Seagate Maxtor DiamondMax 21 500GB version
       - Added QUANTUM FIREBALLlct15 22
       - Added QUANTUM FIREBALL CR6.4A
       - Added QUANTUM FIREBALLP LM20.4
       - Added SUN branded Toshiba MK4019GAX
       - Added TOSHIBA MK1016GAP and relatives: MK1[05]1[67]GAP
       - Added Western Digital WD800AB and WD2500AB
       - Some Hitachi 7K160 drives have garbage at end of name: permit it

759
760
761
  [CF] Add smartd '-n powermode,N' directive parameter to limit the
       number of skipped checks. Thanks to Michal Hlavinka for the patch.

manfred99's avatar
manfred99 committed
762
763
764
765
766
767
768
  [MS] knowndrives.cpp updates:
       - Added Hitachi Endurastar J4K30/N4K30
       - Added Hitachi Travelstar 4K120 series
       - Some Hitachi 7K80 drives have garbage at end of name: permit it
       - IBM Travelstar 6GN series

  [MS] knowndrives.cpp updates:
manfred99's avatar
manfred99 committed
769
770
771
772
773
       - Added Quantum Fireball ST4300A
       - Added Asus-Phison SSD (solid state disk)
       - Added Seagate DB35.3 Series
       - Added remaining disks of the Seagate SV35.2 Series

774
775
  [MS] Fix trivial compile error with "-pedantic"

776
777
778
779
780
  [MS] Workaround for huge raw values of Reallocated_Sector_Ct and
       Reallocated_Event_Ct for newer Fujitsu disks (only the lower
       16 bits seem to be meaningful). Clip the display to 16 bits
       and show the remaining part, if existent, in parens. Patch by [CF].

781
782
783
  [CF] smartd DEVICESCAN: Fix autodetection of SAT devices.
       Thanks to Stanislav Brabec for bug report and testing.

784
785
786
  [MS] knowndrives.cpp update:
       Convert file to full string regex: remove "^$" from pattern

manfred99's avatar
manfred99 committed
787
788
789
790
791
792
793
  [MS] knowndrives.cpp updates:
       - Added Seagate Momentus 5400 PSD series (hybrid drives)
       - Added Seagate Momentus 7200.3 series
       - Added Hitachi Deskstar 7K250 (SUN branded)
       - There are Hitachi Travelstar 5K250 drives with capital "HITACHI"
       - Correct regex for Maxtor VL 30 drives

794
795
796
797
  [CF] Add configure options '--enable-savestates' and
       '--with-savestates=PREFIX' to enable smartd persistence
       ('-s' option) by default.

798
799
800
801
  [CF] smartd: Add '-s ([cnr]/../.././..)' directive to run scheduled
       selective self-tests. Useful to perform full tests of large disks
       not running 24x7.

802
803
804
805
806
807
808
  [CF] Allow to read local drive database entries from optional file
       '${sysconfdir}/smart_drivedb.h'.
       Add configure options '--enable-drivedb' and '--with-drivedbdir=DIR'.
       If specified, drive database is read from '${drivedbdir}/drivedb.h'.
       (default '${prefix}/share/smartmontools/drivedb.h'). This file
       is build from knowndrives.cpp.

manfred99's avatar
manfred99 committed
809
810
811
812
813
814
815
816
  [MS] knowndrives.cpp updates:
       - Added 640GB variants of Western Digital AAKS and AACS drives
       - Added Western Digital AV ATA family
       - Added 160GB variant of Hitachi P7K500
       - Added 500GB variant of Hitachi 7K1000
       - Some cleanup for Quantum disks
       - Added Seagate Maxtor DiamondMax 22 family

817
818
  [CF] Use full string match for regexp in drive database.

819
820
821
822
  [CF] Add option '-d sat+TYPE' to use SAT with controllers which
       require option '-d TYPE'. Should work with '-d sat+megaraid,N'.
       As a side effect, '-d usbcypress+TYPE' is also supported.

823
824
825
826
827
  [CF] Add parser to read drive database from a file. Add '-B' option
       to smartctl and smartd to specify database file name. File syntax
       is identical to the C/C++ syntax used to inialize the internal
       database array.

chrfranke's avatar
chrfranke committed
828
829
830
  [CF] New syntax for drive database: Specify presets by strings
       with '-v' and '-F' options. Use empty strings instead of NULL.

831
832
833
  [JPH] Added Linux support for viewing disks behind MegaRAID
  	controllers

834
835
836
  [CF] smartd: Improve min/max temperature recording in conjunction
       with '-s' option.

chrfranke's avatar
chrfranke committed
837
838
  [CF] Add a wrapper class for FILE *.

839
840
841
842
843
844
  [CF] smartd: Add experimental support for state persistence (ATA only).
       Add option '-s' to specify path prefix for state files.
       Rework scheduled self-test detection to support persistence.
       If any test schedules are within downtime, the highest priority
       test is run after next startup.

845
846
  [CF] Remove casts from 'format_ata_string()' calls.

847
848
  [CF] Minor changes to fix errors and warnings from Cygwin gcc 4.3.0.

chrfranke's avatar
chrfranke committed
849
850
851
  [CF] smartd: Remove SCSITIMEOUT code. According to smartd.h 1.54 CVS log
       from 2003-10-27, it did never work.

852
853
854
855
  [CF] Remove dependencies ataprint.cpp and scsiprint.cpp from smartd.
       Move common ATA functions from ataprint.cpp to atacmds.cpp.
       Module scsiprint.cpp was apparently never used in smartd.

chrfranke's avatar
Typo.    
chrfranke committed
856
  [CF] Move smartd local declarations from smartd.h and utility.h to
857
858
       smartd.cpp. Remove smartd.h.

859
860
861
  [CF] Fixed extra '\n' in "Offline data collection status" output.
       Thanks to Alexander Shaduri for the patch.

862
863
864
  [CF] smartd: Separate device configuration data from device state data.
       Use references instead of pointers for configuration and state data.

865
866
  [CF] Add const-correctness and static to ATA support functions.

chrfranke's avatar
chrfranke committed
867
868
  [CF] Add a wrapper class for regex.

869
870
  [CF] Simplify 'create_vendor_attribute_arg_list()'.

871
872
873
874
875
  [CF] smartd: Rework of main data structures. Remove explicit memory
       allocations, use STL containers and structs with value semantics
       instead. Remove old malloc/free based memory management helper
       functions unless old interface is still in use.

876
877
  [CF] Linux: Cleanup device scan, remove name list, create objects directly.

878
879
  [CF] Linux: Cleanup smart_device::open(), type strings are no longer used.

880
881
882
  [CF] Remove CONTROLLER_* defines and variables unless old interface
       is still in use.

883
884
885
886
887
  [CF] Linux: Migrate 3ware interface to 'ata_pass_through()'.
       Multi-sector support is not complete yet. 48-bit commands
       possibly work.
       WARNING: Not tested, please review code before first test!

888
889
  [CF] Linux: Migrate os_linux.cpp to new interface.

890
891
  [CF] Add direct access to 16-bit registers in 'ata_in/out_regs_48bit'.

892
893
894
  [CF] Add 'ata_cmd_is_ok()' parameter check,
       remove 'ata_pass_through_28/48bit()' functions.

895
896
  [CF] Add CVS date/time from cvsversion.h to man pages also.

897
898
899
  [CF] Add configure option '--with-os-deps='os_module.o ...' to specify
       alternate OS interface modules. Useful for testing during migration.

900
901
902
  [CF] Remove declarations of 'optarg', 'optind', ..., include <unistd.h>
       instead. This fixes 'auto-importing' linker warnings on Cygwin.

903
904
  [CF] Add '-l sataphy[,reset]' to print SATA Phy Event Counters.

905
906
907
  [CF] Add '-l gplog,ADDR[,FIRST[-LAST|+SIZE]]' and '-l smartlog,...'
       to dump any log page accessible via GP or SMART read log commands.

908
909
910
911
  [CF] Enhance '-l directory' to print both GP and SMART Log directories.
       Add '-l directory[,gs]' modifiers to select GP or SMART log.
       Enhance 'ata_cmd_in' parameter struct for 48-bit commands.

912
913
  [CF] Windows: Add full ATA pass through support including 48-bit commands.

914
915
  [CF] Windows: Migrate os_win32.cpp to new interface.

916
917
  [CF] SAT: Add full ATA pass through support including 48-bit commands.

manfred99's avatar
manfred99 committed
918
919
920
  [MS] knowndrives.cpp update
       - Added FUJITSU MHZ2250BS G2 and family

manfred99's avatar
manfred99 committed
921
922
923
924
925
926
927
928
929
930
931
932
933
  [MS] knowndrives.cpp updates
       - Added Maxtor DiamondMax 60 94098H6
       - Added Maxtor DiamondMax 1280 84000A6 and family
       - Added Maxtor DiamondMax VL 30 31536H2 (ATA100) and family
       - Some Seagate Barracuda 7200.9 have garbage at end of name: permit it
       - Added Seagate Barracuda ATA ST320430A and family
       - Regression from previous checkin: add WD RE2 WD...0ABYS again
       - Added WD RE3 WD5002ABYS and family
       - Added Quantum Fireball CR13.0A
       - Added Hitachi Travelstar 5K250 HTS542525K9SA00 and family
       - Added WD AC420400D and add whole range of AC.... which
           have 5400rpm or higher (i.e. PIO-only drives omitted)

manfred99's avatar
manfred99 committed
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
  [MS] knowndrives.cpp updates
       - WD: Separated entries for EIDE and SATA
       - WD: Separated entries for Caviar SE, SE16, RE, RE2
       - WD Named: WD Caviar AC series
       - WD Renamed: WD Caviar RE/RE2 -> WD RE/RE2
       - WD Renamed: WD Caviar SE/SE16 WD....AA[A-Z][A-Z] -> WD Caviar Blue
       - WD Renamed: WD Scorpio WD....BEV[A-Z] -> WD Scorpio Blue
       - Added WD Scorpio Blue WD3200BEVT
       - Added WD RE2 WD5001ABYS and family
       - Added WD Caviar Green WD5000AACS and family
       - Added WD VelociRaptor WD3000GLFS and family
       - Added Seagate Barracuda ES.2 ST31000340NS and family
       - Added Samsung SP80A4H
       - Added Maxtor DiamondMax 21 STM3160215AS and STM3320620AS
       - Added Seagate Barracuda 7200.7 ST380819AS
       - Added Maxtor DiamondMax 10 6B100P0
       - Added Seagate SV35.2 Series
       - Added Fujitsu MHY2120BH and family
       - Added Fujitsu MHW2080BH PL (PL variant)
       - Added Toshiba MK3252GSX and family

955
956
957
958
  [BA] Fix smartctl bug: when running in silent mode '-q errorsonly'
       do not print the Selective Self-test log.  Any errors will
       ALREADY appear in the SMART Self-test log.

959
960
  [CF] Add missing 'const' and other minor fixes to prevent gcc warnings.

961
962
963
  [OB] Added information message about supported Areca firmware versions.
       It's displayed in case the ATA device identification fails.

chrfranke's avatar
chrfranke committed
964
965
  [CF] Add configuration file for Doxygen.

966
967
968
969
970
971
972
973
974
  [CF] Add new object oriented interface to access ATA and SCSI devices.
       smartctl and smartd are modified to use the new classes in
       'dev_interface.{h,cpp}'. The template class in 'dev_tunnelled.h'
       is used in 'scsiata.cpp'. The code in 'dev_ata_cmd_set.{h,cpp}'
       supports migration from old function 'ata_command_interface()'.
       All existing 'os_*.cpp' modules should still work without any changes.
       The required adapter classes from 'dev_legacy.cpp' are automatically
       added by configure if necessary.

975
976
977
  [BA] Updated smartd and smartctl and smartd.conf man-page documentation
       to reflect support for Areca SATA RAID controller cards.

978
979
980
  [OB] Added support for Areca controllers to smartd. Extensive tests
       as well as documentation are still pending however.

brevilo's avatar
brevilo committed
981
982
  [OB] Implemented device locking for Areca controllers in smartctl

983
984
985
986
987
  [BA] Fixed selective self-test code.  Data structure revision number
       may be != 1 if no selective self-test has ever been run.  Host
       MUST set this value (at least at the first selective self-test
       instance).  Thanks to Curtis Stevens of WDC for clarification.

mat-c's avatar
mat-c committed
988
989
  [MC] usbcypress autodetection

990
991
992
993
  [BA] Starting to commit Areca code.  For now just smartctl.
       More changes and documentation coming soon.
       Need Areca firmware version 1.45 dated 10 June 2008 or later.
       May need changes in opening /dev/sg and file locking.
ballen4705's avatar
ballen4705 committed
994
       Many thanks to Hank Wu!
995

996
997
  [CF] smartd: Fix too small name buffer for 3ware with >100 devices.

jhering's avatar
jhering committed
998
  [JH] now C++ Support for QNX Target
999
       already tested for QNX 6.3.2 on x86 and armle target
jhering's avatar
jhering committed
1000
   
For faster browsing, not all history is shown. View entire blame