]>
Commit | Line | Data |
---|---|---|
832b75ed GG |
1 | CHANGELOG for smartmontools |
2 | ||
a37e7145 | 3 | $Id: CHANGELOG,v 1.637 2007/11/13 14:53:27 jhering Exp $ |
832b75ed GG |
4 | |
5 | The most recent version of this file is: | |
4d59bff9 | 6 | http://smartmontools.cvs.sourceforge.net/smartmontools/sm5/CHANGELOG?view=markup |
832b75ed GG |
7 | |
8 | Maintainers / Developers Key: | |
9 | [BA] Bruce Allen | |
a37e7145 | 10 | [EB] Erik Inge Bols� |
832b75ed GG |
11 | [SB] Stanislav Brabec |
12 | [PC] Peter Cassidy | |
13 | [YD] Yuri Dario | |
14 | [CD] Casper Dik | |
15 | [CF] Christian Franke | |
a37e7145 | 16 | [GF] Guilhem Fr�zou |
832b75ed GG |
17 | [DG] Douglas Gilbert |
18 | [GG] Guido Guenther | |
19 | [GK] Geoff Keating | |
20 | [DK] Dr. David Kirkby | |
a37e7145 GG |
21 | [JH] Joerg Hering |
22 | [KM] Kai M�kisara | |
832b75ed | 23 | [EM] Eduard Martinescu |
a37e7145 | 24 | [FM] Fr�d�ric L. W. Meunier |
832b75ed GG |
25 | [KS] Keiji Sawada |
26 | [DS] David Snyder | |
27 | [SS] Sergey Svishchev | |
28 | [PW] Phil Williams | |
29 | [LW] Leon Woestenberg | |
30 | [RZ] Richard Zybert | |
4d59bff9 | 31 | [SZ] Sf Zhou |
832b75ed GG |
32 | |
33 | NOTES FOR FUTURE RELEASES: see TODO file. | |
34 | ||
35 | <DEVELOPERS: ADDITIONS TO THE CHANGE LOG GO JUST BELOW HERE, PLEASE> | |
a37e7145 GG |
36 | [JH] initial porting to QNX Neutrino 6.3.2 |
37 | need at this time a prerelease devb-eide driver and libcam.so.2 | |
38 | only tested for X86 Target, but devb-eide and lobcam.so.2 available for X86/ARM | |
39 | the officional driver coming soon with the next QNX release | |
40 | create two new source files os_qnxnto.[c..h] | |
41 | ||
42 | [CF] smartd: Added option '-n, --no-fork' so that smartd works | |
43 | better with modern init methods. Thanks to Enrico Scholz | |
44 | for the patch from 2005-12-24. | |
45 | ||
46 | [CF] Windows: Improved ATA/SCSI device type detection and | |
47 | DEVICESCAN. This also fixes a regression in 3ware DEVICESCAN. | |
48 | ||
49 | [CF] smartd: Don't start self tests in first pass to avoid | |
50 | performance problems during boot. | |
51 | https://bugzilla.novell.com/show_bug.cgi?id=192591 | |
52 | ||
53 | [CF] Fixed regression in SMART STATUS command on Win9x/ME. | |
54 | ||
55 | [BA] Fixed 3ware issue with new controllers. Documentation said | |
56 | that one could address up to 24 disks on a single controller, | |
57 | but in fact one was limited to 16 disks. This is now fixed: | |
58 | up to 32 disks can be addressed. Thanks to Adam Radford. | |
59 | ||
60 | NOTE1: I have patched the Linux and FreeBSD code but not | |
61 | modified the Win32 code (it already supports up to 32 disks). | |
62 | ||
63 | NOTE2: NOT TESTED ON LINUX. Do not use this on a production box! | |
64 | I will remove this NOTE2 as soon as some positive test | |
65 | reports are recieved. | |
66 | ||
67 | NOTE3: NOT TESTED ON FREEBSD. Do not use this on a production box! | |
68 | I will remove this NOTE3 as soon as some positive test | |
69 | reports are recieved. | |
70 | ||
71 | [CF] Windows installer: Added explorer drive menu, CMD window, | |
72 | UBCD4Win plugin, smartd service update and other minor | |
73 | improvements. | |
74 | ||
75 | [CF] Windows: Modified drive letter handling for explorer drive | |
76 | context menu: try SCSI if type is unknown, allow 'X:\.' syntax. | |
77 | ||
78 | [CF] Windows: Added automatic ATA/SCSI device type detection and | |
79 | SCSI device scanning. The device names '/dev/sdX' and | |
80 | '/dev/pd<n>' now work for both ATA and SCSI disks. | |
81 | ||
82 | [CF] smartctl: Added ability to parse '-r ataioctl,2' output from | |
83 | stdin ('-') and simulate the ATA commands for testing purposes. | |
84 | ||
85 | [BA] SMART Attributes: added 187, 189, more accurate name for 190. | |
86 | ||
87 | [CF] Windows: Added drive letters 'X:' as alternate disk device names. | |
88 | ||
89 | [CF] smartctl: Added '-F swapid' to fix ATA identify string byte | |
90 | ordering. Added '-q noserial' to suppress serial number output. | |
91 | ||
92 | [CF] Windows: Added '/dev/n?st<n>' as alternate device names for SCSI | |
93 | tapes. These names are also used by Cygwin's /dev emulation layer. | |
94 | Thanks to Corinna Vinschen (Cygwin project lead) for pointing this | |
95 | out. | |
96 | ||
97 | [CF] Windows: Added IOCTL_SCSI_MINIPORT_*SMART* for commands not handled | |
98 | properly by SMART_IOCTL in disk class driver. This allows to use | |
99 | READ_LOG, WRITE_LOG and ABORT_SELFTEST even if the driver does not | |
100 | support ATA_PASS_THROUGH. | |
101 | ||
102 | [CF] Added ATA-8 revision 4, fixed WRITE LOG '-r ioctl' output. | |
103 | ||
104 | [BA] Updated smartctl and smartd so that they can be used with the latest | |
105 | 3ware controllers which have 24 ports. Also updated docs. | |
106 | Thanks to Tim Bell at CERN. | |
107 | ||
108 | [GG] bit 4 in smartctl's return code might be set even when the dist check | |
109 | didn't return "DISK OK" | |
110 | ||
111 | [CF] Drive database: added '-F samsung3' for Samsung P80 firmware | |
112 | BH100-35. | |
113 | ||
114 | [SS] Applied patch from Dean Bennett to fix scheduled tests on | |
115 | Highpoint RAID controllers. | |
116 | ||
117 | [BA] Added patch from Tejun Heo http://thread.gmane.org/gmane.linux.ide/13222/focus=13235 | |
118 | to fix broken auto-offline and auto-save via libata. Very clean fix: does it | |
119 | "the right way". Thanks Tejun! | |
120 | ||
121 | [CF] Added message text for ATA-7 self-test execution status 8 | |
122 | ("... handling damage"). | |
123 | ||
124 | [GG] cciss: support more than 16 disks (patch taken from | |
125 | http://cciss.sourceforge.net/smartmontools_cciss_more_than_16_drives.patch | |
126 | and adjusted for smartd) | |
127 | ||
128 | [DG] Solaris: [SCSI] add USCSI_RQENABLE flag to uscsi pass-through so | |
129 | sense buffer is made available. Expand reporting at this level. | |
130 | ||
131 | [GK] Darwin: Improve handling of powered-down drives. | |
132 | ||
133 | [SS] CCISS physical drive enumeration method changed (incompatibly). | |
134 | ||
135 | [CF] Fixed smartd crash on missing '-s' directive argument. | |
136 | ||
137 | [SS] Support CCISS on FreeBSD (kernel source is required). | |
138 | ||
139 | [DG] SCSI/TAPE: some IBM tape drives don't react properly to a LOG | |
140 | SENSE with an allocation length of 4; work around for that case. | |
141 | ||
142 | [CF] Applied Guido's patch to fix CCISS LUN array bounds check | |
143 | (openSUSE bug #239956) and remove trailing spaces in | |
144 | os_linux.cpp. | |
145 | ||
146 | [CF] Fixed 64-bit compilation issue in SCT status struct. | |
147 | ||
148 | [DG] SAT/SCSI: make real SCSI disks visible to DEVICESCAN in | |
149 | smartd again. | |
150 | ||
151 | [CF] Fixed check of SCT temperature table size. | |
152 | ||
153 | [CF] Added ATA-8 draft revisions, added SCT status format 3. | |
154 | ||
155 | [CF] Drive database: added Samsung T166 series. | |
156 | ||
157 | [CF] ATA: Added ',p' option for '-t scttempint,N' to make | |
158 | setting persistent. | |
159 | ||
160 | [CF] ATA: Added '-t scttempint,N' option to set SCT temperature | |
161 | logging interval. | |
162 | ||
163 | [CF] ATA: Added '-l scttemp[sts,hist]' options to print disk | |
164 | temperature information and history table provided by | |
165 | SMART Command Transport (SCT) Feature Set. | |
166 | ||
167 | [CF] ATA: Added '-t selective,{redo,next,cont}' commands to | |
168 | perform tests based on the last ranges still stored on | |
169 | disk. Added 'N+SIZE' and 'N-max' format for LBA range | |
170 | specification. | |
171 | ||
172 | [CF] Added Min/Max Temperature format used in attribute 190 of | |
173 | recent Maxtor disks (DiamondMax 20). | |
174 | ||
175 | [CF] Linux: Added check for <linux/cciss_ioctl.h> to allow build | |
176 | (without CCISS support) also when this file is missing. | |
177 | ||
178 | [CF] Added -F samsung3 option to correct firmware bug reporting | |
179 | completed self-tests as still in progress. Thanks to Manfred | |
180 | Schwarb for the patch. | |
181 | ||
182 | [CF] Added missing const specifiers (undetected by gcc 3.4 and 4.X) | |
183 | to fix compilation with gcc 2.X. | |
184 | ||
185 | [CF] Linux: compile fix for SuSE, config.h must be included first. | |
832b75ed | 186 | |
9ebc753d GG |
187 | smartmontools 5.37 Experimental Release |
188 | ||
189 | [CF] Windows: Added alternate method for (limited) monitoring of | |
190 | 3ware controllers by parsing the output of CLI or 3DM. | |
191 | Either "tw_cli" can be run internally ("/dev/tw_cli/cx/py"), | |
192 | or data can be read from standard input ("/dev/tw_cli/stdin") | |
193 | or clipboard ("/dev/tw_cli/clip"). | |
194 | ||
195 | [DG] Remove linux specific libata detect code; rely on general SAT | |
196 | code. smartd should now generate a sensible log message for | |
197 | ATA devices behind a SAT layer on all architectures. | |
198 | ||
ba59cff1 GG |
199 | [BA] Increased max line length MAXLINELEN for /etc/smartd.conf from |
200 | 128 to 256 characters to handle long strings in | |
201 | /dev/disk/by-id. Thanks to Martin Krafft. | |
202 | ||
203 | [PW] Drive database: added missing drives from Seagate Momentus 5400.2 | |
204 | family | |
205 | ||
206 | [BA] Finished Christian's fix (next item below) by removing | |
207 | LINUX_86_64 hack from configure.in. | |
208 | ||
209 | [CF] Fixed inclusion of PRI?64 macros from inttypes.h. | |
210 | ||
211 | [CF] Windows: Added WRITE LOG to support selective self tests. | |
212 | ||
213 | [CF] Fix selective self test log revision number if '-T permissive' | |
214 | is specified (Tested with Samsung HD401LJ). | |
215 | ||
216 | [CF] Windows: Fixed int64 printf format for MinGW runtime. | |
217 | ||
218 | [PW] Drive database: added Seagate Barracuda 7200.10 family, Seagate | |
219 | Momentus 42 family, Maxtor DiamondMax 60 ATA 66 family, Maxtor | |
220 | DiamondMax 60 ATA 100 family, and Western Digital Caviar Serial | |
221 | ATA family | |
222 | ||
223 | [PW] Drive database: added missing drives from Seagate Barracuda | |
224 | 7200.9 family, Seagate Barracuda 7200.7 family, Seagate Momentus | |
225 | 7200.1 family, Toshiba 2.5" HDD family (80 GB and above), Western | |
226 | Digital Caviar RE Serial ATA family, Hitachi Deskstar 7K80 family, | |
227 | and Maxtor DiamondMax 4320 Ultra ATA family | |
228 | ||
229 | [BA] Linux: compile fix for SuSE. Check for existence | |
230 | of linux/compiler.h and include in os_linux.h if | |
231 | present. Thanks to SB. | |
232 | ||
233 | [BA] smartd: DEVICESCAN will now pick up SATA/SAT devices | |
234 | attached to a SCSI device tree via SAT translation. | |
235 | Note: this is a bit of a hack. I will document it once | |
236 | I know if this needs to be Linux only or can have more | |
237 | general application. | |
238 | ||
239 | [BA] Added a couple SATA commands to the tables -- thanks DG! | |
240 | Phil -- how about going through and systematically adding | |
241 | these new commands to atacmdnames.cpp? | |
242 | ||
243 | [BA] Linux s86_64: get rid of some compiler warnings on | |
244 | x86_64 Linux systems. | |
245 | ||
246 | [CF] Windows: Added missing support for READ_LOG, ABORT_SELFTEST | |
247 | and CHECK_POWER_STATE for 3ware 9000 controllers. Thanks to | |
248 | Greg de Valois for implementing this new ioctl in the driver. | |
249 | ||
250 | [PW] Drive database: added Seagate NL35 SATA family. Thanks to Kai | |
251 | Harrekilde-Petersen for providing a patch. | |
252 | ||
253 | [DG] [SCSI, Windows] add SPT interface for NT and later. New device | |
254 | names are "pd<n>", "sd<l>" and "tape<n>". | |
255 | ||
256 | [PW] Drive database: added Western Digital Scorpio family, Fujitsu MHV | |
257 | family, Maxtor MaXLine Pro 500 family, and Maxtor DiamondMax 11 | |
258 | family | |
259 | ||
260 | [PW] Drive database: added missing drives from Toshiba 2.5" HDD | |
261 | (30-60 GB) family, Maxtor DiamondMax 10 family, Seagate Barracuda | |
262 | 7200.8 family, Fujitsu MHT family, and Maxtor DiamondMax Plus 8 | |
263 | family | |
264 | ||
265 | [SB] Added examplescripts/Example4 using powersave-notify. | |
266 | ||
267 | [SB] More temperature monitoring examples in smartd.conf with DEVICESCAN. | |
268 | ||
269 | [SB] Minor improvements of SuSE part of init script. | |
270 | ||
271 | [CF] Drive database: added Samsung P80 series, P120 series, SP8004H | |
272 | and T series. | |
273 | ||
274 | [GG] Add CCISS (Compaq Smart Array Controller) support with contributions | |
a37e7145 | 275 | from Praveen Chidambaram, Douglas Gilbert, Guido Guenther and Fr�d�ric |
ba59cff1 GG |
276 | BOITEUX |
277 | ||
278 | [PW] Drive database: added Hitachi Deskstar T7K250 and Hitachi | |
279 | Deskstar 7K500 series. Thanks to L. J. Wu for providing a | |
280 | patch | |
281 | ||
282 | [PW] Drive database: added Maxtor MaXLine III family, Seagate U7 | |
283 | family, Seagate ST34321A, FUJITSU MHM2060AT, FUJITSU MHT2040AS, | |
284 | Western Digital Caviar SE16 family, IBM Travelstar 4GT family, | |
285 | QUANTUM FIREBALLP KA9.1, QUANTUM FIREBALL SE4.3A, TOSHIBA | |
286 | MK1032GAX, TOSHIBA MK4026GAX | |
287 | ||
288 | [PW] Drive database: added missing drives from Western Digital Caviar | |
289 | SE (Serial ATA) and WD Raptor families | |
290 | ||
4d59bff9 GG |
291 | [CF] Windows: Added support for 3ware 9000 controllers using extended |
292 | SMART functionality in new 3ware driver. This includes DEVICESCAN | |
293 | support for at most 2 controllers. Thanks to Greg de Valois from | |
294 | AMCC/3ware for new driver features, development support and | |
295 | hardware for testing. | |
296 | ||
297 | [SZ] smartd: Support HighPoint RocketRAID controller under GNU/linux | |
298 | ||
299 | [DG] [SCSI] First cut for '-l background' to show background scan | |
300 | results log | |
301 | ||
302 | [SZ] smartctl: Support HighPoint RocketRAID controller under GNU/linux | |
303 | ||
304 | [KS] C++ compile fixes for Solaris with a few cleanups. | |
305 | ||
306 | [BA] C++ compile fixes for Darwin (thanks to CF) | |
307 | ||
308 | [CF] Removed old *.c files (now in CVS Attic). | |
309 | ||
310 | [CF] Added changes for C++ to platform independent and Windows | |
311 | related files. | |
312 | ||
313 | [BA] Tagged last .c Version with PRE_MOVE_TO_CPP. Copied *.c,v | |
314 | to *.cpp,v in CVS repository to preserve history of source | |
315 | files. Removed sm5_Darwin repository. | |
316 | ||
317 | [CF] smartctl: Added -n option to skip checks when disk is in | |
318 | low-power mode. | |
319 | ||
320 | [CF] Windows: Added alternate system call for power state check | |
321 | because the PASS THROUGH calls may spin up the disk. | |
322 | ||
323 | [CF] smartd: Modified power state logging to report state changes | |
324 | instead of standby condition. | |
325 | ||
326 | [CF] smartd: Ignore -n directive on scheduled self tests. | |
327 | ||
328 | [DG] [SCSI] Make start stop cycle counter log page decoding | |
329 | more robust | |
330 | ||
331 | [DG] Modify smartctl (but not smartd) to detect probable ATA | |
332 | devices behind a SAT layer. In the absence of an explicit | |
333 | device type, change to device type 'sat'. | |
334 | ||
335 | [DG] Add indication that controller (device) type has been | |
336 | explicitly set. Preparation for automatic detection of | |
337 | 'sat' device type unless user specifies a device type. | |
338 | ||
339 | [SS] NetBSD: Deliver strings from ata_identify_device properly | |
340 | on little- and big-endian platforms. | |
341 | ||
342 | [BA] Added published ANSI ATA-7 spec to list of recognized ATA | |
343 | versions. | |
344 | ||
345 | [BA] Code janitor: added missing header strings for '-V' option. | |
346 | ||
347 | [DG] [SATA] Extend 'sat' device type to allow either 12 or 16 byte | |
348 | variant of the SAT ATA PASS THROUGH SCSI command. Syntax is | |
349 | '-d sat,<n>' where <n> can be 0, 12 or 16 . The ',<n>' part | |
350 | is optional. Currently defaults to 16 byte variant but that | |
351 | could be made platform or even device dependent. | |
352 | ||
353 | [DG] [SATA] Add new 'sat' device type for SATA disks behind a | |
354 | SCSI to ATA Translation (SAT) Layer (SATL). Uses the ATA | |
355 | PASS THROUGH (16) SCSI command thence the generic SCSI | |
356 | passthrough for each platform. | |
357 | ||
358 | [CF] Windows: Added script and make targets to create installer | |
359 | with NSIS (http://nsis.sourceforge.net/) | |
360 | ||
361 | [CF] Updated hostname and links for new SourceForge CVS service. | |
362 | ||
363 | [CF] smartd: Added '-W' directive to track temperature changes | |
364 | and warn if temperature limits are reached. | |
365 | ||
366 | [CF] Windows: Added IOCTL_ATA_PASS_THROUGH (Win2003, XP SP2) | |
367 | for commands unsupported by SMART_IOCTL. Added device | |
368 | specific options to select subset and ordering of the ATA | |
369 | IOCTLs actually used. These options are specified as | |
370 | modifiers of the device name (/dev/hd[a-j]:[saic]+) | |
371 | ||
372 | [CF] Windows: Added support for drives 4-7 (/dev/hd[e-h]) via | |
373 | SMARTVSE.VXD on Win9x/ME. Thanks to Dariusz Rzonca for | |
374 | patch and testing. | |
375 | ||
376 | [DG] [SCSI/SATA linux] from lk 2.6.17 SATA disk identification in | |
377 | libata will change. Expand LibAta detection to see old | |
378 | identifier and new variant (VPD page 0x83). | |
379 | ||
380 | [BA] Identified Attribute 190 for Western Digital disks. This | |
381 | stores temperature in Celsius, just like Attribute 194. | |
382 | But it has a failure threshold set to correspond to the | |
383 | maximum design operating temperature of the disk, which | |
384 | is 55 Celsius on the WD800JD drives that I studied. | |
385 | So if this Attribute has 'failed | |
386 | in the past' this means that the maximum disk operating | |
387 | temperature has been exceeded. | |
388 | ||
ba59cff1 GG |
389 | [GK] Darwin: Add support for AHCI drivers found in Intel-based Macs. |
390 | ||
832b75ed GG |
391 | smartmontools 5.36 Stable Release |
392 | ||
393 | [BA] Linux: smartd/smartctl issue syntax hints to user if 3ware | |
394 | disk controller present with EITHER 3ware OR AMCC vendor | |
395 | name, and user syntax incorrect. | |
396 | ||
397 | [BA] Update copyright dates to 2006. | |
398 | ||
399 | [DG] [SCSI] Loosen sanity check on Seagate/Hitachi factory information | |
400 | log page so it is not skipped on recent Seagate SCSI disks. | |
401 | ||
402 | [CF] Added command 'smartd -q showtests' to list test schedules. | |
403 | ||
404 | [CF] Added command 'smartctl -P showall MODEL [FIRMWARE]' to list | |
405 | database entries for specific drives and firmware. | |
406 | ||
407 | [PW] Automatically set -v 9,minutes and -v 194,unknown for Maxtor | |
408 | DiamondMax D540X-4G drives. | |
409 | ||
410 | [DG] [SCSI] suppress various outputs when data fails sanity checks. | |
411 | Correct 'last n error events' log page indexing. | |
412 | ||
413 | [DG] [SCSI] changed smartctl exit status to reflect any problems in | |
414 | the most recent 20 self test logs [Leandro Santi] | |
415 | ||
416 | [DG] [SCSI] Fix process return value when scsiGetSmartData() fails | |
417 | in smartctl [Leandro Santi] | |
418 | ||
419 | [BA] Updated docs and error message to reflect Linux libata | |
420 | support for smartmontools starting with the 2.6.15 kernel | |
421 | series. Also init script support for the 'tinysofa' release. | |
422 | ||
423 | [DG] [SCSI] Mask dpofua bit when changing mode pages. Fix failure | |
424 | of 'smartctl -l error'. | |
425 | ||
426 | [EM] Fixed a problem with FreeBSD and 3Ware 'twe' devices | |
427 | ||
428 | [CF] Fixed a regexp in knowndrives table, added regexp syntax check | |
429 | via 'smartctl -P showall'. | |
430 | ||
431 | [CF] Cygwin & Windows: Fixed memory leak in function calling | |
432 | IOCTL_IDE_PASS_THROUGH. Thanks to Fred Schmidt for the problem | |
433 | report. | |
434 | ||
435 | [CF] Cygwin: added cygrunsrv support and commands "install", "remove" | |
436 | and "status" to smartd.initd. | |
437 | ||
438 | [SS] Fix runtime problems on big-engian NetBSD platforms (patch provided | |
439 | by Martin Husemann) | |
440 | ||
441 | [CF] Cygwin smartd: Open smartd.conf in textmode to allow use of | |
442 | Windows editors. | |
443 | ||
444 | [CF] Cygwin smartd: Added option '--service' to allow smartd running | |
445 | as windows service via cygrunsrv. Useful in conjunction with new | |
446 | syslogd support added in Cygwin 1.5.15. | |
447 | ||
448 | [CF] Windows: Added patch to avoid output of non-ascii timezone names. | |
449 | ||
450 | [EM] Incorporate various patches to provide TWE support and support for | |
451 | multiple 3Ware cards, Power Check Support, and FreeBSD 6.x support. | |
452 | Thanks to Rudolf Cejka, Frank Behrens, and Jung-uk Kim. | |
453 | ||
454 | [DG] Silence gcc 4.0.1 compile warning concerning the difference in | |
455 | "signedness" in pointer assignments. Changes to SCSI code | |
456 | and os_linux.c . | |
457 | ||
458 | [PW] Additions to knowndrives table: added missing drive from Quantum | |
459 | Fireball Plus LM series, added QUANTUM BIGFOOT TS10.0A, added | |
460 | ExcelStor J680 and J880, added Western Digital Caviar RE Serial ATA | |
461 | series, added missing drives from Western Digital Caviar SE series, | |
462 | added Seagate Momentus 4200.2 series, added missing drives from | |
463 | Maxtor DiamondMax 10 series, added Fujitsu MHG and MHH series, and | |
464 | added Hitachi Travelstar 5K100 series. | |
465 | ||
466 | [PW] Additions to knowndrives table: added Fujitsu MHU2100AT, added | |
467 | Fujitsu M1623TAU, added missing drives from Seagate Barracuda | |
468 | 7200.8 series, added Seagate Momentus 5400.2 series, and added | |
469 | QUANTUM FIREBALL CR8.4A. | |
470 | ||
471 | [PW] Additions to knowndrives table: added missing drive from Maxtor | |
472 | MaxLine II series, added Maxtor DiamondMax 2880 Ultra ATA series, | |
473 | added Maxtor DiamondMax 17 VL series, added Hitachi Deskstar 7K80 | |
474 | series, and added Hitachi Deskstar 7K400 series. | |
475 | ||
476 | [CF] Windows: Fixed unsupported 'smartctl -X' on Win2000/XP by using | |
477 | IOCTL_IDE_PASS_THROUGH instead. | |
478 | ||
479 | smartmontools 5.34 Stable Release [NOTE: never officially released] | |
480 | ||
481 | [CF] Cygwin & Windows smartd: Increased SCSI DEVICESCAN range | |
482 | from ASPI adapter 0-3 to 0-9. Added diagnostic messages. | |
483 | ||
484 | [CF] Windows smartd: Added ability to run .bat files via '-M exec' | |
485 | directive. | |
486 | ||
487 | [CF] Cygwin smartd: Added FreeConsole() after fork() to avoid hang | |
488 | of terminated shell console window. | |
489 | ||
490 | [DG] [SCSI] Add code so 'smartctl -A' outputs the number of elements | |
491 | in the grown defect list. When this number is increasing a | |
492 | disk has problems. N.B. Similar logic should be added to smartd. | |
493 | ||
494 | [CF] Windows smartd: Fixed event handling to allow start of another | |
495 | smartd process when service is already running. Useful for testing | |
496 | service configuration changes in debug mode. | |
497 | ||
498 | [PW] Added following drives to knowndrives table: Western Digital Raptor | |
499 | family, Seagate Barracuda 7200.8 family, Maxtor DiamondMax 2160 | |
500 | Ultra ATA and DiamondMax 10 families, Hitachi Travelstar E7K60 | |
501 | family, Seagate Medalist 17240, 13030, 10231, 8420, and 4310, | |
502 | TOSHIBA MK4018GAP and MK6022GAX, ExcelStor Technology J360, and | |
503 | Western Digital Caviar AC14300. | |
504 | ||
505 | [PW] Added missing Fujitsu MHTxxxxAT and Seagate Barracuda 7200.7 drives | |
506 | to knowndrives table. | |
507 | ||
508 | [PW] Added QUANTUM FIREBALLP LM10.2 to knowndrives table. Thanks to | |
509 | Mike Fleetwood for submitting the patch. | |
510 | ||
511 | [KS] Solaris/SPARC: fixed not to disable automatic offline test and | |
512 | automatic save attributes incorrectly. Thanks to Roy Badami. | |
513 | ||
514 | [BA] Linux: smartd init script now recognizes 'trustix' distro. | |
515 | ||
516 | [DG] [SCSI] Medium and hardware errors were slipping through | |
517 | unreported. Fix linux SCSI sense reporting via SG_IO ioctl. | |
518 | ||
519 | [DG] [SCSI] Change lba of first failure in selftest output to | |
520 | decimal (was hex) to conform with ATA output. | |
521 | ||
522 | [GK] smartd: Detect most self-test failures even if the hour counter | |
523 | has wrapped. | |
524 | ||
525 | [BA] smartctl: list 'marvell' as option if user give invalid | |
526 | -d argument | |
527 | ||
528 | [CF] Windows: fixed SCSI timeout handling to allow long timeouts | |
529 | for selftests. | |
530 | ||
531 | [CF] Fixed buffer overflow issues in printone() and safe_vsnprintf() | |
532 | which results in crash on -V option (at least on Windows). | |
533 | ||
534 | [DG] [SCSI] Add explicit timeouts to INQUIRY and REQUEST SENSE (that | |
535 | were missed in an earlier patch). Could have impacted freebsd. | |
536 | ||
537 | [DG] When linux detects a sata_via_libata disk suggest that user try | |
538 | '-d ata' (rather then '-d libata). Anticipate kernel change. | |
539 | ||
540 | [YD] Added OS/2 and eComStation platform support. | |
541 | ||
542 | [PW] Added Seagate U4 family, Fujitsu MHJ and MHK families, Seagate | |
543 | Barracuda 5400.1, QUANTUM FIREBALLP KX27.3, QUANTUM FIREBALLP KA10.1, | |
544 | and ExcelStor J340 to knowndrives table. | |
545 | ||
546 | [DG] [SCSI] After report of Hitachi IC35L073UCDY10 disks locking up | |
547 | on log page 0x7 (last n error events), check log page (and some | |
548 | others) is supported (via log page 0x0) before probing. | |
549 | ||
550 | [CF] Added safe_v?snprintf() for platforms using v?snprintf() | |
551 | with non standard behaviour on overflow (Windows, old Linux) | |
552 | ||
553 | [CF] smartd: Added message if check power mode spins up disk. | |
554 | ||
555 | [CF] Windows: Added support for READ_LOG on WinNT4 using undocumented | |
556 | pseudo SCSI command via IOCTL_SCSI_PASS_THROUGH. | |
557 | ||
558 | [CF] smartd: Added ',q' option for '-n' directive to suppress 'skipping | |
559 | checks' log message. This prevents a laptop disk from spinning up | |
560 | due to this message. Thanks to Rob MacLachlan and Manfred Schwarb | |
561 | for pointing out problem & solution. | |
562 | ||
563 | [CF] Windows: Added function get_os_version_str() to show OS flavor in | |
564 | copyright message. | |
565 | ||
566 | [CF] Windows: Added function ata_identify_is_cached() to check for outdated | |
567 | SMART enabled bit in identify data. | |
568 | ||
569 | [CF] Windows: Added fix to prevent linkage of smartd specific win32 modules | |
570 | to smartctl. | |
571 | ||
572 | [PW] Added Fujitsu MPG3153AH, Hitachi Endurastar J4K20/N4K20 (formerly | |
573 | DK23FA-20J), Seagate Momentus family, and Maxtor Fireball 3 family | |
574 | to knowndrives table. | |
575 | ||
576 | [PW] Added missing Maxtor DiamondMax 16, Seagate Barracuda ATA IV, and | |
577 | Western Digital Caviar WDxxxAA/WDxxxBA drives to knowndrives table. | |
578 | ||
579 | [CF] Windows: Added ATA check power mode for smartd -n directive. | |
580 | ||
581 | [CF] Windows: Fixed use of new service status flag which causes hang | |
582 | of smartd service on WinNT4. | |
583 | ||
584 | [CF] Windows: Fixed error checking of IOCTL_IDE_PASS_THROUGH (used | |
585 | for READ_LOG on 2000/XP). Added some diagnostic messages on | |
586 | -r ataioctl[,2]. Thanks to Manfred Schwarb for bug report and testing. | |
587 | ||
588 | [BA] Fixed code bug that made it impossible to enable SMART on | |
589 | disks with failing health status. This would happen if the | |
590 | os_*.c author made STATUS and STATUS_CHECK work the same way. | |
591 | I have corrected this at a higher level; we now handle the | |
592 | case where STATUS and STATUS_CHECK are identical without | |
593 | issues. | |
594 | ||
595 | [LW] Make os_linux.c/marvell_command_interface() always return 0 on STATUS. | |
596 | Needed for a disk having bad SMART status. | |
597 | ||
598 | [CF] smartctl: Added drive family printing. | |
599 | ||
600 | [CF] autogen.sh: Allow automake 1.9, added message if automake | |
601 | version is unknown. | |
602 | ||
603 | [BA] smartctl: use locale-specific separators for printing disk | |
604 | capacity. Also use AC_CHECK_HEADERS not AC_CHECK_HEADER in | |
605 | configure.in. | |
606 | ||
607 | [BA] clean-up of #include structure so that -V options to smartd | |
608 | and smartctl work correctly. Please, don't #include header | |
609 | files into other header files. | |
610 | ||
611 | smartmontools 5.33 Experimental Release | |
612 | ||
613 | [BA] smartctl: ATA disks, if SMART ATTRIBUTE THRESHOLDS page has ID | |
614 | errors with some Attributes having NULL IDs, print Attribute | |
615 | info anyway (but issuing a warning to the user). | |
616 | ||
617 | [DG] [SCSI] Decode Last n error events log page; decode track following | |
618 | and positioning errors [Hitachi] | |
619 | ||
620 | [EM] FreeBSD: another tweak, __packed__ introduced in Version 5.0040 | |
621 | ||
622 | [EM] Cleaner tweak of fixes for FreeBSD 4.x. | |
623 | ||
624 | [EM] Fix compilation errors under FreeBSD 4.x, as it is still using | |
625 | and old GCC | |
626 | ||
627 | [EM] Remove 3ware/FreeBSD specific files and just include pieces we need | |
628 | ||
629 | [DG] Add logic in smartd to detect 3ware, Marvell controllers and SATA | |
630 | disks behind an ATA-SCSI simulator (in Linux). If specific device | |
631 | types are not given and they are picked in a general SCSI device | |
632 | scan then warn and skip. | |
633 | ||
634 | [GG] insert correct path to smartd into smartd's init script | |
635 | ||
636 | [BA] Changed all default paths in documentation to reflect /usr/local as | |
637 | default path prefix. This affects on-line man pages, primarily. | |
638 | ||
639 | [DS] Added support for OpenBSD | |
640 | ||
641 | [BA] Added another environment variable SMART_FULLMESSAGE set by | |
642 | the smartd mailing feature, and modified examplescripts/Example1 | |
643 | to illustrate it. | |
644 | ||
645 | [BA] Fixed potentially misleading messages of the form: | |
646 | XXX failed: success | |
647 | ||
648 | [DG] emit warning if SATA disk detected using libata in Linux; then exit | |
649 | ||
650 | [PW] Added Seagate U10 family, Hitachi Travelstar 7K60, Fujitsu MHR2020AT, | |
651 | and QUANTUM FIREBALLP AS20.5 to knowndrives table. | |
652 | ||
653 | [DG] Detect 3ware and Marvell controllers from SCSI INQUIRY vendor string | |
654 | and suggest usage of appropriate '-d' argument in smartctl. | |
655 | ||
656 | [LW] Tested the RELEASE_5_33_WITH_MARVELL_SUPPORT branch on | |
657 | actual Marvell 88SX5041 hardware, with success. | |
658 | Merged into HEAD. | |
659 | ||
660 | [BA] Fixed nasty DEVICESCAN bug | |
661 | ||
662 | [BA] Checked in RELEASE_5_33_WITH_MARVELL_SUPPORT branch with | |
663 | some Marvell support. | |
664 | ||
665 | [BA] Additional modifications of Ed's controller scheme. Fixed | |
666 | broken 3ware support under linux, problems with scanning | |
667 | devices in smartd, and other small problems. | |
668 | ||
669 | [CF] Added make targets to build formatted man pages (htmlman, txtman), | |
670 | Windows distribution (dist-win32) and MSVC6 config.h (config-vc6). | |
671 | ||
672 | [EM] Minor change to FreeBSD inclusion of 'twe' include files. Add | |
673 | code to check if they exising in /usr/include/sys to use those | |
674 | in preference to ones added here | |
675 | ||
676 | [EM] Very preliminary support attempt for 3Ware controllers under | |
677 | FreeBSD. Also, switched 'escalade_type/escalade_port' to | |
678 | 'controler_type/controller_port' and moved away from | |
679 | 'tryata/tryscsi' to using new 'controller*' variables to | |
680 | determine which controller type (ATA/SCSI/3Ware) to use. | |
681 | ||
682 | [GK] Added initscript support for Darwin. | |
683 | ||
684 | [CF] Windows smartd: Added ability to run smartd as a windows service, | |
685 | including new commands "smartd install ..." and "smartd remove" | |
686 | to install and remove the service registry entry. | |
687 | ||
688 | [BA] smartd: warn user if -s regexp regular expression contains | |
689 | characters other than 0123456789.*()|+?[-]{}:=SLCO since such | |
690 | characters are 'suspicous' and may indicate a poorly formed | |
691 | regexp. Extended regular expression gurus: can this list be | |
692 | reduced somewhat? | |
693 | ||
694 | [CF] Fixed bug in Windows smartd: Missing close of config file when | |
695 | configuration is reloaded by smartd daemon. | |
696 | ||
697 | [CF] Windows smartd: Added mail warning feature using the "Blat" | |
698 | (http://blat.sourceforge.net/) mailer as a default. | |
699 | ||
700 | [PW] Added Maxtor DiamondMax Plus 5120 Ultra ATA 33 series and TOSHIBA | |
701 | MK3017GAP to knowndrives table. | |
702 | ||
703 | [CF] Added fixes to build smartmontools on old Linux systems | |
704 | (libc < 6, Kernel 2.0.x). | |
705 | ||
706 | [BA] Added ATA minor version identity strings for latest ATA specification | |
707 | updates: ATA/ATAPI-7 T13 1532D revision 4a and ATA/ATAPI-6 published, | |
708 | ANSI INCITS 361-2002 | |
709 | ||
710 | [PW] Added Hitachi Travelstar 5K80 family and Fujitsu MHTxxxxAH family to | |
711 | knowndrives table. | |
712 | ||
713 | [EM] Fix up compilation under FreeBSD < 5.x | |
714 | ||
715 | [PW] Added QUANTUM FIREBALL EX3.2A and missing Western Digital Caviar SE | |
716 | drives to knowndrives table. | |
717 | ||
718 | [BA] Modified Hitachi Travelstar 80GN family regexp in drive database. | |
719 | Thanks to [GK/CF] for problem & solution. | |
720 | ||
721 | [GK] Added os_darwin.[ch] | |
722 | ||
723 | [PW] Added the following drives to the knowndrives table: IBM Travelstar | |
724 | 48GH, 30GN, and 15GN family; IBM Deskstar 37GP and 34GXP family; | |
725 | Western Digital WDC WD272AA; Maxtor DiamondMax D540X-4D family; | |
726 | TOSHIBA MK2016GAP, MK2018GAP, MK2018GAS, MK2023GAS; and | |
727 | QUANTUM FIREBALL ST3.2A | |
728 | ||
729 | [BA] smartd/smarctl now print build HOST/OS information as part | |
730 | of startup slogan. This should make it slightly easier to | |
731 | read bug reports from users. | |
732 | ||
733 | [RZ] Fixed the DEVICESCAN to do what it was supposed to do - give | |
734 | error message unless scanning is in progress. | |
735 | ||
736 | [BA] Update documentation to describe 3ware character devices. Better | |
737 | error detection for missing/malfunctioning devices behind 3ware | |
738 | controllers. Now pack 3ware ioctl structures explicitly. | |
739 | ||
740 | [BA] For ATA devices that support LBA mode, print capacity as part | |
741 | of smartctl --info | |
742 | ||
743 | [RZ] Made DEVICESCAN quiet about non-existing devices unless debug | |
744 | is on. | |
745 | ||
746 | [DG] treat "unit attention" SCSI warning as try again in some contexts | |
747 | (test unit ready and mode sense) | |
748 | ||
749 | [BA] on drives that store max/min rather than min/max, get order | |
750 | correct in printing temp. | |
751 | ||
752 | [BA] fixed typo in 'smartctl -h' output. Thanks to Gabor Z. Papp. | |
753 | ||
754 | [BA] linux: clean-up to 3ware/AMCC support; dynamically create | |
755 | or fix /dev/tw[ae][0-15] device node entries if they don't | |
756 | exist or are incorrect. One can now use the character devices | |
757 | /dev/twe[0-15] OR /dev/sd? for 3ware 6000/7000/8000 series | |
758 | cards. One must use /dev/twa[0-15] for 3ware 9000 series cards. | |
759 | Note that selective self-tests now work via /dev/tw[ae] devices. | |
760 | Next step: documentation. | |
761 | ||
762 | [BA] linux: experimental "support" for 3ware/AMCC 9000 series | |
763 | controllers that use the 3w-9xxx driver. This will be in a | |
764 | state of flux for a few days. Note that this requires the | |
765 | character interface /dev/twa[0-15]. | |
766 | ||
767 | [DG] linux: extend general SCSI OS interface to use the SG_IO ioctl. If | |
768 | not available, use the older SCSI_IOCTL_SEND_COMMAND ioctl. | |
769 | ||
770 | [KS] Solaris/x86: fixed system identification problem in configure | |
771 | script. Thanks to Stuart Swales. | |
772 | ||
773 | smartmontools 5.32 | |
774 | ||
775 | [BA] Update link to revised/updated IBM Deskstar Firmware | |
776 | ||
777 | [CF] Cygwin & Windows: Added missing ASPI manager initialization | |
778 | with GetASPI32SupportInfo(). Thanks to Nikolai SAOUKH for pointing | |
779 | this out and providing a patch. | |
780 | ||
781 | [BA] modified smartd init script to work on whitebox (thanks to | |
782 | Michael Falzon) | |
783 | ||
784 | [BA] removed (reverted) additional Attribute definitions from | |
785 | http://smart.friko.pl/attributes.php. All (or most?) of these | |
786 | appear to be return code values for the WD Digital Life Guard Utility. | |
787 | ||
788 | [PW] Added Seagate Medalist 17242, 13032, 10232, 8422, and 4312 to | |
789 | knowndrives table. Added missing Seagate U Series 5 drives. | |
790 | ||
791 | [PW] Added the following QUANTUM models to knowndrives table: | |
792 | FIREBALL EX6.4A, FIREBALLP AS10.2, FIREBALLP AS40.0, FIREBALL CR4.3A, | |
793 | FIREBALLP LM15, FIREBALLP LM30, and FIREBALLlct20 30 | |
794 | ||
795 | [PW] Added missing Western Digital Protege drives to knowndrives table. | |
796 | ||
797 | [PW] Added Maxtor DiamondMax 40 ATA 66 series and DiamondMax 40 VL Ultra | |
798 | ATA 100 series to knowndrives table. | |
799 | ||
800 | [PW] Added the following Hitachi/IBM drives to knowndrives table: | |
801 | HITACHI_DK14FA-20B, Travelstar 40GNX series, Travelstar 4LP series, | |
802 | and Travelstar DK23XXB series. Added the missing Travelstar 80GN | |
803 | drives. | |
804 | ||
805 | [PW] Added Fujitsu MPB series and MPG series to knowndrives table. Added | |
806 | the missing Fujitsu MHSxxxxAT drives. | |
807 | ||
808 | [KS] Solaris: added workaround for dynamic change of time-zone. | |
809 | ||
810 | [KS] Solaris: fixed problem that autogen.sh cannot detect absence of | |
811 | auto* tools. | |
812 | ||
813 | [BA] smartd: added time-zone bug information to man page. | |
814 | Reverted CF code for _WIN32 case. | |
815 | ||
816 | [CF] Cygwin & Windows: Added better error messages on IDE/ATA device | |
817 | open error. | |
818 | ||
819 | [BA] added additional Attribute definitions from | |
820 | http://smart.friko.pl/attributes.php | |
821 | ||
822 | [BA] smartd: reworked TimeZone bug workaround so it is only invoked | |
823 | for glibc. Note: this might not be right -- a similar bug may | |
824 | exist in other platform's libcs. | |
825 | ||
826 | [DG] SCSI smartmontools documentation updated [2004/5/6]. See: | |
827 | http://smartmontools.sourceforge.net/smartmontools_scsi.html | |
828 | ||
829 | [CF] Windows: Fixed reset of TZ=GMT in glibc timezone bug workaround. | |
830 | ||
831 | smartmontools 5.31 | |
832 | ||
833 | [DG] move SCSI device temperature and start-stop log page output | |
834 | (smartctl) into --attributes section (was in --info section). | |
835 | ||
836 | [GG] change default installation location to /usr/local | |
837 | ||
838 | [CF] Cygwin smartd: Fixed crash on access of SCSI devices after fork(). | |
839 | ||
840 | [PW] Added TOSHIBA MK4018GAS and the following Maxtor drive families | |
841 | to knowndrives table: DiamondMax D540X-4G, Fireball 541DX, | |
842 | DiamondMax 3400 Ultra ATA, DiamondMax Plus 6800 Ultra ATA 66. | |
843 | ||
844 | [PW] Added missing Maxtor DiamondMax 16, DiamondMax D540X-4K, and | |
845 | DiamondMax Plus 45 Ulta ATA 100 drives to knowndrives table. | |
846 | ||
847 | [PW] Added ExcelStor J240, Hitachi Travelstar 80GN family, Fujitsu | |
848 | MHTxxxxAT family, and IBM Deskstar 25GP and 22GXP families to | |
849 | knowndrives table. | |
850 | ||
851 | [CF] Cygwin smartd: Added workaround for missing SIGQUIT via keyboard: | |
852 | To exit smartd in debug mode, type CONTROL-C twice. | |
853 | ||
854 | [BA] smartctl: printing of the selective self-test log is now | |
855 | controlled by a new option: -l selective | |
856 | ||
857 | [BA] Added entries for Samsung firmware versions -25 to -39 based | |
858 | on latest info about firmware bug fixes. | |
859 | ||
860 | [PW] Added Seagate U Series X family, Seagate U8 family, and Seagate | |
861 | Medalist 8641 family to knowndrives table. | |
862 | ||
863 | [CF] smartd: Added exit values 5/6 for missing/unreadable config file. | |
864 | ||
865 | [BA] smartd: now monitor the Current Pending Sector count (Attribute 197) | |
866 | and the Offline Pending Sector Count (Attribute 198). Log a | |
867 | warning (and send an email, if so configured) if the raw count | |
868 | is nonzero. These are controlled by new Directives: -C and -U. | |
869 | Currently they are enabled by default. | |
870 | ||
871 | [CF] Added option -c FILE, --configfile=FILE to smartd to specify | |
872 | an alternate configuration FILE or '-' for standard input. | |
873 | ||
874 | [KS] configure.in now searches for -lnsl and -lsocket for Solaris. | |
875 | ||
876 | [CF] Win32/native smartd: Added thread to combine several syslog output | |
877 | lines into one single event log entry. | |
878 | ||
879 | [CF] Win32 smartd: Added DEVICESCAN for SCSI/ASPI devices. | |
880 | ||
881 | [GG] Use gethostbyname() the get the DNS domain since getdomainname() | |
882 | returns the NIS domain when sending mails from smartd. | |
883 | ||
884 | [GG] smartd.init.in: pass smartd_opts to smartd on startup, read distribution | |
885 | specific configuration files if found | |
886 | ||
887 | [SS] smartctl: added NetBSD support for Selective Self-tests. | |
888 | ||
889 | [BA] smartd.conf example configuration file now has all examples | |
890 | commented out except for 'DEVICESCAN'. | |
891 | ||
892 | [CF] Win32/native smartd: Added ability to display warning "emails" | |
893 | as message box by "-m msgbox" directive. With "-m sysmsgbox", | |
894 | a system modal (always on top) message box is shown. | |
895 | ||
896 | [BA] smartctl: printing of self-test log for disks that support | |
897 | Selective self-testing now shows the status of the (optional) | |
898 | read-scan after the selective self test. Also, changed format | |
899 | in printing self-test log to print failing LBA in base 10 not | |
900 | base 16 (more compatible with kernel error messages). Also, | |
901 | in printing SMART error log, print timestamps in format | |
902 | days+hours+minutes+seconds. | |
903 | ||
904 | [CF] Win32 smartd: Added ability to log to stdout/stderr | |
905 | (-l local1/2). Toggling debug console still works | |
906 | if stdout is redirected. | |
907 | ||
908 | [BA] smartctl: selective self-test log, print current status | |
909 | in a more detailed way. Allow writing of selective self-test | |
910 | log provided that no other self-test is underway. | |
911 | ||
912 | [BA] Linux: eliminated dependency on kernel tree hdreg.h. | |
913 | ||
914 | [BA] smartctl: -l selftest option now prints Selective self-test | |
915 | log in addition to the normal self-test log. | |
916 | Added additional options (-t pending, -t afterselect) to | |
917 | control remaining Selective Self-test capabilities. Tested | |
918 | with several Maxtor disks. Modified error message printing | |
919 | so that munged option messages print at the end not the | |
920 | start of output. | |
921 | ||
922 | [CF] Added daemon support to Win32 native version of smartd. | |
923 | The daemon can be controlled by commands similar to initd | |
924 | scripts: "smartd status|stop|reload|restart|sigusr1|sigusr2". | |
925 | ||
926 | [CF] Added minor support for option "-l local[0-7]" to Win32 native | |
927 | (not Cygwin) version of smartd. If specified, the log output | |
928 | is written to file "./smartd[1-7]?.log" instead of event log. | |
929 | ||
930 | [BA] Added Selective Self-test to smartctl (-t selective,M-N). | |
931 | Currently only supported under Linux; Solaris, NetBSD, FreeBSD | |
932 | and Windows developers must add WRITE LOG functionality to | |
933 | os_*.c | |
934 | ||
935 | [BA] Added workaround for an annoying glibc bug: if you change | |
936 | timezones, (eg, flying with a laptop from USA to Europe) | |
937 | localtime() does not notice this in a running | |
938 | executable, so time that appears in the system log (syslog!) | |
939 | will be incorrect. See | |
940 | http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=48184 | |
941 | for additional examples of this bug. | |
942 | ||
943 | [DG] Set explicit timeouts for SCSI commands (most default to 6 seconds). | |
944 | Previously a 0 second timeout was meant to be interpreted as a | |
945 | default timeout but the FreeBSD port had a problem in this area. | |
946 | ||
947 | [CF] Fixed un-thread-safe exit signal handler for Win32 | |
948 | ||
949 | [BA] Fixed un-thread-safe exit signal handler pointed out | |
950 | by CF. | |
951 | ||
952 | [BA] Changed configure script to eliminate warnings under | |
953 | Solaris from sys/int_type.h conflicts with int64.h | |
954 | Added header files for umask to smartd.c. | |
955 | ||
956 | [BA] Man page format change from Werner LEMBERG. " " changed to \& | |
957 | ||
958 | [CF] Added os_win32/syslogevt.* event message file tool for Win32 | |
959 | smartd (native+cygwin). May also be useful for other cygwin | |
960 | programs writing to syslog(). | |
961 | ||
962 | [CF] Added Win32 version of smartd | |
963 | ||
964 | [CF] Merged RELEASE_5_26_WIN32_BRANCH | |
965 | ||
966 | [BA] Made some changes to man page markup suggested by | |
967 | Richard Verhoeven to work around bugs in man2html. | |
968 | Tested not to break anything under Linux and Solaris. | |
969 | ||
970 | [CF] Moved PrintOut() from utility.c to smart{ctl,d}.c to avoid | |
971 | syslog() output of smartctl. | |
972 | ||
973 | [BA] Grew worried that some time-zone names could be very long (eg, | |
974 | Mitteleuropaische Zeit) and put date string lengths into a | |
975 | single macro in utility.c | |
976 | ||
977 | [EM] Updated os_freebsd.c to handle older versions of FreeBSD in a | |
978 | more appropriate/obvious fashion. | |
979 | ||
980 | [EM] Modified autogen.sh as FreeBSD installs automake 1.7 as | |
981 | 'automake17' and NOT 'automake-1.7' | |
982 | ||
983 | smartmontools 5.30 | |
984 | ||
985 | [PW] Added QUANTUM FIREBALLlct15 30, QUANTUM FIREBALLlct20 40, and | |
986 | Maxtor 6Y060P0 (DiamondMax Plus 9 60GB) to knowndrives table. | |
987 | ||
988 | [PW] Added Maxtor MaXLine II family to knowndrives table (thanks to | |
989 | Brett Russ for submitting the patch). | |
990 | ||
991 | [BA] Added remaining read/write commands to detailed list of | |
992 | error log commands that have text descriptions of problem | |
993 | printed. For commands that support it, print number of failed | |
994 | sectors at problem LBA. | |
995 | ||
996 | [BA] Made SuSE section of smartd init script more SuSE 9 compatible. | |
997 | Thanks to Hans-Peter Jansen. | |
998 | ||
999 | [CF] Windows smartd: Added IDE/ATA device scan | |
1000 | Added windows device names to smartctl.8.in, smartd.8.in | |
1001 | ||
1002 | [BA] smartctl/smartd: user-provided '-F samsung' and '-F samsung2' | |
1003 | command line options/Directives did NOT over-ride preset values | |
1004 | unless user specified '-P ignore'. Now they will always over-ride | |
1005 | preset values from the database. | |
1006 | ||
1007 | [BA] Added error decoding for a few more READ and WRITE commands. | |
1008 | ||
1009 | [PW] Added Maxtor MaXLine Plus II, Western Digital Caviar SE (Serial ATA) | |
1010 | series, Hitachi Deskstar 7K250 series, and Ultra ATA 66 models of | |
1011 | the Maxtor DiamondMax Plus 40 series to knowndrives table. | |
1012 | ||
1013 | [BA] Added Maxtor Diamondmax 250 GB drives to database. Note that | |
1014 | these model numbers are not listed in Maxtor documentation, but | |
1015 | they exist. | |
1016 | ||
1017 | [BA] Removed the 'contact developers' phrase from the Samsung disk | |
1018 | warning messages. | |
1019 | ||
1020 | [PW] Added TOSHIBA MK2017GAP, IBM Deskstar 14GXP and 16GP series, | |
1021 | Fujitsu MPC series, Seagate Barracuda ATA III family, and missing | |
1022 | Seagate Barracuda U Series drives to knowndrives table | |
1023 | ||
1024 | [BA] smartd: wrong loglevel for message: Configuration file | |
1025 | /etc/smartd.conf parsed. Changed to LOG_INFO from LOG_CRIT. | |
1026 | Thanks to Emmanuel CHANTREAU for the report. | |
1027 | ||
1028 | [CF] Checked in development version of windows code base. | |
1029 | ||
1030 | smartmontools 5.29 (note: there was NO 5.28 release) | |
1031 | ||
1032 | [BA] smartd: configure script did not set correct directory to search for | |
1033 | smartd.conf based on --prefix argument to ./configure. Thanks to | |
1034 | GG for identifying the problem and fix. | |
1035 | ||
1036 | [BA] make clean now removes man pages (generated from *.in) files as well | |
1037 | as object files. | |
1038 | ||
1039 | [EM] Correct copying of sense data in FreeBSD SCSI implementation. Thanks | |
1040 | to Sergey Svishchev for noticing the bug. | |
1041 | ||
1042 | [BA] On solaris, wrong warning message if no ATA support. Warning message | |
1043 | concerns 3ware controller, not ATA. | |
1044 | ||
1045 | [SS] Added SCSI support for NetBSD. | |
1046 | ||
1047 | [BA] on big-endian linux machines, fixed interpretation of HDIO_GET_IDENTITY | |
1048 | to correctly identify ATAPI bit (was byte swapped). This should | |
1049 | eliminate some SYSLOG noise if user queries a packet device (eg, CD | |
1050 | ROM or DVD reader). | |
1051 | ||
1052 | [PW] Removed warning for IBM Deskstar 40GV & 75GXP series drives with | |
1053 | A5AA/A6AA firmware. Thanks to Gerald Schnabel. | |
1054 | ||
1055 | [PW] Added Toshiba TOS MK3019GAXB SUN30G to knowndrives table | |
1056 | ||
1057 | [PW] Added Western Digital Caviar AC12500, AC24300, AC25100, AC36400, | |
1058 | and AC38400 to knowndrives table | |
1059 | ||
1060 | [BA] When printing ATA error log, print the LBA at which READ | |
1061 | or WRITE commands failed. | |
1062 | ||
1063 | [BA] Changed syntax of error message in smartctl | |
1064 | ||
1065 | [BA] Added versioning info (-V options to smartd/smartctl) for | |
1066 | Solaris ATA module. | |
1067 | ||
1068 | smartmontools 5.27 | |
1069 | ||
1070 | [KS] Added ATA/IDE support for Solaris/SPARC (ATA/IDE not yet for | |
1071 | Solaris/x86). | |
1072 | ||
1073 | [BA] 3ware controllers: documented that one can monitor any of the | |
1074 | physical disks from any of the 3ware /dev/sd? logical devices. | |
1075 | Better warnings if querying a disk that does not exist. | |
1076 | ||
1077 | [PW] Added Hitachi Travelstar DK23DA series, Maxtor DiamondMax Plus 40 | |
1078 | series, Western Digital Caviar WDxxxAA, WDxxxBA, and WDxxxAB series | |
1079 | to knowndrives table | |
1080 | ||
1081 | [BA] missing 'pragma pack' on ATA IDENTIFY DEVICE structure may have | |
1082 | caused odd or incorrect results on 64-bit machines. | |
1083 | ||
1084 | [BA] smartctl/smartd allow inspection of self-test and error logs even | |
1085 | if disk firmware claims that these don't exist. This is needed | |
1086 | for some Maxtor disks whose firmware does not indicate log support | |
1087 | even though the disk DOES support it. | |
1088 | ||
1089 | [BA] Improved porting instructions and documentation in os_generic.c | |
1090 | ||
1091 | [PW] Add Western Digital Caviar WD136AA and SAMSUNG SP40A2H (RR100-07 | |
1092 | firmware) to knowndrives table. | |
1093 | ||
1094 | [EM] FreeBSD: remove extra definition of FreeNonZero | |
1095 | ||
1096 | [BA] smartctl: the -q silent option was printing output for some | |
1097 | error conditions. Fixed. Will rename relevant variables to help | |
1098 | avoid these errors in the future. | |
1099 | ||
1100 | [SS] NetBSD port added. | |
1101 | ||
1102 | [BA] more sensible error messages for devfs and devfs-like systems. | |
1103 | Instead of saying that the DIRECTORY does not exist, say that | |
1104 | the DEVICE does not exist. | |
1105 | ||
1106 | [BA] smartd: added -n Directive, to prevent disk spin-up depending | |
1107 | upon the power mode (SLEEP, STANDBY, or IDLE). | |
1108 | ||
1109 | [PW] Added Maxtor DiamondMax 20 VL series, Fujitsu MPF series, | |
1110 | Maxtor DiamondMax 36 series, Maxtor DiamondMax 4320 series, and | |
1111 | Maxtor DiamondMax 536DX series to knowndrives table. | |
1112 | ||
1113 | [BA] many warning messages now give the file name AND VERSION | |
1114 | ||
1115 | [BA] smartd: when the user provides multiple address recipients | |
1116 | to the '-m' Directive in a comma-delineated list, the commas | |
1117 | are stripped out before passing the list of addresses to the | |
1118 | mailer program. (Thanks to Calin A. Culianu for pointing this out | |
1119 | and providing a patch.) | |
1120 | ||
1121 | [BA] smartd: when the '-M exec path' Directive is used, any stdout OR | |
1122 | stderr output from the executable "path" is assumed to indicate a | |
1123 | problem, and is echoed to SYSLOG. | |
1124 | ||
1125 | [BA] Added all missing IBM/Hitachi Deskstar 180GXP models to knowndrives | |
1126 | table. | |
1127 | ||
1128 | [PW] Added some missing IBM/Hitachi Deskstar 120GXP models to knowndrives | |
1129 | table. | |
1130 | ||
1131 | [PW] Added IBM Travelstar 14GS to knowndrives table. | |
1132 | ||
1133 | [PW] Modified knowndrives table to match entire Hitachi Travelstar | |
1134 | DK23BA and DK23EA series of drives (thanks to Norikatsu Shigemura | |
1135 | for submitting the patch). | |
1136 | ||
1137 | [PW] Added some missing Fujitsu MPE series drives to knowndrives table. | |
1138 | ||
1139 | [PW] Added TOSHIBA MK4019GAX, TOSHIBA MK6409MAV, and QUANTUM | |
1140 | FIREBALLlct15 20 to knowndrives table. | |
1141 | ||
1142 | [EM] Fixup example command output for FreeBSD | |
1143 | ||
1144 | [PW] Added Maxtor DiamondMax 80 family to knowndrives table. | |
1145 | ||
1146 | [EM] Catch up FreeBSD code to switch PROJECTHOME to PACKAGE_HOMEPAGE | |
1147 | macros. | |
1148 | ||
1149 | [BA] smartd: now watches stdout/stderr when trying to run mail, mailx | |
1150 | or mail warning script, and reports any output to SYSLOG. This | |
1151 | gives a clearer error message if something is wrong. | |
1152 | ||
1153 | [BA] smartd: Solaris init script modified to accomodate grep that | |
1154 | lacks '-q' quiet option. Also check for running process to kill | |
1155 | on stop. | |
1156 | ||
1157 | [PW] Added some missing Seagate Barracuda 7200.7 and 7200.7 Plus drives | |
1158 | to knowndrives table. | |
1159 | ||
1160 | [PW] Added Maxtor DiamondMax Plus 60 family and Seagate U Series 5 20413 | |
1161 | to knowndrives table. | |
1162 | ||
1163 | [BA] smartd: under Solaris, made default mailer be 'mailx' not | |
1164 | 'mail', since Solaris 'mail' does not accept a '-s' argument. | |
1165 | A workaround for Solaris users of earlier versions is to | |
1166 | have '-M exec /bin/mailx' in their smartd.conf config file. | |
1167 | ||
1168 | [DG] some SCSI controllers don't like odd length transfers so make | |
1169 | sure LOG SENSE transfers are rounded up to an even number when | |
1170 | and odd length is reported (i.e. there is a double fetch, the | |
1171 | first to find the length, the second gets the data) | |
1172 | ||
1173 | [BA] smartd man pages: under Solaris, correct section numbers in the | |
1174 | 'See also' section. | |
1175 | ||
1176 | [KS/BA] smartd man page: describe how to set Solaris syslog.conf | |
1177 | file to catch all messages. Give correct Solaris SYSLOG default | |
1178 | path /var/adm/messages in man pages. | |
1179 | ||
1180 | [BA] smartd: incorporated Debian startup script submitted by user. | |
1181 | ||
1182 | [BA] smartctl: modified printing of self-test log entry number. Seagate | |
1183 | firmware can leave 'holes' in the self-test log while a test is | |
1184 | actually running. We now print entry numbers consistently in this | |
1185 | case, not assuming that entries are contiguous. | |
1186 | ||
1187 | [PW] Added QUANTUM FIREBALL CX10.2A and Western Digital Caviar AC23200L | |
1188 | to knowndrives table. | |
1189 | ||
1190 | [PW] Added QUANTUM FIREBALLlct20 20 to knowndrives table. | |
1191 | ||
1192 | [PW] Added Maxtor DiamondMax Plus D740X family to knowndrives table. | |
1193 | ||
1194 | [PW] Added IBM Travelstar 32GH, 30GT, and 20GN family to knowndrives | |
1195 | table. | |
1196 | ||
1197 | [BA] Slackware init script modified to search for /etc/slackware-version | |
1198 | rather than /etc/slackware-release. | |
1199 | ||
1200 | [PW] Added Seagate Barracuda ATA II family and TOSHIBA MK4019GAXB to | |
1201 | knowndrives table. | |
1202 | ||
1203 | [GG] explain howto use autoreconf in autogen.sh | |
1204 | ||
1205 | [KS] Makefile.am/configure.in: changed manual page sections for | |
1206 | Solaris. | |
1207 | ||
1208 | [BA] smartd: reduced number of scheduled self-test messages if | |
1209 | test already run in current hour. | |
1210 | ||
1211 | [PW] Added Maxtor DiamondMax Plus 8 family to knowndrives table. | |
1212 | ||
1213 | [BA] linux: check for linux/hdreg.h. If it's there, use it. If | |
1214 | not, provide the necessary definitions ourselves. | |
1215 | ||
1216 | [PW] Removed warning for IBM Deskstar 40GV & 75GXP series drives | |
1217 | with TXAOA5AA firmware | |
1218 | ||
1219 | [PW] Added IBM Travelstar 25GS, 18GT, and 12GN family to knowndrives | |
1220 | table. | |
1221 | ||
1222 | [PW] Added IBM/Hitachi Travelstar 60GH & 40GN family to knowndrives | |
1223 | table. | |
1224 | ||
1225 | [BA] smartd: made '-s' Directive more efficient. Now store | |
1226 | compiled regex, and re-use. If device lacks certain self-test | |
1227 | capabilities, track it and don't try again. | |
1228 | ||
1229 | [BA] smartd: made memory allocation for device lists completely | |
1230 | dynamic (eliminating compile-time maximum length constants). | |
1231 | ||
1232 | [PW] Removed warning for SAMSUNG SP0802N with TK100-23 firmware | |
1233 | ||
1234 | [PW] Added Seagate Barracuda ATA IV family to knowndrives table. | |
1235 | ||
1236 | [BA] smartd: reduce per-device memory footprint by making | |
1237 | mail-warning info dynamically allocated. Also remove | |
1238 | potential memory leak if use has -m Directive twice and | |
1239 | keeps reloading the config file (highly unlikely this would | |
1240 | ever be noticed!) | |
1241 | ||
1242 | [DG] smartd: added SCSI scheduled self-tests (Background | |
1243 | short or extended). | |
1244 | ||
1245 | [BA] smartd: can now run scheduled offline immediate and | |
1246 | self-tests. See man page and -s Directive for details. | |
1247 | ||
1248 | [GG] don't include manpages in make-dist-tarball. | |
1249 | ||
1250 | [BA] smartctl: on-line examples given with -h are now correct | |
1251 | for solaris and linux, but wrong for freebsd. Ed? | |
1252 | ||
1253 | [BA] smartd: man page now explains device scanning for solaris as | |
1254 | well as linux and freebsd. | |
1255 | ||
1256 | [BA] smartd/smartctl: man pages now report correct CVS tag release | |
1257 | date, and executables '-V' options reports more build info. | |
1258 | ||
1259 | smartmontools 5.26 | |
1260 | ||
1261 | [BA] Improved user messages that appear from 'make install' | |
1262 | ||
1263 | [PW] Removed warning for SAMSUNG SP1213N with firmware TL100-23 | |
1264 | ||
1265 | [BA] incorporated SuSE init script from user. | |
1266 | ||
1267 | [DG] if SCSI device is read only, then open it read only. | |
1268 | ||
1269 | [BA] when compiled on non-supported system (NOT linux, freebsd or solaris) then | |
1270 | the run-time error messages now clearly say 'your system is not supported' | |
1271 | and give clear directions. | |
1272 | ||
1273 | [BA] ./configure script now works correctly on SuSE linux boxes | |
1274 | ||
1275 | [BA] minor improvements to man pages | |
1276 | ||
1277 | [BA] simplified detection of packet (ATAPI, CD) devices. | |
1278 | ||
1279 | [BA] init script (redhat, mandrake, yellowdog) now uses correct | |
1280 | strings for translation and is slightly more standard. | |
1281 | ||
1282 | [DG] smartctl: output scsi Seagate vendor pages for disks (not tapes) | |
1283 | ||
1284 | smartmontools 5.25 | |
1285 | ||
1286 | Note: there was no '5.24' release. From this point on, even numbered | |
1287 | releases will be 'stable' ones and odd numbered releases will be | |
1288 | unstable/testing/development ones. | |
1289 | ||
1290 | [DG] smartd/smartctl: changed scsiClearControlGLTSD() to | |
1291 | scsiSetControlGLTSD() with an 'enabled' argument so '-S on' | |
1292 | and '-S off' work for SCSI devices (if changing GLTSD supported). | |
1293 | ||
1294 | [BA] smartd/smartctl: wired in scsiClearControlGLTSD(). Could still | |
1295 | use a corresponding Set function. Left stubs for this purpose. | |
1296 | ||
1297 | [DG] scsicmds: added scsiClearControlGLTSD() [still to be wired in] | |
1298 | ||
1299 | [BA] smartctl: make SCSI -T options behave the same way as the | |
1300 | ATA ones. | |
1301 | ||
1302 | [DG] smartctl: output scsi transport protocol if available | |
1303 | ||
1304 | [DG] scsi: stop device scan in smartd and smartctl if badly formed | |
1305 | mode response [heuristic to filter out USB devices before we | |
1306 | (potentially) lock them up]. | |
1307 | ||
1308 | [BA] smartd: deviceclose()->CloseDevice(). Got rid of SCSIDEVELOPMENT | |
1309 | macro-enabled code. Added -W to list of gcc specific options to | |
1310 | always enable. Made code clean for -W warnings. | |
1311 | ||
1312 | [PW] Added Maxtor DiamondMax VL 30 family to knowndrives table. | |
1313 | ||
1314 | [DG] scsi: add warning (when '-l error' active) if Control mode page | |
1315 | GLTSD bit is set (global disable of saving log counters) | |
1316 | ||
1317 | [DG] scsi: remember mode sense cmd length. Output trip temperature | |
1318 | from IE lpage (IBM extension) when unavailable from temp lpage. | |
1319 | ||
1320 | [BA] smartd: for both SCSI and ATA now warns user if either | |
1321 | the number of self-test errors OR timestamp of most | |
1322 | recent self-test error have increased. | |
1323 | ||
1324 | [DG] smartctl: output Seagate scsi Cache and Factory log pages (if | |
1325 | available) when vendor attributes chosen | |
1326 | ||
1327 | [DG] smartd: add scsiCountFailedSelfTests() function. | |
1328 | ||
1329 | [DG] Do more sanity checking of scsi log page responses. | |
1330 | ||
1331 | [BA] smartd: now warns user if number of self-test errors has | |
1332 | increased for SCSI devices. | |
1333 | ||
1334 | [BA] smartd: warn user if number of ATA self-test errors increases | |
1335 | (as before) OR if hour time stamp of most recent self-test | |
1336 | error changes. | |
1337 | ||
1338 | [DG] More checks for well formed mode page responses. This has the side | |
1339 | effect of stopping scans on bad SCSI implementations (e.g. some | |
1340 | USB disks) prior to sending commands (typically log sense) that | |
1341 | locks them up. | |
1342 | ||
1343 | [PW] Added Western Digital Caviar family and Caviar SE family to | |
1344 | knowndrives table. | |
1345 | ||
1346 | [BA] smartd: added -l daemon (which is the default value if -l | |
1347 | is not used). | |
1348 | ||
1349 | [PW] Added Seagate Barracuda ATA V family to knowndrives table. | |
1350 | ||
1351 | [BA] smartd: added additional command line argument -l FACILITY | |
1352 | or --logfacility FACILITY. This can be used to redirect | |
1353 | messages from smartd to a different file than the one used | |
1354 | by other system daemons. | |
1355 | ||
1356 | [PW] Added Seagate Barracuda 7200.7, Western Digital Protege WD400EB, | |
1357 | and Western Digital Caviar AC38400 to knowndrives table. | |
1358 | ||
1359 | [BA] smartd: scanning should now also work correctly for | |
1360 | devfs WITHOUT traditional links /dev/hd[a-t] or /dev/sd[a-z]. | |
1361 | ||
1362 | [PW] Added Maxtor 4W040H3, Seagate Barracuda 7200.7 Plus, | |
1363 | IBM Deskstar 120GXP (40GB), Seagate U Series 20410, | |
1364 | Fujitsu MHM2100AT, MHL2300AT, MHM2150AT, and IBM-DARA-212000 | |
1365 | to knowndrives table. | |
1366 | ||
1367 | [PW] Added remaining Maxtor DiamondMax Plus 9 models to knowndrives | |
1368 | table. | |
1369 | ||
1370 | [EM] smartd: If no matches found, then return 0, rather than an error | |
1371 | indication, as it just means no devices of the given type exist. | |
1372 | Adjust FreeBSD scan code to mirror Linux version. | |
1373 | ||
1374 | [BA] smartd: made device scan code simpler and more robust. If | |
1375 | too many devices detected, warn user but scan as many | |
1376 | as possible. If error in scanning, warn user but don't | |
1377 | die right away. | |
1378 | ||
1379 | [EM] smartd: To keep as consistent as possible, migrate FreeBSD | |
1380 | devicescan code to also use glob(3). Also verified clean | |
1381 | compile on a 4.7 FreeBSD system. | |
1382 | ||
1383 | [BA] smartd: Modified device scan code to use glob(3). Previously | |
1384 | it appeared to have trouble when scanning devices on an XFS | |
1385 | file system, and used non-public interface to directory | |
1386 | entries. Problems were also reported when /dev/ was on an | |
1387 | ext2/3 file system, but there was a JFS partition on the same | |
1388 | disk. | |
1389 | ||
1390 | [BA] Clearer error messages when device scanning finds no suitable | |
1391 | devices. | |
1392 | ||
1393 | [EM] FreeBSD: Fixup code to allow for proper compilation under | |
1394 | -STABLE branch. | |
1395 | ||
1396 | smartmontools 5.23 | |
1397 | ||
1398 | [BA] smartd: didn't close file descriptors of ATA packet devices | |
1399 | that are scanned. Fixed. | |
1400 | ||
1401 | [BA] Added reload/report targets to the smartmontools init script. | |
1402 | reload: reloads config file | |
1403 | report: send SIGUSR1 to check devices now | |
1404 | ||
1405 | smartmontools 5.22 | |
1406 | ||
1407 | [EM] Fix compile issues for FreeBSD < 5-CURRENT. | |
1408 | ||
1409 | [PW] Added Fujitsu MHM2200AT to knowndrives table. | |
1410 | ||
1411 | [BA] To help catch bugs, clear ATA error structures before all | |
1412 | ioctl calls. Disable code that attempted to time-out on SCSI | |
1413 | devices when they hung (doesn't work). | |
1414 | ||
1415 | [BA] Documented STATUS/ERROR flags added by [PW] below. | |
1416 | ||
1417 | [BA] Improved algorithm to recognize ATA packet devices. Should | |
1418 | no longer generate SYSLOG kernel noise when user tries either | |
1419 | smartd or smartctl on packet device (CD-ROM or DVD). Clearer | |
1420 | warning messages from smartd when scanning ATA packet device. | |
1421 | ||
1422 | [PW] Added TOSHIBA MK4025GAS to knowndrives table. | |
1423 | ||
1424 | [PW] Added a textual interpretation of the status and error registers | |
1425 | in the SMART error log (ATA). The interpretation is | |
1426 | command-dependent and currently only eight commands are supported | |
1427 | (those which produced errors in the error logs that I happen to | |
1428 | have seen). | |
1429 | ||
1430 | [BA] added memory allocation tracking to solaris code. | |
1431 | Fixed solaris signal handling (reset handler to default | |
1432 | after first call to handler) by using sigset. Added | |
1433 | HAVE_SIGSET to configure.in | |
1434 | ||
1435 | [CD] solaris port: added SCSI functionality to solaris | |
1436 | stubs. | |
1437 | ||
1438 | [BA] smartd: attempt to address bug report about smartd | |
1439 | hanging on USB devices when scanning: | |
1440 | https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=107615 | |
1441 | Set a timeout of SCSITIMEOUT (nominally 7 seconds) before | |
1442 | giving up. | |
1443 | ||
1444 | [EM] smartd: DEVICESCAN will follow links in a devfs filesystem and | |
1445 | make sure the end point is a disc. Update documentation, added | |
1446 | note about FreeBSD scanning | |
1447 | ||
1448 | [BA] smartd: DEVICESCAN also looks for block devices in | |
1449 | /dev. Updated documentation. Now scans for up to | |
1450 | 20 ATA devices /dev/hda-t rather than previous 12 | |
1451 | /dev/hda-l. | |
1452 | ||
1453 | [EM] smartd: mirror the FreeBSD DEVICESCAN logic for Linux, | |
1454 | so that smartd now scans only devices found in /dev/. Also, | |
1455 | make utility memory functions take a line number and file so | |
1456 | that we report errors with the correct location. | |
1457 | ||
1458 | [GG] add a note about Debian bug #208964 to WARNINGS. | |
1459 | ||
1460 | [BA] smartctl: -T verypermissive option broken. Use | |
1461 | -T verpermissive until the next release, please. | |
1462 | ||
1463 | [BA] Syntax mods so that code also compiles on Solaris using | |
1464 | Sun Workshop compiler. Need -xmemalign 1i -xCC flags | |
1465 | for cc. | |
1466 | ||
1467 | smartmontools 5.21 | |
1468 | ||
1469 | [DK] Changed configure.in so -Wall is only included if gcc | |
1470 | is used (this is a gcc specific flag) and -fsignedchar | |
1471 | is not used at all (this is a gcc specific compiler | |
1472 | flag). | |
1473 | ||
1474 | [BA] Modifications so that code now compiles under solaris. Now | |
1475 | all that's needed (:-) is to fill in os_solaris.[hc]. Added | |
1476 | os_generic.[hc] as guide to future ports. Fixed -D option | |
1477 | of smartd (no file name). Modified -h opt of smartd/smartctl | |
1478 | to work properly with solaris getopt(). | |
1479 | ||
1480 | [EM] Update MAN pages with notes that 3ware drives are NOT supported | |
1481 | under FreeBSD. Cleanup FreeBSD warning message handling. | |
1482 | ||
1483 | [EM] FreeBSD only: Fix first user found bug....I guess I was making | |
1484 | the wrong assumption on how to convert ATA devnames to | |
1485 | channel/unit numbers. | |
1486 | ||
1487 | [EM] Allow for option --enable-sample to append '.sample' to installed | |
1488 | smartd.conf and rc script files. Also, let rc script shell setting | |
1489 | be determined by configure | |
1490 | ||
1491 | [EM] Minor autoconf update to include -lcam for FreeBSD | |
1492 | ||
1493 | [EM] Add conditional logic to allow FreeBSD to compile pre-ATAng. | |
1494 | -- note, not tested | |
1495 | Add some documentation to INSTALL for FreeBSD. | |
1496 | ||
1497 | [EM] Implement SCSI CAM support for FreeBSD. NOTE: I am not an expert | |
1498 | in the use of CAM. It seems to work for me, but I may be doing | |
1499 | something horribly wrong, so please exercise caution. | |
1500 | ||
1501 | [EM] Switch over to using 'atexit' rather than 'on_exit' routine. This also | |
1502 | meant we needed to save the exit status elsewhere so our 'Goodbye' | |
1503 | routine could examine it. | |
1504 | ||
1505 | [EM] Move the DEVICESCAN code to os specific files. Also moved some of the | |
1506 | smartd Memory functions to utility.c to make available to smartctl. | |
1507 | ||
1508 | [EM] Code janitor work on os_freebsd.c. | |
1509 | ||
1510 | [EM] Added os_freebsd.[hc] code. Additional code janitor | |
1511 | work. | |
1512 | ||
1513 | [BA] Code janitor working, moving OS dependent code into | |
1514 | os_linux.[hc]. | |
1515 | ||
1516 | [GG] conditionally compile os_{freebsd,linux}.o depending on | |
1517 | host architecture | |
1518 | ||
1519 | [PW] Print estimated completion time for tests | |
1520 | ||
1521 | [BA] Added -F samsung2 flag to correct firmware byte swap. | |
1522 | All samsung drives with *-23 firmware revision string. | |
1523 | ||
1524 | smartmontools 5.20 | |
1525 | ||
1526 | [GG] Fixed broken Makefile.am (zero length smartd.conf.5 | |
1527 | was being created), fix broken uninstall/distcheck targets | |
1528 | ||
1529 | [FM] Improved Slackware init script added to /etc/smartd.initd | |
1530 | ||
1531 | smartmontools 5.19 [NOTE CHANGE OF RELEASE NUMBERING] | |
1532 | ||
1533 | [BA] smartctl: added '-T verypermissive' option which is | |
1534 | equivalent to giving '-T permissive' many times. | |
1535 | ||
1536 | [BA] Try harder to identify from IDENTIFY DEVICE structure | |
1537 | if SMART supported/enabled. smartd now does a more | |
1538 | thorough job of trying to assess this before sending | |
1539 | a SMART status command to find out for sure. | |
1540 | ||
1541 | [BA] smartctl: it's now possible to override the program's | |
1542 | guess of the device type (ATA or SCSI) with -d option. | |
1543 | ||
1544 | [BA] try hard to avoid sending IDENTIFY DEVICE to packet | |
1545 | devices (CDROMS). They can't do SMART, and this generates | |
1546 | annoying syslog messages. At the same time, identify type | |
1547 | of Packet device. | |
1548 | ||
1549 | [BA] smartctl: Can now use permissive option more | |
1550 | than once, to control how far to go before giving up. | |
1551 | ||
1552 | [BA] smartd: if user asked to monitor either error or self-test | |
1553 | logs (-l error or -l selftest) WITHOUT monitoring any of the | |
1554 | Attribute values, code will SEGV. For 5.1-18 and earlier, | |
1555 | a good workaround is to enable Auto offline (-o on). | |
1556 | ||
1557 | [BA] smartctl: If enable auto offline command given, update auto | |
1558 | offline status before printing capabilities. | |
1559 | ||
1560 | [GG] Make autotools build the default, remove autotools.diff | |
1561 | ||
1562 | [GG] Add auto{conf,make} support, not enabled by default. | |
1563 | ||
1564 | [BA] Eliminated #include <linux/hdreg.h> from code. This | |
1565 | should simplify porting to solaris, FreeBSD, etc. The | |
1566 | only linux-specific code is now isolated to three routines, | |
1567 | one for SCSI, one for Escalade, one for ATA. | |
1568 | ||
1569 | smartmontools 5.1-18 | |
1570 | ||
1571 | [BA] smartd: fixed serious bug - Attributes not monitored unless | |
1572 | user told smartd to ignore at least one of them! | |
1573 | ||
1574 | smartmontools 5.1-17 | |
1575 | ||
1576 | [BA] Default runlevels for smartd changed from 3 and 5 to | |
1577 | 2, 3, 4, and 5. | |
1578 | ||
1579 | [BA] Removed as much dynamic memory allocation as possible from | |
1580 | configuration file parsing. Reloading config file, even in | |
1581 | presence of syntax errors etc. should not cause memory leaks. | |
1582 | ||
1583 | [PW] It is no longer permissible for the integer part (if any) of | |
1584 | arguments to --report and --device to be followed by non-digits. | |
1585 | For example, the "foo" in --report=ioctl,2foo was previously | |
1586 | ignored, but now causes an error. | |
1587 | ||
1588 | [BA] smartd: added -q/--quit command line option to specify | |
1589 | under what circumstances smartd should exit. The old | |
1590 | -c/--checkonce option is now obsoleted by this more | |
1591 | general-purpose option. | |
1592 | ||
1593 | [BA] smartd now responds to a HUP signal by re-reading its | |
1594 | configuration file /etc/smartd.conf. If there are | |
1595 | errors in this file, then the configuration file is | |
1596 | ignored and smartd continues to monitor the devices that | |
1597 | it was monitoring prior to receiving the HUP signal. | |
1598 | ||
1599 | [BA] Now correctly get SMART status from disks behind 3ware | |
1600 | controllers, thanks to Adam Radford. Need 3w-xxxx driver | |
1601 | version 1.02.00.037 or later. Previously the smartmontools | |
1602 | SMART status always returned "OK" for 3ware controllers. | |
1603 | ||
1604 | [BA] Additional work on dynamic memory allocation/deallocation. | |
1605 | This should have no effect on smartctl, but clears that way | |
1606 | for smartd to dynamically add and remove entries. It should | |
1607 | also now be easier to modify smartd to re-read its config | |
1608 | file on HUP (which is easy) without leaking memory (which is | |
1609 | harder). The philosophy is that memory for data structures in | |
1610 | smartd is now allocated only on demand, the first time it | |
1611 | is needed. | |
1612 | ||
1613 | [BA] smartd: finished cleanup. Now use create/rm functions for | |
1614 | cfgentries and dynamic memory allocation almost everywhere. | |
1615 | Philosophy: aggresively try and provoke SEGV to help find | |
1616 | bad code. | |
1617 | ||
1618 | [BA] Added SAMSUNG SV0412H to knowndrives table. | |
1619 | ||
1620 | [BA] smartd: if DEVICESCAN used then knowndrives table might not set | |
1621 | the -v attributes correctly -- may have been the same for all | |
1622 | the drives. Cleaned up some data structures and memory | |
1623 | allocation to try and ensure segvs if such problems are | |
1624 | introduced again. | |
1625 | ||
1626 | [BA] Now allow -S on and -o on for the 3ware device type. For these | |
1627 | commands to be passed through, the stock 3ware 3w-xxxx driver | |
1628 | must be patched (8 lines). I'll post a patch on the smartmontools | |
1629 | home page after it's been tested by a few other people and 3ware | |
1630 | have had a chance to look it over. | |
1631 | ||
1632 | smartmontools-5.1-16 | |
1633 | ||
1634 | [BA] smartd - can now monitor ATA drives behind 3ware controllers. | |
1635 | ||
1636 | [BA] smartd - changed some FATAL out of memory error messages from | |
1637 | syslog level LOG_INFO to LOG_CRIT. | |
1638 | ||
1639 | [BA] smartctl - added code to look at ATA drives behind 3ware RAID | |
1640 | controllers using the 3w-xxxx driver. Note that for technical | |
1641 | reasons related to the 3w-xxxx driver, the "Enable Autosave", | |
1642 | "Enable Automatic Offline" commands are not implemented. | |
1643 | I will add this to smartd shortly. | |
1644 | ||
1645 | [BA] smartd - modified sleep loop, so that smartd no longer comes | |
1646 | on the run queue every second. Instead, unless interrupted, | |
1647 | it sleeps until the next polling time, when it wakes up. Now | |
1648 | smartd also tries to wake up at exactly the right | |
1649 | intervals (nominally 30 min) even if the user has been sending | |
1650 | signals to it. | |
1651 | ||
1652 | [GG] add Fujitsu MHN2300AT to vendoropts_9_seconds. | |
1653 | ||
1654 | [EB] Fujitsu change in knowndrives ... match the whole MPD and | |
1655 | MPE series for vendoropts_9_seconds. | |
1656 | ||
1657 | [BA] smartd bug, might cause segv if a device can not be opened. Was | |
1658 | due to missing comma in char* list. Consequence is that email | |
1659 | failure messages might have had the wrong Subject: heading for | |
1660 | errorcount, FAILEDhealthcheck, FAILEDreadsmartdata, FAILEDreadsmarterrorlog, | |
1661 | FAILEDreadsmartsefltestlog, FAILEDopendevice were all displaced by | |
1662 | one. And FAILEDopendevice might have caused a segv if -m was being | |
1663 | used as a smartd Directive. | |
1664 | ||
1665 | smartmontools-5.1-15 | |
1666 | ||
1667 | [BA] Cleaned up smartmontools.spec so that upgrading, removing | |
1668 | and other such operations correctly preserve running behavior | |
1669 | and booting behavior of smartd. | |
1670 | ||
1671 | [BA] Improved formatting of ATA Error Log printout, and added | |
1672 | listing of names of commands that caused the error. Added | |
1673 | obsolete ATA-4 SMART feature commands to table, along with | |
1674 | obsolete SFF-8035i SMART feature command. | |
1675 | ||
1676 | [PW] Added atacmdnames.[hc], which turn command register & | |
1677 | feature register pairs into ATA command names. | |
1678 | ||
1679 | [BA] Added conveyance self-test. Some code added for selective | |
1680 | self-tests, but #ifdefed out. | |
1681 | ||
1682 | [BA] Modified smartd exit status and log levels. If smartd is | |
1683 | "cleanly" terminated, for example with SIGTERM, then its | |
1684 | exit messages are now logged at LOG_INFO not LOG_CRIT | |
1685 | ||
1686 | [BA] Added Attribute IDs (Fujitsu) 0xCA - 0xCE. This is decimal | |
1687 | 202-206. Added -v switches for interpretation of Attributes | |
1688 | 192, 198 and 201. | |
1689 | ||
1690 | [BA] Made smartmontools work with any endian order machine for: | |
1691 | - SMART selftest log | |
1692 | - SMART ATA error log | |
1693 | - SMART Attributes values | |
1694 | - SMART Attributes thesholds | |
1695 | - IDENTIFY DEVICE information | |
1696 | - LOG DIRECTORY | |
1697 | Smartmontools is now free of endian bias and works correctly | |
1698 | on both little- and big-endian hardware. This has been tested by | |
1699 | three independent PPC users on a variety of ATA and SCSI hardware. | |
1700 | ||
1701 | [DG] Check that certain SCSI command responses are well formed. If | |
1702 | IEC mode page response is not well formed exit smartctl. This | |
1703 | is to protect aacraid. smartd should ignore a aacraid device. | |
1704 | ||
1705 | smartmontools-5.1-14 | |
1706 | ||
1707 | [BA] smartctl: added column to -A output to show if Attributes are | |
1708 | updated only during off-line testing or also during normal | |
1709 | operation. | |
1710 | ||
1711 | smartmontools-5.1-13 | |
1712 | ||
1713 | [BA] smartd: attempt to enable/disable automatic offline testing even | |
1714 | if the disk appears not to support it. Now the same logic | |
1715 | as smartctl. | |
1716 | ||
1717 | [BA] Added definition of Attribute 201, soft read error rate. | |
1718 | ||
1719 | [BA] Added IBM/Hitachi IC35L120AVV207-1 (GXP-180) and corresponding | |
1720 | 8MB Cache GXP-120 to drive database. | |
1721 | ||
1722 | [BA] smartd: if DEVICESCAN Directive used in smartd.conf, and | |
1723 | -I, -R or -r Directives used in conjunction with this, got | |
1724 | segv errors. Fixed by correcting memory allocation calls. | |
1725 | ||
1726 | [BA] smartd: enable automatic offline testing was broken due | |
1727 | to cut-and-paste error that disabled it instead of | |
1728 | enabling it. Thanks to Maciej W. Rozycki for pointing | |
1729 | out the problem and solution. | |
1730 | ||
1731 | [BA] Fixed "spelling" of some Attribute names to replace spaces | |
1732 | in names by underscores. (Fixed field width easier for awk | |
1733 | style parsing.) | |
1734 | ||
1735 | [BA,GF] Added mods submitted by [GF] to support Attribute 193 being | |
1736 | load/unload cycles. Add -v 193,loadunload option, useful for | |
1737 | Hitachi drive DK23EA-30, and add this drive to knowndrive.c | |
1738 | Add meaning of attribute 250 : Read error retry rate | |
1739 | ||
1740 | smartmontools-5.1-12 | |
1741 | ||
1742 | [BA] Added another entry for Samsung drives to knowndrive table. | |
1743 | ||
1744 | [DG] Refine SCSI log sense command to do a double fetch in most cases | |
1745 | (but not for the TapeAlert log page). Fix TapeAlert and Self Test | |
1746 | log page response truncation. | |
1747 | ||
1748 | [PW] Added 'removable' argument to -d Directive for smartd. This indicates | |
1749 | that smartd should continue (rather than exit) if the device does not | |
1750 | appear to be present. | |
1751 | ||
1752 | [BA] Modified smartmontools.spec [Man pages location] and | |
1753 | smartd.initd [Extra space kills chkconfig!] for Redhat 6.x | |
1754 | compatibility (thanks to Gerald Schnabel). | |
1755 | ||
1756 | smartmontools-5.1-11 | |
1757 | ||
1758 | [EB] Add another Fujitsu disk to knowndrives.c | |
1759 | ||
1760 | [GG] match for scsi/ and ide/ in case of devfs to exclude false postives | |
1761 | ||
1762 | [BA] If SCSI device listed in /etc/smartd.conf fails to open or do | |
1763 | SMART stuff correctly, or not enough space | |
1764 | to list all SCSI devices, fail with error unless | |
1765 | -DSCSIDEVELOPMENT set during compile-time. | |
1766 | ||
1767 | [BA] Added automatic recognition of /dev/i* (example: /dev/ide/...) | |
1768 | as an ATA device. | |
1769 | ||
1770 | [DG] Add "Device type: [disk | tape | medium changer | ...] line to | |
1771 | smartctl -i output for SCSI devices. | |
1772 | ||
1773 | [PW] Fixed bug in smartd where test email would be sent regularly (for | |
1774 | example, daily if the user had specified -M daily) instead of just | |
1775 | once on startup. | |
1776 | ||
1777 | [KM] More TapeAlert work. Added translations for media changer | |
1778 | alerts. TapeAlert support reported according to the log page | |
1779 | presence. ModeSense not attempted for non-ready tapes (all | |
1780 | drives do not support this after all). Get peripheral type from | |
1781 | Inquiry even if drive info is not printed. Add QUIETON() | |
1782 | QUIETOFF() to TapeAlert log check. | |
1783 | ||
1784 | [BA] Stupid bug in atacmds.c minor_str[] affected ataVersionInfo(). | |
1785 | Two missing commas meant that minor_str[] had two few elements, | |
1786 | leading to output like this: | |
1787 | Device Model: Maxtor 6Y120L0 | |
1788 | Serial Number: Y40BF74E | |
1789 | Firmware Version: YAR41VW0 | |
1790 | Device is: Not in smartctl database [for details use: -P showall] | |
1791 | ATA Version is: 7 | |
1792 | ATA Standard is: 9,minutes | |
1793 | ^^^^^^^^^ | |
1794 | Missing commas inserted. | |
1795 | ||
1796 | [BA] Fixed smartd bug. On device registration, if ATA device did | |
1797 | not support SMART error or self-test logs but user had asked to | |
1798 | monitor them, an attempt would be made to read them anyway, | |
1799 | possibly generating "Drive Seek" errors. We now check that | |
1800 | the self-test and error logs are supported before trying to | |
1801 | access them the first time. | |
1802 | ||
1803 | [GG/BA] Fixed bug where if SMART ATA error log not supported, | |
1804 | command was tried anyway. Changed some error printing to use | |
1805 | print handlers. | |
1806 | ||
1807 | [GG] Makefile modifications to ease packaging | |
1808 | ||
1809 | [DG] Did work for TapeAlerts (SCSI). Now can detect /dev/nst0 as a | |
1810 | SCSI device. Also open SCSI devices O_NONBLOCK so they don't | |
1811 | hang on open awaiting media. The ATA side should worry about | |
1812 | this also: during a DEVICESCAN a cd/dvd device without media | |
1813 | will hang. Added some TapeAlert code suggested by Kai Makisara. | |
1814 | ||
1815 | smartmontools-5.1-10 | |
1816 | ||
1817 | [PW] Extended the -F option/Directive to potentially fix other firmware | |
1818 | bugs in addition to the Samsung byte-order bug. Long option name is | |
1819 | now --firmwarebug and the option/Directive accepts an argument | |
1820 | indicating the type of firmware bug to fix. | |
1821 | ||
1822 | [BA] Fixed a bug that prevented the enable automatic off-line | |
1823 | test feature from enabling. It also prevented the enable Attribute | |
1824 | autosave from working. See CVS entry for additional details. | |
1825 | ||
1826 | [PW] Modified the -r/--report option (smartctl and smartd) to allow the | |
1827 | user to specify the debug level as a positive integer. | |
1828 | ||
1829 | [BA] Added --log directory option to smartctl. If the disk | |
1830 | supports the general-purpose logging feature set (ATA-6/7) | |
1831 | then this option enables the Log Directory to be printed. | |
1832 | This Log Directory shows which device logs are available, and | |
1833 | their lengths in sectors. | |
1834 | ||
1835 | [PW] Added -P/--presets option to smartctl and -P Directive to smartd. | |
1836 | ||
1837 | [GG] Introduce different exit codes indicating the type of problem | |
1838 | encountered for smartd. | |
1839 | ||
1840 | [DG] Add non-medium error count to '-l error' and extended self test | |
1841 | duration to '-l selftest'. Get scsi IEs and temperature changes | |
1842 | working in smartd. Step over various scsi disk problems rather | |
1843 | than abort smartd startup. | |
1844 | ||
1845 | [DG] Support -l error for SCSI disks (and tapes). Output error counter | |
1846 | log pages. | |
1847 | ||
1848 | [BA] Added -F/--fixbyteorder option to smartctl. This allows us to read | |
1849 | SMART data from some disks that have byte-reversed two- and four- | |
1850 | byte quantities in their SMART data structures. | |
1851 | ||
1852 | [BA] Fixed serious bug: the -v options in smartd.conf were all put | |
1853 | together and used together, not drive-by-drive. | |
1854 | ||
1855 | [PW] Added knowndrives.h and knowndrives.c. The knowndrives array | |
1856 | supersedes the drivewarnings array. | |
1857 | ||
1858 | [GG] add {-p,--pidfile} option to smartd to write a PID file on | |
1859 | startup. Update the manpage accordingly. | |
1860 | ||
1861 | [DG] Fix scsi smartd problem detecting SMART support. More cleaning | |
1862 | and fix (and rename) scsiTestUnitReady(). More scsi renaming. | |
1863 | ||
1864 | [BA] Fixed smartd so that if a disk that is explictily listed is not | |
1865 | found, then smartd will exit with nonzero status BEFORE forking. | |
1866 | If a disk can't be registered, this will also be detected before | |
1867 | forking, so that init scripts can react correctly. | |
1868 | ||
1869 | [BA] Replaced all linux-specific ioctl() calls in atacmds.c with | |
1870 | a generic handler smartcommandhandler(). Now the only routine | |
1871 | that needs to be implemented for a given OS is os_specific_handler(). | |
1872 | Also implemented the --report ataioctl. This provides | |
1873 | two levels of reporting. Using the option once gives a summary | |
1874 | report of device IOCTL transactions. Using the option twice give | |
1875 | additional info (a printout of ALL device raw 512 byte SMART | |
1876 | data structures). This is useful for debugging. | |
1877 | ||
1878 | [DG] more scsi cleanup. Output scsi device serial number (VPD page | |
1879 | 0x80) if available as part of '-i'. Implement '-t offline' as | |
1880 | default self test (only self test older disks support). | |
1881 | ||
1882 | [BA] Changed crit to info in loglevel of smartd complaint to syslog | |
1883 | if DEVICESCAN enabled and device not found. | |
1884 | ||
1885 | [BA] Added -v 194,10xCelsius option/Directive. Raw Attribute number | |
1886 | 194 is ten times the disk temperature in Celsius. | |
1887 | ||
1888 | [DG] scsicmds.[hc] + scsiprint.c: clean up indentation, remove tabs. | |
1889 | Introduce new intermediate interface based on "struct scsi_cmnd_io" | |
1890 | to isolate SCSI generic commands + responses from Linux details; | |
1891 | should help port to FreeBSD of SCSI part of smartmontools. | |
1892 | Make SCSI command builders more parametric. | |
1893 | ||
1894 | smartmontools-5.1-9 | |
1895 | ||
1896 | [BA] smartctl: if HDIO_DRIVE_TASK ioctl() is not implemented (no | |
1897 | kernel support, then try to assess drive health by examining | |
1898 | Attribute values/thresholds directly. | |
1899 | ||
1900 | [BA] smartd/smartctl: added -v 200,writeerrorcount option/Directive | |
1901 | for Fujitsu disks. | |
1902 | ||
1903 | [BA] smartd: Now send email if any of the SMART commands fails, | |
1904 | or if open()ing the device fails. This is often noted | |
1905 | as a common disk failure mode. | |
1906 | ||
1907 | [BA] smartd/smartctl: Added -v N,raw8 -v N,raw16 and -v N,raw48 | |
1908 | Directives/Options for printing Raw Attributes in different | |
1909 | Formats. | |
1910 | ||
1911 | [BA] smartd: Added -r ID and -R ID for reporting/tracking Raw | |
1912 | values of Attributes. | |
1913 | ||
1914 | [BA] smartd/smartctl: Changed printing of spin-up-time attribute | |
1915 | raw value to reflect current/average as per IBM standard. | |
1916 | ||
1917 | [BA] smartd/smartctl: Added -v 9,seconds option for disks which | |
1918 | use Attribute 9 for power-on lifetime in seconds. | |
1919 | ||
1920 | [BA] smartctl: Added a warning message so that users of some IBM | |
1921 | disks are warned to update their firmware. Note: we may want | |
1922 | to add a command-line flag to disable the warning messages. | |
1923 | I have done this in a general way, using regexp, so that we | |
1924 | can add warnings about any type of disk that we wish... | |
1925 | ||
1926 | smartmontools-5.1-7 | |
1927 | ||
1928 | [BA] smartd: Created a subdirectory examplescripts/ of source | |
1929 | directory that contains executable scripts for the -M exec PATH | |
1930 | Directive of smartd. | |
1931 | ||
1932 | smartmontools-5.1-5 | |
1933 | ||
1934 | [BA] smartd: DEVICESCAN in /etc/smartd.conf | |
1935 | can now be followed by all the same Directives as a regular | |
1936 | device name like /dev/hda takes. This allows one to use | |
1937 | (for example): | |
1938 | DEVICESCAN -m root@example.com | |
1939 | in the /etc/smartd.conf file. | |
1940 | ||
1941 | [BA] smartd: Added -c (--checkonce) command-line option. This checks | |
1942 | all devices once, then exits. The exit status can be | |
1943 | used to learn if devices were detected, and if smartd is | |
1944 | functioning correctly. This is primarily for Distribution | |
1945 | scripters. | |
1946 | ||
1947 | [BA] smartd: Implemented -M exec Directive for | |
1948 | smartd.conf. This makes it possible to run an | |
1949 | arbitrary script or mailing program with the | |
1950 | -m option. | |
1951 | ||
1952 | [PW] smartd: Modified -M Directive so that it can be given | |
1953 | multiple times. Added -M exec Directive. | |
1954 | ||
1955 | smartmontools-5.1-4 | |
1956 | ||
1957 | [BA] Fixed bug in smartctl pointed out by Pierre Gentile. | |
1958 | -d scsi didn't work because tryata and tryscsi were | |
1959 | reversed -- now works on /devfs SCSI devices. | |
1960 | ||
1961 | [BA] Fixed bug in smartctl pointed out by Gregory Goddard | |
1962 | <ggoddard@ufl.edu>. Manual says that bit 6 of return | |
1963 | value turned on if errors found in smart error log. But | |
1964 | this wasn't implemented. | |
1965 | ||
1966 | smartmontools-5.1-3 | |
1967 | ||
1968 | [BA] Modified printing format for 9,minutes to read | |
1969 | Xh+Ym not X h + Y m, so that fields are fixed width. | |
1970 | ||
1971 | [BA] Added Attribute 240 "head flying hours" | |
1972 | ||
1973 | smartmontools-5.1.1 | |
1974 | ||
1975 | [BA] As requested, local time/date now printed by smartctl -i | |
1976 | ||
1977 | [PW] Added "help" argument to -v for smartctl | |
1978 | ||
1979 | [PW] Added -D, --showdirectives option to smartd | |
1980 | ||
1981 | [DG] add '-l selftest' capability for SCSI devices (update smartctl.8) | |
1982 | ||
1983 | [BA] smartd,smartctl: added additional Attribute modification option | |
1984 | -v 220,temp and -v 9,temp. | |
1985 | ||
1986 | [PW] Renamed smartd option -X to -d | |
1987 | ||
1988 | START OF SMARTMONTOOLS 5.1 series | |
1989 | ||
1990 | smartmontools-5.0.50 | |
1991 | ||
1992 | [PW] Changed smartd.conf Directives -- see man page | |
1993 | ||
1994 | [BA/DG] Fixed uncommented comment in smartd.conf | |
1995 | ||
1996 | [DG] Correct 'Recommended start stop count' for SCSI devices | |
1997 | ||
1998 | [PW] Replaced smartd.conf directive -C with smartd option -i | |
1999 | ||
2000 | [PW] Changed options for smartctl -- see man page. | |
2001 | ||
2002 | [BA] Use strerror() to generate system call error messages. | |
2003 | ||
2004 | [BA] smartd: fflush() all open streams before fork(). | |
2005 | ||
2006 | [BA] smartctl, smartd simplified internal handling of checksums | |
2007 | for simpler porting and less code. | |
2008 | ||
2009 | smartmontools-5.0.49 | |
2010 | ||
2011 | [PW] smartd --debugmode changed to --debug | |
2012 | ||
2013 | [BA] smartd/smartctl added attribute 230 Head Amplitude from | |
2014 | IBM DPTA-353750. | |
2015 | ||
2016 | [PW] Added list of proposed new options for smartctl to README. | |
2017 | ||
2018 | [PW] smartd: ParseOpts() now uses getopt_long() if HAVE_GETOPT_LONG is | |
2019 | defined and uses getopt() otherwise. This is controlled by CPPFLAGS in | |
2020 | the Makefile. | |
2021 | ||
2022 | [BA] smartd: Fixed a couple of error messages done with perror() | |
2023 | to redirect them as needed. | |
2024 | ||
2025 | smartmontools-5.0.48 | |
2026 | ||
2027 | [BA] smartctl: The -O option to enable an Immediate off-line test | |
2028 | did not print out the correct time that the test would take to | |
2029 | complete. This is because the test timer is volatile and not | |
2030 | fixed. This has been fixed, and the smartctl.8 man page has been | |
2031 | updated to explain how to track the Immediate offline test as it | |
2032 | progresses, and to further emphasize the differences between the | |
2033 | off-line immediate test and the self-tests. | |
2034 | ||
2035 | [BA] smartd/smartctl: Added new attribute (200) Multi_Zone_Error_Rate | |
2036 | ||
2037 | [BA] smartctl: modified so that arguments could have either a single - | |
2038 | as in -ea or multiple ones as in -e -a. Improved warning message for | |
2039 | device not opened, and fixed error in redirection of error output of | |
2040 | HD identity command. | |
2041 | ||
2042 | [PW] smartd: added support for long options. All short options are still | |
2043 | supported; see manpage for available long options. | |
2044 | ||
2045 | [BA] smartctl. When raw Attribute value was 2^31 or larger, did | |
2046 | not print correctly. | |
2047 | ||
2048 | smartmontools-5.0.46 | |
2049 | ||
2050 | [BA] smartd: added smartd.conf Directives -T and -s. The -T Directive | |
2051 | enables/disables Automatic Offline Testing. The -s Directive | |
2052 | enables/disables Attribute Autosave. Documentation and | |
2053 | example configuration file updated to agree. | |
2054 | ||
2055 | [BA] smartd: user can make smartd check the disks at any time | |
2056 | (ie, interrupt sleep) by sending signal SIGUSR1 to smartd. This | |
2057 | can be done for example with: | |
2058 | kill -USR1 <pid> | |
2059 | where <pid> is the process ID number of smartd. | |
2060 | ||
2061 | [EB] scsi: don't trust the data we receive from the drive too | |
2062 | much. It very well might have errors (like zero response length). | |
2063 | Seen on Megaraid logical drive, and verified in the driver source. | |
2064 | ||
2065 | [BA] smartd: added Directive -m for sending test email and | |
2066 | for modifying email reminder behavior. Updated manual, and sample | |
2067 | configuration file to illustrate & explain this. | |
2068 | ||
2069 | [BA] smartd: increased size of a continued smartd.conf line to | |
2070 | 1023 characters. | |
2071 | ||
2072 | [BA] Simplified Directive parsers and improved warning/error | |
2073 | messages. | |
2074 | ||
2075 | smartmontools-5.0.45 | |
2076 | ||
2077 | [EB] Fixed bug in smartd where testunitready logic inverted | |
2078 | prevented functioning on scsi devices. | |
2079 | The bug in question only affects smartd users with scsi devices. | |
2080 | To see if your version of smartd has the testunitready() bug, do | |
2081 | smartd -V | |
2082 | If the version of the module smartd.c in a line like: | |
2083 | Module: smartd.c revision: 1.66 date: 2002/11/17 | |
2084 | has a revision greater than or equal to 1.30, and less than or equal to | |
2085 | 1.64, then your version of the code has this problem. | |
2086 | This problem affected releases starting with RELEASE_5_0_16 up to and | |
2087 | including RELEASE_5_0_43. | |
2088 | ||
2089 | [BA] Added testunitnotready to smartctl for symmetry with smartd. | |
2090 | ||
2091 | [SB] added Czech descriptions to .spec file | |
2092 | [SB] corrected comment in smartd.conf example | |
2093 | ||
2094 | [BA] Changed way that entries in the ATA error log are printed, | |
2095 | to make it clearer which is the most recent error and | |
2096 | which is the oldest one. | |
2097 | ||
2098 | NOTE: All changes made prior to this point were done by Bruce Allen | |
2099 | [BA] although several of them had been suggested by earlier postings | |
2100 | by Stanislav Brabec [SB]. | |
2101 | ||
2102 | smartmontools-5.0.43 | |
2103 | ||
2104 | Changed Temperature_Centigrade to Temperature_Celsius. | |
2105 | The term "Centigrade" ceased to exist in 1948. (c.f | |
2106 | http://www.bartleby.com/64/C004/016.html). | |
2107 | ||
2108 | smartmontools-5.0.42 | |
2109 | ||
2110 | Modified SCSI device check to also send warning emails if | |
2111 | requested in directives file. | |
2112 | ||
2113 | Added a new smartd configuration file Directive: -M ADDRESS. | |
2114 | This sends a single warning email to ADDRESS for failures or | |
2115 | errors detected with the -c, -L, -l, or -f Directives. | |
2116 | ||
2117 | smartmontools-5.0.38 | |
2118 | ||
2119 | Modified perror() statements in atacmds.c so that printout for SMART | |
2120 | commands errors is properly suppressed or queued depending upon users | |
2121 | choices for error reporting modes. | |
2122 | ||
2123 | Added Italian descriptions to smartmontools.spec file. | |
2124 | ||
2125 | Started impementing send-mail-on-error for smartd; not yet enabled. | |
2126 | ||
2127 | Added -P (Permissive) Directive to smartd.conf file to allow SMART | |
2128 | monitoring of pre-ATA-3 Rev 4 disks that have SMART but do not have | |
2129 | a SMART capability bit. | |
2130 | ||
2131 | Removed charset encodings from smartmontools.spec file for non-English | |
2132 | fields. | |
2133 | ||
2134 | smartmontools-5.0.32 | |
2135 | ||
2136 | Added manual page smartd.conf.5 for configuration file. | |
2137 | ||
2138 | smartctl: Missing ANSI prototype in failuretest(); fixed. | |
2139 | ||
2140 | smartctl: Checksum warnings now printed on stdout, or are silent, | |
2141 | depending upon -q and -Q settings. | |
2142 | ||
2143 | smartmontools-5.0.31 | |
2144 | ||
2145 | Changed Makefile so that the -V option does not reflect file state | |
2146 | before commit! | |
2147 | ||
2148 | smartctl: added new options -W, -U, and -P to control if and how the | |
2149 | smartctl exits if an error is detected in either a SMART data | |
2150 | structure checksum, or a SMART command returns an error. | |
2151 | ||
2152 | modified manual page to break options into slightly more logical | |
2153 | categories. | |
2154 | ||
2155 | reformatted 'usage' message order to agree with man page ordering | |
2156 | ||
2157 | modified .spec file so that locale information now contains | |
2158 | character set definition. Changed pt_BR to pt since we do not use any | |
2159 | aspect other than language. See man setlocale. | |
2160 | ||
2161 | smartmontools-5.0.30 | |
2162 | smartctl: added new options -n and -N to force device to be ATA or SCSI | |
2163 | smartctl: no longer dies silently if device path does not start/dev/X | |
2164 | smartctl: now handles arbitrary device paths | |
2165 | ||
2166 | smartmontools-5.0.29 | |
2167 | Modified .spec file and Makefile to make them more compliant with | |
2168 | the "right" way of doing things. | |
2169 | ||
2170 | smartmontools-5.0.26 | |
2171 | Fixed typesetting error in man page smartd.8 | |
2172 | ||
2173 | Removed redundant variable (harmless) from smartd.c | |
2174 | ||
2175 | smartmontools-5.0.25 | |
2176 | ||
2177 | Added a new directive for the configuration file. If the word | |
2178 | DEVICESCAN appears before any non-commented material in the | |
2179 | configuration file, then the confi file will be ignored and the | |
2180 | devices wil be scanned. | |
2181 | ||
2182 | smartmontools-5.0.24 | |
2183 | ||
2184 | Note: it has now been confirmed that the code modifications between | |
2185 | 5.0.23 and 5.0.24 have eliminated the GCC 3.2 problems. Note that | |
2186 | there is a GCC bug howerver, see #8404 at | |
2187 | http://gcc.gnu.org/cgi-bin/gnatsweb.pl?database=gcc&cmd=query | |
2188 | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=8404 | |
2189 | ||
2190 | Added new Directive for Configuration file: | |
2191 | -C <N> This sets the time in between disk checks to be <N> | |
2192 | seconds apart. Note that although you can give | |
2193 | this Directive multiple times on different lines of | |
2194 | the configuration file, only the final value that | |
2195 | is given has an effect, and applies to all the | |
2196 | disks. The default value of <N> is 1800 sec, and | |
2197 | the minimum allowed value is ten seconds. | |
2198 | ||
2199 | Problem wasn't the print format. F.L.W. Meunier <0@pervalidus.net> | |
2200 | sent me a gcc 3.2 build and I ran it under a debugger. The | |
2201 | problem seems to be with passing the very large (2x512+4) byte | |
2202 | data structures as arguments. I never liked this anyway; it was | |
2203 | inherited from smartsuite. So I've changed all the heavyweight | |
2204 | functions (ATA ones, anyone) to just passing pointers, not hideous | |
2205 | kB size structures on the stack. Hopefully this will now build OK | |
2206 | under gcc 3.2 with any sensible compilation options. | |
2207 | ||
2208 | smartmontools-5.0.23 | |
2209 | ||
2210 | Because of reported problems with GCC 3.2 compile, I have gone | |
2211 | thorough the code and explicitly changed all print format | |
2212 | parameters to correspond EXACTLY to int unless they have to be | |
2213 | promoted to long longs. To quote from the glibc bible: [From | |
2214 | GLIBC Manual: Since the prototype doesn't specify types for | |
2215 | optional arguments, in a call to a variadic function the default | |
2216 | argument promotions are performed on the optional argument | |
2217 | values. This means the objects of type char or short int (whether | |
2218 | signed or not) are promoted to either int or unsigned int, as | |
2219 | appropriate.] | |
2220 | ||
2221 | smartmontools-5.0.22 | |
2222 | ||
2223 | smartd, smartctl now warn if they find an attribute whose ID | |
2224 | number does not match between Data and Threshold structures. | |
2225 | ||
2226 | Fixed nasty bug which led to wrong number of arguments for a | |
2227 | varargs statement, with attendent stack corruption. Sheesh! | |
2228 | Have added script to CVS attic to help find such nasties in the | |
2229 | future. | |
2230 | ||
2231 | smartmontools-5.0.21 | |
2232 | ||
2233 | Eliminated some global variables out of header files and other | |
2234 | minor cleanup of smartd. | |
2235 | ||
2236 | smartmontools-5.0.20 | |
2237 | ||
2238 | Did some revision of the man page for smartd and made the usage | |
2239 | messages for Directives 100% consistent. | |
2240 | ||
2241 | smartmontools-5.0-19 | |
2242 | ||
2243 | smartd: prints warning message when it gets SIGHUP, saying that it | |
2244 | is NOT re-reading the config file. | |
2245 | ||
2246 | smartctl: updated man page to say self-test commands -O,x,X,s,S,A | |
2247 | appear to be supported in the code. [I can't test these, can anyone | |
2248 | report?] | |
2249 | ||
2250 | smartmontools-5.0-18 | |
2251 | ||
2252 | smartctl: smartctl would previously print the LBA of a self-test | |
2253 | if it completed, and the LBA was not 0 or 0xff...f However | |
2254 | according to the specs this is not correct. According to the | |
2255 | specs, if the self-test completed without error then LBA is | |
2256 | undefined. This version fixes that. LBA value only printed if | |
2257 | self-test encountered an error. | |
2258 | ||
2259 | smartmontools-5.0-17 | |
2260 | ||
2261 | smartd has changed significantly. This is the first CVS checkin of | |
2262 | code that extends the options available for smartd. The following | |
2263 | options can be placed into the /etc/smartd.conf file, and control the | |
2264 | behavior of smartd. | |
2265 | Configuration file Directives (following device name): | |
2266 | -A Device is an ATA device | |
2267 | -S Device is a SCSI device | |
2268 | -c Monitor SMART Health Status | |
2269 | -l Monitor SMART Error Log for changes | |
2270 | -L Monitor SMART Self-Test Log for new errors | |
2271 | -f Monitor for failure of any 'Usage' Attributes | |
2272 | -p Report changes in 'Prefailure' Attributes | |
2273 | -u Report changes in 'Usage' Attributes | |
2274 | -t Equivalent to -p and -u Directives | |
2275 | -a Equivalent to -c -l -L -f -t Directives | |
2276 | -i ID Ignore Attribute ID for -f Directive | |
2277 | -I ID Ignore Attribute ID for -p, -u or -t Directive | |
2278 | # Comment: text after a hash sign is ignored | |
2279 | \ Line continuation character | |
2280 | ||
2281 | cleaned up functions used for printing CVS IDs. Now use string | |
2282 | library, as it should be. | |
2283 | ||
2284 | modified length of device name string in smartd internal structure | |
2285 | to accomodate max length device name strings | |
2286 | ||
2287 | removed un-implemented (-e = Email notification) option from | |
2288 | command line arg list. We'll put it back on when implemeneted. | |
2289 | ||
2290 | smartd now logs serious (fatal) conditions in its operation at | |
2291 | loglevel LOG_CRIT rather than LOG_INFO before exiting with error. | |
2292 | ||
2293 | smartd used to open a file descriptor for each SMART enabled | |
2294 | device, and then keep it open the entire time smartd was running. | |
2295 | This meant that some commands, like IOREADBLKPART did not work, | |
2296 | since the fd to the device was open. smartd now opens the device | |
2297 | when it needs to read values, then closes it. Also, if one time | |
2298 | around it can't open the device, it simply prints a warning | |
2299 | message but does not give up. Have eliminated the .fd field from | |
2300 | data structures -- no longer gets used. | |
2301 | ||
2302 | smartd now opens SCSI devices as well using O_RDONLY rather than | |
2303 | O_RDWR. If someone can no longer monitor a SCSI device that used | |
2304 | to be readable, this may well be the reason why. | |
2305 | ||
2306 | smartd never checked if the number of ata or scsi devices detected | |
2307 | was greater than the max number it could monitor. Now it does. | |
2308 | ||
2309 | smartmontools-5.0-16 | |
2310 | ||
2311 | smartd on startup now looks in the configuration file /etc/smartd.conf for | |
2312 | a list of devices which to include in its monitoring list. See man page | |
2313 | (man smartd) for syntax. | |
2314 | ||
2315 | smartd: close file descriptors of SCSI device if not SMART capable | |
2316 | Closes ALL file descriptors after forking to daemon. | |
2317 | ||
2318 | added new temperature attribute (231, temperature) | |
2319 | ||
2320 | smartd: now open ATA disks using O_RDONLY | |
2321 | ||
2322 | smartmontools-5.0-11 | |
2323 | ||
2324 | smartd now prints the name of a failed or changed attribute | |
2325 | into logfile, not just ID number | |
2326 | ||
2327 | Changed name of -p (print version) option to -V | |
2328 | ||
2329 | Minor change in philosophy: if a SMART command fails or the device | |
2330 | appears incapable of a SMART command that the user has asked for, | |
2331 | complain by printing an error message, but go ahead and try | |
2332 | anyway. Since unimplemented SMART commands should just return an | |
2333 | error but not cause disk problems, this should't cause any | |
2334 | difficulty. | |
2335 | ||
2336 | Added two new flags: q and Q. q is quiet mode - only print: For | |
2337 | the -l option, errors recorded in the SMART error log; For the -L | |
2338 | option, errors recorded in the device self-test log; For the -c | |
2339 | SMART "disk failing" status or device attributes (pre-failure or | |
2340 | usage) which failed either now or in the past; For the -v option | |
2341 | device attributes (pre-failure or usage) which failed either now | |
2342 | or in the past. Q is Very Quiet mode: Print no ouput. The only | |
2343 | way to learn about what was found is to use the exit status of | |
2344 | smartctl. | |
2345 | ||
2346 | smartctl now returns sensible values (bitmask). See smartctl.h | |
2347 | for the values, and the man page for documentation. | |
2348 | ||
2349 | The SMART status check now uses the correct ATA call. If failure | |
2350 | is detected we search through attributes to list the failed ones. | |
2351 | If the SMART status check shows GOOD, we then look to see if their | |
2352 | are any usage attributes or prefail attributes have failed at any | |
2353 | time. If so we print them. | |
2354 | ||
2355 | Modified function that prints vendor attributes to say if the | |
2356 | attribute has currently failed or has ever failed. | |
2357 | ||
2358 | -p option now prints out license info and CVS strings for all | |
2359 | modules in the code, nicely formatted. | |
2360 | ||
2361 | Previous versions of this code (and Smartsuite) only generate | |
2362 | SMART failure errors if the value of an attribute is below the | |
2363 | threshold and the prefailure bit is set. However the ATA Spec | |
2364 | (ATA4 <=Rev 4) says that it is a SMART failure if the value of an | |
2365 | attribute is LESS THAN OR EQUAL to the threshold and the | |
2366 | prefailure bit is set. This is now fixed in both smartctl and | |
2367 | smartd. Note that this is a troubled subject -- the original | |
2368 | SFF 8035i specification defining SMART was inconsistent about | |
2369 | this. One section says that Attribute==Threshold is pass, | |
2370 | and another section says it is fail. However the ATA specs are | |
2371 | consistent and say Attribute==Threshold is a fail. | |
2372 | ||
2373 | smartd did not print the correct value of any failing SMART attribute. It | |
2374 | printed the index in the attribute table, not the attribute | |
2375 | ID. This is fixed. | |
2376 | ||
2377 | when starting self-tests in captive mode ioctl returns EIO because | |
2378 | the drive has been busied out. Detect this and don't return an eror | |
2379 | in this case. Check this this is correct (or how to fix it?) | |
2380 | ||
2381 | fixed possible error in how to determine ATA standard support | |
2382 | for devices with no ATA minor revision number. | |
2383 | ||
2384 | device opened only in read-only not read-write mode. Don't need R/W | |
2385 | access to get smart data. Check this with Andre. | |
2386 | ||
2387 | smartctl now handles all possible choices of "multiple options" | |
2388 | gracefully. It goes through the following phases of operation, | |
2389 | in order: INFORMATION, ENABLE/DISABLE, DISPLAY DATA, RUN/ABORT TESTS. | |
2390 | Documentation has bee updated to explain the different phases of | |
2391 | operation. Control flow through ataPrintMain() | |
2392 | simplified. | |
2393 | ||
2394 | If reading device identity information fails, try seeing if the info | |
2395 | can be accessed using a "DEVICE PACKET" command. This way we can | |
2396 | at least get device info. | |
2397 | ||
2398 | Modified Makefile to automatically tag CVS archive on issuance of | |
2399 | a release | |
2400 | ||
2401 | Modified drive detection so minor device ID code showing ATA-3 rev | |
2402 | 0 (no SMART) is known to not be SMART capable. | |
2403 | ||
2404 | Now verify the checksum of the device ID data structure, and of the | |
2405 | attributes threshold structure. Before neither of these | |
2406 | structures had their checksums verified. | |
2407 | ||
2408 | New behavior vis-a-vis checksums. If they are wrong, we log | |
2409 | warning messages to stdout, stderr, and syslog, but carry on | |
2410 | anyway. All functions now call a checksumwarning routine if the | |
2411 | checksum doesn't vanish as it should. | |
2412 | ||
2413 | Changed Read Hard Disk Identity function to get fresh info from | |
2414 | the disk on each call rather than to use the values that were read | |
2415 | upon boot-up into the BIOS. This is the biggest change in this | |
2416 | release. The ioctl(device, HDIO_GET_IDENTITY, buf ) call should | |
2417 | be avoided in such code. Note that if people get garbled strings | |
2418 | for the model, serial no and firmware versions of their drives, | |
2419 | then blame goes here (the BIOS does the byte swapping for you, | |
2420 | apparently!) | |
2421 | ||
2422 | Function ataSmartSupport now looks at correct bits in drive | |
2423 | identity structure to verify first that these bits are valid, | |
2424 | before using them. | |
2425 | ||
2426 | Function ataIsSmartEnabled() written which uses the Drive ID state | |
2427 | information to tell if SMART is enabled or not. We'll carry this | |
2428 | along for the moment without using it. | |
2429 | ||
2430 | Function ataDoesSmartWork() guaranteed to work if the device | |
2431 | supports SMART. | |
2432 | ||
2433 | Replace some numbers by #define MACROS | |
2434 | ||
2435 | Wrote Function TestTime to return test time associated with each | |
2436 | different type of test. | |
2437 | ||
2438 | Thinking of the future, have added a new function called | |
2439 | ataSmartStatus2(). Eventually when I understand how to use the | |
2440 | TASKFILE API and am sure that this works correctly, it will | |
2441 | replace ataSmartStatus(). This queries the drive directly to | |
2442 | see if the SMART status is OK, rather than comparing thresholds to | |
2443 | attribute values ourselves. But I need to get some drives that fail | |
2444 | their SMART status to check it. | |
2445 | ||
2446 | ||
2447 | smartmontools-5.0-10 | |
2448 | Removed extraneous space before printing in some error messages | |
2449 | Fixed additional typos in documentation | |
2450 | Fixed some character buffers that were too short for their contents. | |
2451 | ||
2452 | smartmontools-5.0-9 | |
2453 | ||
2454 | Put project home path into all source files near the top | |
2455 | Corrected typos in the documentation | |
2456 | Modified Makefile so that Mandrake Cooker won't increment version number | |
2457 | (unless they happen to be working on my machine, which I doubt!) | |
2458 | ||
2459 | smartmontools-5.0-8: | |
2460 | ||
2461 | For IBM disks whose raw temp data includes three temps. print all | |
2462 | three | |
2463 | ||
2464 | print timestamps for error log to msec precision | |
2465 | ||
2466 | added -m option for Hitachi disks that store power on life in | |
2467 | minutes | |
2468 | ||
2469 | added -L option for printing self-test error logs | |
2470 | ||
2471 | in -l option, now print power on lifetime, so that one can see | |
2472 | when the error took place | |
2473 | ||
2474 | updated SMART structure definitions to ATA-5 spec | |
2475 | ||
2476 | added -p option | |
2477 | ||
2478 | added -f and -F options to enable/disable autosave threshold | |
2479 | parameters | |
2480 | ||
2481 | changed argv parsing to use getops -- elminate buffer overflow | |
2482 | vulnerability | |
2483 | ||
2484 | expanded and corrected documentation | |
2485 | ||
2486 | fixed problem with smartd. It did not actually call | |
2487 | ataSmartEnable()! Since the argument was left out, the test | |
2488 | always suceeded because it evaluated to a pointer to the function. | |
2489 | ||
2490 | smartd: closed open file descriptors if device does not support | |
2491 | smart. Note: this still needs to be fixed for SCSI devices | |
2492 | ||
2493 | ||
2494 | smartmontools-5.0-0 STARTED with smartsuite-2.1-2 |