]> git.proxmox.com Git - mirror_smartmontools-debian.git/blame - ChangeLog
Update to Standards-Version 3.9.5, no changes need
[mirror_smartmontools-debian.git] / ChangeLog
CommitLineData
d2e702cf
GI
1$Id: ChangeLog 3990 2014-09-29 17:59:37Z samm2 $
2
32014-09-29 Alex Samorukov <samm@os2.kiev.ua>
4
5 drivedb.h: Added Seagate Backup Plus Slim Portable USB 3.0 drive
6
72014-08-29 Christian Franke <franke@computer.org>
8
9 drivedb.h: Fix regex syntax error (regression from r3988).
10
112014-08-22 Alex Samorukov <samm@os2.kiev.ua>
12
13 drivedb.h:
14 - fixed SanDisk X210 regular expression
15
162014-08-21 Alex Samorukov <samm@os2.kiev.ua>
17
18 drivedb.h:
19 - added SanDisk X300s SSD
20 - extended Apacer SSD support based on APSDM004G13AN-AT user report
21
222014-08-16 Alex Samorukov <samm@os2.kiev.ua>
23
24 ataprint.cpp: '-l devstat' - workaround for buggy firmware by provided
25 Christian Franke
26
272014-08-15 Alex Samorukov <samm@os2.kiev.ua>
28
29 ataprint.cpp: device statistic - use smart log if GP log is not available
30
312014-08-15 Alex Samorukov <samm@os2.kiev.ua>
32
33 os_darwin.cpp:
34 - Migrated to the new interface
35 - Added multisector support
36 - Fixed smart autosave processing
37
382014-07-26 Christian Franke <franke@computer.org>
39
40 smartmontools 6.3
41
422014-07-25 Christian Franke <franke@computer.org>
43
44 drivedb.h:
45 - Apple SD/SM/TS...E/F SSDs: Rename, add TS*[EF]
46 - JMicron based SSDs: Fix regex for Apple TS*C
47 - Marvell based SanDisk SSDs: X210
48
492014-07-25 Alex Samorukov <samm@os2.kiev.ua>
50
51 drivedb.h: Apple SM* SSD - add attribute 173 description (guessed)
52
532014-07-23 Christian Franke <franke@computer.org>
54
55 ataprint.cpp: Print SCT Status regardless of SCT Data Table support.
56 atacmds.cpp: ataReadSCTTempHist(): Do not reread initial SCT Status.
57 configure.ac: Fix typo in help text. Add MinGW comment.
58
592014-07-22 Christian Franke <franke@computer.org>
60
61 drivedb.h:
62 - Apple SD/SM...E/F SSDs (ticket #342)
63 - Apple SSD SM128, Asus-Phison SSD: Remove (missing attribute info)
64
652014-07-20 Christian Franke <franke@computer.org>
66
67 atacmds.cpp: Rework heuristics for 'tempminmax' format.
68 Now supports negative values (ticket #291) and WDC over temperature
69 counter.
70 Change default for Head_Flying_Hours to 'raw24(raw8)'. This provides
71 more reasonable output for Seagate HDDs missing in drivedb.h.
72 drivedb.h: Comment new default for Head_Flying_Hours.
73 smartctl.8.in, smartd.8.in, smartd.conf.5.in:
74 Fix usage of line breaks and empty lines.
75
762014-07-19 Christian Franke <franke@computer.org>
77
78 smartctl.8.in, smartd.8.in, smartd.conf.5.in, update-smart-drivedb.8.in:
79 Add FILES section. Move FULL PATH info to FILES section.
80 Rename REFERENCES section. Move HOME PAGE info to REFERENCES section.
81 Remove AUTHORS section from smartd.conf man page.
82 Update or remove various outdated info.
83
842014-07-18 Christian Franke <franke@computer.org>
85
86 configure.ac: Use 'email' instead of 'mail' on Cygwin.
87 Remove outdated '-mno-cygwin' error check.
88 Makefile.am, smartd.conf.5.in: Replace 'mail' by actual platform
89 specific mailer.
90 examplescripts/README, examplescripts/Example[123]: Remove bashisms.
91 Use '/usr/bin/mail' instead of '/bin/mail'.
92 os_win32/daemon_win32.cpp: Support older MinGW headers with missing
93 struct SERVICE_DELAYED_AUTO_START_INFO.
94
952014-07-17 Christian Franke <franke@computer.org>
96
97 drivedb.h:
98 - Crucial/Micron MX100/M500/M510/M550 Client SSDs: Rename, add MX100,
99 update MX510/550
100 - Indilinx Barefoot based SSDs: OCZ Vertex 1.10
101 - Intel 320 Series SSDs: 'L' variant
102 - JMicron based SSDs: Transcend *18M-M variant
103 - Plextor M3/M5 (Pro) Series SSDs: M5M (mSATA) variant
104 - Samsung based SSDs: 840 EVO
105
1062014-07-16 Christian Franke <franke@computer.org>
107
108 drivedb.h:
109 - Marvell based SanDisk SSDs: Extreme II (ticket #334), others
110 - SanDisk based SSDs: iSSD P4 (ticket #272), U100 (ticket #337), others
111 - USB: Iomega (0x059b:0x047a)
112 - USB: WD My Passport: Merge entries
113 - USB: WD My Passport USB 3.0 (0x1058:0x074a, 0x1058:0x0820)
114 - USB: ADATA (0x125f:0xa[13]1a)
115 - USB: JMicron JMS539 (0x152d:0x0539): New FW supports SAT (ticket #338)
116 - USB: TrekStor Datastation (0x1e68:0x0050) (Red Hat Bugzilla 954162)
117
1182014-07-13 Christian Franke <franke@computer.org>
119
120 atacmds.cpp: Add missing const and initialization.
121 Don't print extra '\n' if self-test log is empty.
122 ataprint.cpp: Add new ACS-4 log.
123 cciss.cpp: Fix C++11 builds on Linux. GCC and CLang do not
124 predefine 'linux' when in '-std=c++11' mode.
125 smartd.cpp: Update description of Windows smartd service.
126 README: Update license info. Remove outdated ATA references.
127
1282014-07-10 Christian Franke <franke@computer.org>
129
130 Makefile.am: Rework build of Solaris specific man pages.
131 This fixes some bogus and some missing replacements.
132 smartctl.8.in, smartd.8.in, smartd.conf.5.in: Minor typo and syntax
133 fixes.
134
1352014-07-09 Christian Franke <franke@computer.org>
136
137 smartctl.8.in, smartd.8.in, smartd.conf.5.in: Avoid '.SH' macros with no
138 argument. Remove colons from section names.
139 Merge sections CONTRIBUTORS and CREDITS with AUTHORS.
140 Update SEE ALSO sections.
141
1422014-07-05 Christian Franke <franke@computer.org>
143
144 configure.ac: Remove snprintf() compile time test.
145 Add '--with-working-snprintf' configure option.
146 Add __USE_MINGW_ANSI_STDIO test for MinGW GCC.
147 utility.cpp: Add snprintf() runtime test.
148 Add GCC version to output of -V option.
149 Makefile.am: Add update-smart-drivedb.1m for Solaris.
150
1512014-06-30 Christian Franke <franke@computer.org>
152
153 configure.ac: Update macros as suggested by 'autoconf --warnings=obsolete'.
154 Makefile.am: Add creation of empty directories to install targets.
155
1562014-06-29 Christian Franke <franke@computer.org>
157
158 configure.ac, Makefile.am, smartd.cpp, smartd_warning.sh.in:
159 Add '--with-smartdscriptdir' configure option to change location of
160 smartd_warning.sh (Debian bug 710815).
161 Add '--with-smartdplugindir' configure option to change (or disable)
162 smartd_warning.sh plugin location.
163 smartd.conf.5.in: Optionally hide the plugin documentation.
164
1652014-06-27 Christian Franke <franke@computer.org>
166
167 Makefile.am: Add update-smart-drivedb.8 target.
168 update-smart-drivedb.8.in: Add copyright and version info.
169 Adjust path names for make target.
170 Add FreeBSD/OpenBSD specific info.
171
1722014-06-27 Hannes von Haugwitz <hannes@vonhaugwitz.com>
173
174 update-smart-drivedb.8.in: New man page (Debian bug 708433).
175
1762014-06-27 Christian Franke <franke@computer.org>
177
178 configure.ac: Suppress pkg-config warnings about missing 'systemd.pc'.
179 Makefile.am: Silence build of man pages and svnversion.h.
180 This makes '--enable-silent-rules' or 'make V=0' more effective
181 (available since automake 1.13).
182
1832014-06-27 Christian Franke <franke@computer.org>
184
185 drivedb.h:
186 - Crucial/Micron RealSSD C300/M500: New attributes (ticket #326)
187 - SandForce Driven SSDs: ADATA XM11, Corsair Force LS, OWC Aura Pro 6G
188 OWC Mercury Electra Pro 3G, PNY Prevail Elite, Transcend SSD320/720
189
1902014-06-25 Christian Franke <franke@computer.org>
191
192 os_win32.cpp: Fix calculation of SCSI resid.
193
1942014-06-23 Christian Franke <franke@computer.org>
195
196 scsiata.cpp: usbjmicron_device: Fix SMART Status check for USB bridges
197 which always return 0x01. Add JMicron specific error messages.
198
1992014-06-22 Christian Franke <franke@computer.org>
200
201 atacmds.cpp, ataprint.cpp: Improve messages for unsupported SMART Status
202 command.
203 ataprint.cpp: Print form factor.
204
2052014-06-21 Christian Franke <franke@computer.org>
206
207 drivedb.h:
208 - Crucial/Micron M500/M510/M550 Client SSDs
209 - Micron M500DC Enterprise SSDs
210 Based on patch provided by Clayton Hawkings from Micron.
211
2122014-06-20 Christian Franke <franke@computer.org>
213
214 autogen.sh: automake 1.14.1 works.
215
2162014-06-20 Christian Franke <franke@computer.org>
217
218 scsiata.cpp: usbjmicron_device: Check SCSI resid for SMART STATUS.
219 Some (Prolific) USB bridges do not transfer a status byte.
220 os_win32.cpp: Include SCSI resid in debug output.
221
2222014-06-19 Douglas Gilbert <dgilbert@interlog.com>
223
224 scsiprint.cpp:
225 - minor comment clean-up
226
2272014-06-19 Christian Franke <franke@computer.org>
228
229 drivedb.h:
230 - Intel 730 and DC S3500/S3700 Series SSDs: rename, add 730 and S3700.
231 Remove extra S3700 entry. Based on patch provided by Tim Small.
232
2332014-06-18 Christian Franke <franke@computer.org>
234
235 os_win32.cpp: Fix CSMI support for older Intel RST drivers which set
236 bPortIdentifier=0xff (regression from r3888).
237 os_win32/installer.nsi: Create standard InstallLocation registry entry.
238 Keep old Install_Dir entry if needed for GSmartControl.
239 Update links in registry and shortcuts.
240
2412014-06-18 Christian Franke <franke@computer.org>
242
243 drivedb.h:
244 - USB: Buffalo MiniStationHD-PCFU3 (0x0411:0x0240)
245 - USB: Toshiba Stor.E Plus (0x0480:0xa00a) (Debian bug 734395)
246 - USB: Samsung D3 Station (0x04e8:0x6124) (ticket #332)
247 - USB: Samsung M3 Portable (0x04e8:0x61b[45])
248 - USB: Seagate Expansion Portable (0x0bc2:0x2312)
249 - USB: Seagate Expansion External (0x0bc2:0x3312) (ticket #320)
250 - USB: WD Elements (0x1058:0x10[ab]8) (ticket #331)
251 - USB: ASMedia AS2105 (0x174c:0x5136)
252
2532014-06-16 Christian Franke <franke@computer.org>
254
255 drivedb.h:
256 - Seagate Laptop Thin HDD
257 - Seagate Barracuda 7200.14 (AF): *DM000 variant
258 - Seagate Barracuda Green (AF): no warnings for newer firmware versions
259 - Seagate Constellation.2 (SATA)
260 - Seagate NAS HDD
261 - Seagate Video 3.5 HDD
262
2632014-06-15 Christian Franke <franke@computer.org>
264
265 drivedb.h, smartctl.8.in, smartd.8.in, INSTALL, NEWS, TODO, WARNINGS:
266 Fix old Trac links.
267
2682014-05-23 Alex Samorukov <samm@os2.kiev.ua>
269
270 os_freebsd.cpp: fixed #321 (compiler warning on 32 bit architectures),
271 patch provided by tijl
272
2732014-05-01 Christian Franke <franke@computer.org>
274
275 os_linux.cpp: Clarify copyright info in GPL header.
276 smartctl.8.in, smartd.conf.5.in: Update '-d aacraid' info.
277
2782014-04-30 Douglas Gilbert <dgilbert@interlog.com>
279
280 scsiprint.cpp:
281 - Lowest aligned LBA > 0 not common so only output in that case
282
2832014-04-28 Christian Franke <franke@computer.org>
284
285 autogen.sh: Allow automake 1.14, suppress 'subdir-objects' warning.
286 Makefile.am: Add new 'compile' script to target 'maintainer-clean'.
287
2882014-04-28 Douglas Gilbert <dgilbert@interlog.com>
289
290 scsicmds.h, scsicmds.cpp, scsiprint.h:
291 - improve handling of modern SCSI disks (SAS SSDs)
292 show compliance (SCSI version), show 12 Gbps SAS-3
293 speed, and flag ZBC presence
294
2952014-04-27 Alex Samorukov <samm@os2.kiev.ua>
296
297 drivedb.h:
298 - Toshiba 3.5" MG03ACAxxx(Y) Enterprise HDD
299
3002014-04-27 Christian Franke <franke@computer.org>
301
302 Fixes for aacraid patch:
303 aacraid.h: Fix typo which breaks 32-bit build.
304 os_linux.cpp: Remove useless member variable afd.
305 Fix error handling of /proc/devices parsing.
306 Avoid unsafe sprintf(). Fix help text.
307
3082014-04-27 Raghava Aditya <raghava.aditya@pmcs.com>
309
310 os_linux.cpp:
311 - Added support for aacraid drivers
312 - Created a new interface for aacraid
313 smartctl -d aacraid,H,L,ID /dev/sdx
314
3152014-04-18 Douglas Gilbert <dgilbert@interlog.com>
316
317 scsicmds.cpp:
318 - supported_vpd_pages(): lower response length to stop sense data
319 noise on old disks (pre SPC-3)
320
3212014-04-17 Christian Franke <franke@computer.org>
322
323 drivedb.h:
324 - Western Digital RE4 (SATA 6Gb/s): WD2000FYYX
325 - Western Digital Se
326 - Western Digital Caviar Green (AF, SATA 6Gb/s): 4TB
327 - Western Digital Black: Rename, add 3TB, AF, remove extra AF entry
328 - Western Digital Red: 4TB (ticket #322)
329 - Western Digital Blue Mobile
330
3312014-04-10 Christian Franke <franke@computer.org>
332
333 os_win32.cpp: Rework CSMI port scanning.
334 Use bPortIdentifier instead of Phy array index for addressing.
335 Ignore possibly bogus bNumberOfPhys (ticket #325).
336
3372014-04-09 Douglas Gilbert <dgilbert@interlog.com>
338
339 scsiprint.cpp:
340 - add guard to scsiPrintSasPhy() invocation; resolve ticket #204
341
3422014-04-06 Christian Franke <franke@computer.org>
343
344 WARNINGS: Remove all entries. Add link to Warnings page in Wiki.
345
3462014-03-13 Christian Franke <franke@computer.org>
347
348 drivedb.h:
349 - Crucial/Micron RealSSD C300/M500: *SSD1 variant
350 - SandForce Driven SSDs: ADATA SP300, ADATA SP800, ADATA SP900 DL2,
351 Corsair Force SSD, Kingston SE50S3, Kingston SKC380S3,
352 Smart Storage XceedIOPS2, VisionTek GoDrive
353 - Indilinx Barefoot 3 based SSDs: OCZ VERTEX 450
354 - JMicron based SSDs: ADATA SP600
355 - Plextor M3/M5 (Pro) Series SSDs: Rename, add M5S (ticket #297), M5Pro
356
3572014-03-06 Christian Franke <franke@computer.org>
358
359 drivedb.h:
360 - OCZ Intrepid 3000 SSDs
361 - Intel 320 Series SSDs: 'D' variant (ticket #315)
362 - Intel DC S3500 Series SSDs: 'T' variant (ticket #315)
363
3642014-03-05 Christian Franke <franke@computer.org>
365
366 ataprint.cpp: Check SCT Feature Control support bit for '-g/-s wcreorder'.
367 This prevents bogus error messages if SCT support excludes SCT Feature
368 Control command.
369 atacmds.cpp: Fix error message text for SCT Feature Control command.
370
3712014-03-03 Christian Franke <franke@computer.org>
372
373 smartctl.8.in, smartd.8.in, smartd.conf.5.in: Remove bashisms from
374 shell script examples.
375
3762014-03-03 Christian Franke <franke@computer.org>
377
378 Makefile.am, os_win32/smart*_res.rc.in: Set Copyright year in
379 Windows VERSIONINFO resource.
380
3812014-03-03 Christian Franke <franke@computer.org>
382
383 os_linux.cpp: Fix glob(3) max path count (ticket #317).
384
3852014-03-03 Christian Franke <franke@computer.org>
386
387 configure.ac, Makefile.am: Add '--with-systemdenvfile=[FILE|no]'
388 configure option to change or remove (ticket #316) the systemd
389 EnvironmentFile setting.
390 smartd.service.in: Add a reference to documentation (ticket #316).
391
3922014-02-18 Alex Samorukov <samm@os2.kiev.ua>
393 os_freebsd.cpp: use %lu for iop->resp_sense_len
394
3952014-02-16 Alex Samorukov <samm@os2.kiev.ua>
396 os_freebsd.cpp: mass updates, provided by Tijl Coosemans
397 - Remove some unused private fields from some classes (found by Clang)
398 - In freebsd_scsi_device::scsi_pass_through:
399 * Make sure this function returns false on error instead of an error
400 code that gets converted to true.
401 * Put printing of the "Incoming data" debug info right after the
402 cam_send_ccb() call and before the error checking to make debugging
403 easier.
404 * When copying sense data make sure the fields in the CCB are actually
405 valid with CAM_AUTOSNS_VALID. Also make sure that the size of the
406 sense data doesn't overflow max_sense_len. This was the real cause for
407 the crash in ports/181836.
408 * Add some debug printing on the sense data.
409
4102014-02-03 Christian Franke <franke@computer.org>
411
412 dev_areca.cpp: Check cmds index before use (ticket #312).
413 Make cmds array static const.
414
4152014-01-01 Christian Franke <franke@computer.org>
416
417 Happy New Year! Update copyright year in version info.
418
4192013-12-21 Christian Franke <franke@computer.org>
420
421 drivedb.h:
422 - Intel 525 Series SSDs
423 - Intel 530 Series SSDs (ticket #308)
424
4252013-12-19 Christian Franke <franke@computer.org>
426
427 drivedb.h:
428 - Seagate Samsung Spinpoint F4
429 - Seagate Desktop SSHD
430 - Seagate Constellation CS
431 - Western Digital Red: *JFCX variant
432 - Western Digital Green Mobile
433 - Western Digital Elements / My Passport (USB): rename
434
4352013-12-19 Christian Franke <franke@computer.org>
436
437 autogen.sh: automake 1.13.3 works.
438
4392013-12-14 Christian Franke <franke@computer.org>
440
441 drivedb.h:
442 - Toshiba 2.5" HDD MK..65GSX: "... H" (USB?) variant
443 - Toshiba 2.5" HDD MQ01UBD... (USB 3.0)
444 - USB: Toshiba Stor.E Slim USB 3.0 (0x0480:0x0100)
445 - USB: Toshiba Stor.E Basics (0x0480:0xa009)
446 - USB: Toshiba Stor.E (0x0939:0x0b15)
447 - USB: Seagate FreeAgent GoFlex (0x0bc2:0x5020)
448 - USB: WD My Passport Ultra (0x1058:0x0741)
449 - USB: WD Elements (0x1058:0x1048)
450 - USB: Initio (0x13fd:0x1640) (ticket #295)
451 - USB: LucidPORT (0x1759:0x5100)
452
4532013-12-08 Christian Franke <franke@computer.org>
454
455 drivedb.h:
456 - Apacer SDM4: SFDDA01C firmware (ticket #304).
457 - Crucial/Micron RealSSD m4/C400/P400: M4 SSD1 (ticket #306).
458 - Seagate Barracuda 7200.14: Check part number to avoid bogus
459 firmware bug warning (ticket #298).
460
4612013-11-23 Christian Franke <franke@computer.org>
462
463 configure.ac, utility.cpp: Remove __DATE__, __TIME__
464 and SMARTMONTOOLS_CONFIGURE_DATE.
465 This obsoletes OpenSUSE nobuild-date.patch.
466 Reproducible builds are now supported.
467
4682013-11-15 Alex Samorukov <samm@os2.kiev.ua>
469
470 os_freebsd.cpp: Fix crash on FreeBSD 9.2 caused by wrong
471 SCSI status check condition.
472 os_freebsd.cpp: Print debug info on errors only if requested.
473
4742013-11-07 Matt Kraai <...>
475
476 smartctl.cpp: Add missing stdlib.h.
477 This fixes build on QNX 6.3.2 (ticket #300).
478
4792013-11-07 Roger Röhrig <...>
480
481 drivedb.h: Intel DC S3500 Series SSDs: Add -F xerrorlba.
482
4832013-11-07 Roger Röhrig <...>
484
485 atacmds.cpp: Fix Extended Comprehensive Error Log timestamp
486 byte order on big endian machines.
487
4882013-09-12 Christoph Egger <christoph@debian.org>
489
490 dev_areca.h: Fix build on kFreeBSD (Debian bug 717567).
491 This obsoletes Debian kfreebsd.patch.
492
4932013-08-17 Christian Franke <franke@computer.org>
494
495 examplescripts: Add scripts from Debian and Fedora packages.
496
4972013-08-17 Christian Franke <franke@computer.org>
498
499 Add spaces between string literals and macro identifiers.
500 This avoids the interpretation as user-defined literals if
501 C++11 is enabled (g++ -std=gnu++11).
502
5032013-08-15 Dan Lukes <dan+smartmontools.changelog@obluda.cz>
504
505 drivedb.h: Intel DC S3500 Series SSDs
506
5072013-08-12 Christian Franke <franke@computer.org>
508
509 drivedb.h: Intel 320 Series SSDs: Add attribute 183 and 199.
510
5112013-08-10 Christian Franke <franke@computer.org>
512
513 autogen.sh: automake 1.10.3, 1.12.6, and 1.13.4 work.
514 The new automake 1.14 is left out for now due to the
515 'subdir-objects' warning and the new 'compile' script.
516 Add options '--force' and '--warnings=CATEGORY'.
3d17a85c
GI
517
5182013-07-26 Christian Franke <franke@computer.org>
519
520 smartmontools 6.2
521
5222013-07-25 Christian Franke <franke@computer.org>
523
524 drivedb.h:
525 - SandForce Driven SSDs: ADATA SP900
526 - Transcend CompactFlash Cards: *GCF150
527 - Hitachi/HGST Travelstar 5K750: Apple OEM
528 - Hitachi/HGST Travelstar Z7K500
529 - Hitachi/HGST Travelstar 7K750
530 - Hitachi Deskstar 5K3000: *BLE630 OEM
531 - Seagate Constellation ES.3
532 - Western Digital Caviar Blue (SATA): Rename, add WD1602ABKS
533 - Western Digital Caviar Blue (SATA 6Gb/s): Rename, add WD10EZEX
534 - USB: Toshiba Canvio 3.0 Portable Hard Drive (0x0480:0xa007)
535 - USB: Toshiba Canvio Desktop (0x0480:0xd010)
536 - USB: Seagate FreeAgent Desk (0x0bc2:0x3008)
537 - USB: Sharkoon 2-Bay RAID Box (0x6795:0x2756)
538
5392013-07-21 Christian Franke <franke@computer.org>
540
541 utility.cpp: Add check for empty subexpressions in regular expressions.
542
5432013-07-21 Christian Franke <franke@computer.org>
544
545 drivedb.h:
546 - Crucial/Micron RealSSD C300/M500: Rename, add M500
547 - SandForce Driven SSDs: Kingston KC300, MS200
548 - Intel 320 Series SSDs: *A variant
549 - Intel 330/335 Series SSDs: Rename, add 335 Series
550 - Toshiba 2.5" HDD MK..46GSX
551 - Toshiba 2.5" HDD MK..61GSY[N]: Rename, add *GSY variant
552 - Toshiba 2.5" HDD MK..65GSX: *GSXF variant
553 - Toshiba 3.5" HDD DT01ACA...
554 - Seagate Laptop SSHD
555 - Seagate Constellation ES.2: 2GB
556 - USB: Seagate Expansion External (0x0bc2:0x3320)
557 - USB: Seagate Backup Plus Desktop USB 3.0 (0x0bc2:0xa0a1)
558 - USB: WD Elements (0x1058:0x10a2)
559
5602013-07-20 Christian Franke <franke@computer.org>
561
562 dev_areca.cpp: Fix possible segfault on empty port.
563
5642013-07-20 Christian Franke <franke@computer.org>
565
566 os_win32/daemon_win32.cpp: Do not install the service as interactive.
567 This is no longer supported since Vista and produces misleading error
568 messages in event log.
569
5702013-07-20 Christian Franke <franke@computer.org>
571
572 ataprint.cpp: Do not print 'SCT Commands not supported' if SCT is
573 not used (regression from r3825 r3826).
574 smartctl.8.in: Mark '-g/-s wcreorder' as EXPERIMENTAL.
575
5762013-07-18 Christian Franke <franke@computer.org>
577
578 os_win32.cpp: Add Win-8.1 and 2012r2 to get_os_version_str(),
579 remove 9x/ME and NT4.
580
5812013-07-08 Alex Samorukov <samm@os2.kiev.ua>
582
583 Add Automake 1.12.2 to the list of supported versions
584
5852013-07-07 Christian Franke <franke@computer.org>
586
587 configure.ac: Support SVN 1.8 working copy format.
588
5892013-07-06 Alex Samorukov <samm@os2.kiev.ua>
590
591 smartctl: Added ATA Write Cache Reordering control using "-g wcreorder"
592 and "-s wcreorder[,on|off]" options (bug #221)
593 smartctl: minor formatting fixes
594
5952013-07-05 Alex Samorukov <samm@os2.kiev.ua>
596
597 HPT RAID support: maximum disk number now is 128 (#281)
598
5992013-06-28 Alex Samorukov <samm@os2.kiev.ua>
600
601 drivedb.h:
602 - Apacer SDM4 2Gb SSD
603
6042013-06-17 Alex Samorukov <samm@os2.kiev.ua>
605
606 scsicmds.cpp: fix build on RedHat 9
607 os_freebsd.cpp: skip port multipliers on FreeBSD
608 drivedb.h:
609 - OWC Mercury EXTREME Pro 6G SSD (from #277)
610 - USB: Fujitsu SATA-to-USB3.0 bridge chip (#280)
611
6122013-06-12 Alex Samorukov <samm@os2.kiev.ua>
613
614 drivedb.h:
615 - JMicron SSD: P400e/P400m series
616
6172013-06-09 Christian Franke <franke@computer.org>
618
619 INSTALL, NEWS, README, WARNINGS: Update SVN repository URLs.
620
6212013-06-09 Christian Franke <franke@computer.org>
622
623 os_win32/smartd_warning.cmd: Using %DATE% in temp file names
624 breaks the script if localized date contains '/'
625 (This fix is already included in smartmontools-6.1-2.win32-setup.exe).
626
6272013-06-06 Christian Franke <franke@computer.org>
628
629 os_win32/update-smart-drivedb.nsi: Use new SVN repository for
630 download.
631
6322013-06-04 Christian Franke <franke@computer.org>
633
634 update-smart-drivedb.in: Use new sourceforge code browser for
635 download.
ee38a438
GI
636
6372013-04-20 Christian Franke <franke@computer.org>
638
639 drivedb.h:
640 - InnoDisk InnoLite SATADOM D150QV-L SSDs
641 - Intel 313 Series SSDs
642 - Intel 330 Series SSDs: 240GB
643 - JMicron based SSDs: Kingston V200 (ticket #267)
644 - Samsung based SSDs: SM843T Series
645
6462013-04-20 Christian Franke <franke@computer.org>
647
648 configure.ac: Linux: Try 'hostname -y' if 'nishostname' is missing.
649
6502013-04-18 Christian Franke <franke@computer.org>
651
652 configure.ac, smartd_warning.sh.in: Add platform specific commands for
653 host and domain names.
654 os_win32/smartd_warning.cmd: Use WMI for DNS domain name.
655
6562013-04-18 Christian Franke <franke@computer.org>
657
658 scsicmds.cpp, scsiprint.cpp: Silence -Wmaybe-uninitialized warning
659 (g++ 4.8.0 with -flto).
660
6612013-03-29 Christian Franke <franke@computer.org>
662
663 os_darwin.cpp: Silence -Wself-assign warning (ticket #266).
664 os_darwin.cpp, os_netbsd.cpp, os_os2.cpp, os_qnxnto.cpp, os_solaris.cpp:
665 Remove dummy functions no longer called since r3192.
666
6672013-03-27 Christian Franke <franke@computer.org>
668
669 os_win32.cpp: Silence -Wunused-local-typedefs warning.
670
6712013-03-24 Christian Franke <franke@computer.org>
672
673 dev_areca.cpp: Add casts to silence C++11 -Wnarrowing warning
674 from g++ 4.8.
675
6762013-03-24 Christian Franke <franke@computer.org>
677
678 Windows: Compile fixes for 64-bit Cygwin.
679 It uses LP64 model instead of LLP64 (64-bit MSVC, MinGW).
680
6812013-03-16 Christian Franke <franke@computer.org>
682
683 smartmontools 6.1
684
6852013-03-15 Christian Franke <franke@computer.org>
686
687 os_win32.cpp: Support device names /dev/sd[a-z][a-z] (ticket #240).
688 Enhance DEVICESCAN to 128 drives. Add '-d [TYPE,]pd' option.
689 smartctl.8.in, smartd.8.in: Document these enhancements.
690
6912013-03-14 Christian Franke <franke@computer.org>
692
693 drivedb.h:
694 - Seagate Barracuda 7200.14: Fix regex for new firmware version.
695
6962013-03-13 Christian Franke <franke@computer.org>
697
698 drivedb.h:
699 - USB: Prolific PL3507 (0x067b:0x3507): works with '-d usbjmicron,p'
700
7012013-03-13 Christian Franke <franke@computer.org>
702
703 Create branch RELEASE_6_0_DRIVEDB with last drivedb.h file
704 compatible with smartmontools 6.0.
705
7062013-03-13 Christian Franke <franke@computer.org>
707
708 drivedb.h:
709 - SandForce Driven SSDs: Fix format of attribute 198 (ticket #258).
710 - SandForce Driven SSDs: Corsair Force GS
711 - Indilinx Barefoot_2/Everest/Martini based SSDs: OCZ VERTEX PLUS R2
712 - Samsung/Seagate SpinPoint M8: 320GB, 640GB
713 - Seagate Momentus Thin
714 - Quantum Fireball EX: 10.2GB
715
7162013-03-07 Christian Franke <franke@computer.org>
717
718 ataidentify.cpp, ataprint.cpp: ACS-3 updates.
719 ataprint.cpp: Improve device statistics error messages.
720
7212013-03-06 Christian Franke <franke@computer.org>
722
723 smartd_warning.sh.in: Support BSD variant of 'hostname' command
724 which prints FQDN. Add Windows domain name (Cygwin).
725
7262013-03-01 Douglas Gilbert <dgilbert@interlog.com>
727
728 scsicmds.h, scsicmds.cpp, scsiprint.cpp:
729 - for SCSI disks prefer READ DEFECT(12) for finding the
730 grown defect list length (previously used READ DEFECT(10)
731 only)
732
7332013-03-01 Christian Franke <franke@computer.org>
734
735 drivedb.h:
736 - SandForce Driven SSDs: Transcend SSD320
737 - Intel 520 Series SSDs: OEM variant
738 - JMicron based SSDs: Transcend SSD25 IDE
739 - HGST Travelstar 7K1000
740 - Seagate Desktop HDD.15
741 - Seagate LD25.2
742 - Western Digital RE4 (SATA 6Gb/s)
743 - USB: Fujitsu/Zalman ZM-VE300 (0x04c5:0x2028)
744
7452013-02-23 Christian Franke <franke@computer.org>
746
747 drivedb.h: Crucial/Micron RealSSD C300: Remove bogus trailing '|' from
748 regex (Regression from r3772).
749
7502013-02-16 Douglas Gilbert <dgilbert@interlog.com>
751
752 scsicmds.h, scsicmds.cpp, scsiprint.h, scsiprint.cpp:
753 - for SCSI disks, in 'smartctl --info' report physical
754 block size and lowest LBA alignement (if PB size
755 different from LB size); logical block provisioning
756 status (if any); and disk protection (a.k.a. DIF) type
757
7582013-02-19 Alex Samorukov <samm@os2.kiev.ua>
759
760 atacmds.cpp: fixed scttemphist on LE machines, including PPC. Patch
761 and report provided by Roger Roehrig.
762
7632013-02-16 Douglas Gilbert <dgilbert@interlog.com>
764
765 scsicmds.h, scsicmds.cpp, scsiprint.h, scsiprint.cpp:
766 - SCSI VPD work; improve rotation rate reporting and add form factor
767
7682013-02-14 Christian Franke <franke@computer.org>
769
770 drivedb.h:
771 - SandForce Driven SSDs: Kingston V+ 200, Mushkin Chronos deluxe,
772 OCZ Talos 2
773 - Plextor M3 (Pro) Series SSDs
774
7752013-02-13 Christian Franke <franke@computer.org>
776
777 drivedb.h:
778 - Crucial/Micron RealSSD C300: new separate entry
779 - Crucial/Micron RealSSD m4/C400: firmware bug warning
780
7812013-02-10 Alex Samorukov <samm@os2.kiev.ua>
782
783 os_freebsd.cpp: adding device type fix for devices on MPT controllers.
784
7852013-02-06 Christian Franke <franke@computer.org>
786
787 drivedb.h:
788 - Seagate Samsung SpinPoint M8U (USB)
789 - Hitachi/HGST Travelstar Z5K500
790 - Hitachi/HGST Travelstar 5K750
791 - Hitachi/HGST Deskstar 7K4000
792 - Toshiba 2.5" HDD MK..37GSX
793 - Toshiba 2.5" HDD MK..65GSX: GSXN variant
794 - Toshiba 2.5" HDD MQ01ABD...
795 - Seagate Momentus 7200.5
796 - Western Digital Caviar Green (AF, SATA 6Gb/s): 2TB
797 - USB: Samsung M3 Portable USB 3.0 (0x04e8:0x61b6)
798 - USB: LaCie Rugged Mini USB 3.0 (0x059f:0x1051)
799 - Change short attribute names required before r3343.
800
8012013-02-05 Christian Franke <franke@computer.org>
802
803 smartd.cpp: Fix allocation of buffer passed to putenv().
804 Using putenv("NAME") to unset NAME is not portable.
805
8062013-02-05 Christian Franke <franke@computer.org>
807
808 do_release: New Signing Key.
809
8102013-01-31 Christian Franke <franke@computer.org>
811
812 dev_areca.h: Use the C++ way to specify unused arguments.
813 This silences -Wself-assign warning from clang++.
814
8152013-01-30 Christian Franke <franke@computer.org>
816
817 configure.ac: Use AC_CHECK_TOOL for winmc and windres.
818
8192013-01-30 Christian Franke <franke@computer.org>
820
821 Windows smartd: Install service with delayed auto start enabled.
822
8232013-01-26 Christian Franke <franke@computer.org>
824
825 Windows smartd: Add eventlog MESSAGETABLE resource.
826 Install/remove smartd.exe as event message file.
827 Remove syslogevt.exe tool.
828
8292013-01-26 Christian Franke <franke@computer.org>
830
831 Windows: Add required string CompanyName to VERSIONINFO.
832
8332013-01-23 Christian Franke <franke@computer.org>
834
835 Windows: Add VERSIONINFO resource to exe files.
836
8372013-01-23 Christian Franke <franke@computer.org>
838
839 drivedb.h:
840 - Crucial/Micron RealSSD C300/C400/m4: m4 mSATA variant
841 - Indilinx Barefoot 3 based SSDs
842 - Intel DC S3700 Series SSDs
843 - Samsung based SSD: Samsung SSD 840 Series
844
8452013-01-18 Christian Franke <franke@computer.org>
846
847 AUTHORS: Convert to UTF-8. Sort names. Replace tabs.
848
8492013-01-18 Christian Franke <franke@computer.org>
850
851 Rename configure.in to configure.ac to silence warning from
852 new automake.
853 autogen.sh: automake 1.12.5 is OK.
854
8552013-01-16 Christian Franke <franke@computer.org>
856
857 atacmds.cpp: Fix assignment of BYTEORDER from -v option
858 (Regression from r3719).
859
8602013-01-13 Ole Jørgen Legård <ole@smartautomation.no>
861
862 os_qnxnto.cpp: Fix include of errno.h.
863
8642013-01-12 Christian Franke <franke@computer.org>
865
866 drivedb.h:
867 - SandForce Driven SSDs: Mushkin Callisto deluxe, SuperSSpeed S301
868 - Intel 320 Series SSDs: 'B' (7mm) variant (ticket #257)
869 - SAMSUNG SpinPoint F1 EG
870 - SAMSUNG SpinPoint P80: SP0401N/TJ100-30
871 - Western Digital Caviar Black: 4TB
872 - Western Digital Caviar Black (AF): Remove non-AF models
873 - Western Digital My Passport (USB, AF): 5000L, 10J variants
874 - USB: WD My Passport USB 3.0 (0x1058:0x07a8)
875 - USB: WD My Book Studio II (0x1058:0x1105)
876
8772013-01-02 Christian Franke <franke@computer.org>
878
879 drivedb.h:
880 - SandForce Driven SSDs: ADATA S396, Kingston 3K, V+
881 - Indilinx Everest/Martini based SSDs: OCZ VERTEX PLUS
882 - Samsung based SSD: Samsung SSD 840 PRO Series
883
8842013-01-02 Christian Franke <franke@computer.org>
885
886 Add '-d usbjmicron,p' device type for Prolific USB bridges.
887 Based on patch provided by Edward Sheldrake.
888
8892013-01-01 Christian Franke <franke@computer.org>
890
891 smartd: Use Attribute 190 for temperature (-W) if 194 is not present.
892
8932013-01-01 Christian Franke <franke@computer.org>
894
895 Happy New Year! Update copyright year in version info.
896
8972012-12-16 Alex Samorukov <samm@os2.kiev.ua>
898
899 os_freebsd.cpp: WRITE LOG on LSI/Megaraid should work fine, disable
900 check, problem was linux related.
901 os_linux.cpp: Implemented autoscan for the megaraid SAS controolers.
902 os_linux.cpp: fix WRITE LOG command in SAT layer for -d megaraid.
903 Reason was direction flag always set to READ.
904 os_linux.cpp: unblock autodetection for the SAT drives in -d megaraid.
905
9062012-12-14 Christian Franke <franke@computer.org>
907
908 man pages: Fix usage of Hyphen (-) and Minus sign (\-).
909
9102012-12-13 Christian Franke <franke@computer.org>
911
912 man pages: Update EXPERIMENTAL notes.
913 Fix spelling (Red Hat Bugzilla 665028).
914
9152012-12-13 Christian Franke <franke@computer.org>
916
917 ataprint.cpp: Print Additional Product Identifier (OEM Id).
918
9192012-12-13 Stanislav Brabec <sbrabec@suse.cz>
920
921 Update FSF postal address in all files.
922
9232012-12-12 Christian Franke <franke@computer.org>
924
925 smartctl.cpp: Remove include <new> for QNXNTO.
926 Should only be needed if placement new is used.
927 smartd.cpp: Remove very old _GNU_SOURCE define.
928 It was added 10 years ago in r147. It is not (or no longer) needed
929 and has an unwanted side effect (__USE_MINGW_ANSI_STDIO) on MinGW.
930
9312012-12-11 Christian Franke <franke@computer.org>
932
933 smartd.cpp: Add '-w PATH, --warnexec=PATH' option.
934 smartd.8.in: Document this option.
935
9362012-12-11 Christian Franke <franke@computer.org>
937
938 smartd.cpp: Add '-d ignore' directive.
939 smartd.conf.5.in: Document '-d ignore'. Add DEVICESCAN example.
940 Remove duplicate and outdated info about device scanning.
941 smartd.8.in: Add notes about RAID controllers to device scanning info.
942
9432012-12-11 Stanislav Brabec <sbrabec@suse.cz>
944
945 * smartd.initd.in: SUSE: Added sysconfig options to disable
946 persistent state writes, attribute log and set arbitrary smartd
947 options.
948
9492012-12-03 Christian Franke <franke@computer.org>
950
951 Avoid usage of strcpy(), strcat(), sprintf().
952 Use snprintf() instead or change type to std::string.
953 Use array references instead of char pointers for parameters.
954
9552012-12-03 Christian Franke <franke@computer.org>
956
957 smartd.cpp: Ignore a device from DEVICESCAN if a preceding smartd.conf
958 entry for the same device exists.
959
9602012-11-28 Christian Franke <franke@computer.org>
961
962 smartd.conf.5.in: Document smartd_warning.sh/cmd scripts and
963 the new environment variables.
964 Makefile.am: Replace smartd_warning.* paths on man pages.
965 Reformat long sed commands.
966
9672012-11-27 Christian Franke <franke@computer.org>
968
969 smartd.cpp: Remove trailing newlines from some MailWarning() strings.
970 os_win32/smartd_warning.cmd: Fix SMARTD_MESSAGE with parentheses.
971
9722012-11-25 Alex Samorukov <samm@os2.kiev.ua>
973
974 OpenBSD: remove dummy functions
975
9762012-11-24 Christian Franke <franke@computer.org>
977
978 Windows: Add tool wtssendmsg.exe based on no longer
979 used module os_win32/wtssendmsg.cpp.
980 os_win32/smartd_warning.cmd: Fix wtssendmsg call.
981 os_win32/installer.nsi: Install smartd_warning.cmd
982 and wtssendmsg.exe. Fix uninstall of old ChangeLog.
983
9842012-11-23 Christian Franke <franke@computer.org>
985
986 Move MSVC10 project files to new directory os_win32/vc10.
987
9882012-11-22 Christian Franke <franke@computer.org>
989
990 smartd: Move warning message formatting and mailer/command
991 startup to new script SYSCONFDIR/smartd_warning.sh
992 (Windows: smartd_warning.cmd).
993 Add environment variables SMARTD_PREVCNT and SMARTD_NEXTDAYS.
994 Remove host/domainname related code from smartd.cpp
995 and configure.in
996
9972012-11-22 Alex Samorukov <samm@os2.kiev.ua>
998
999 smartctl: implemeted support for -g/-s rcache and -g/-s wcache for SCSI
1000 devices to control read/write device cache.
1001
10022012-11-19 Alex Samorukov <samm@os2.kiev.ua>
1003
1004 smartctl: supports progress indicator on selftests
1005 smartctl: prints rotation speed for SCSI drives, if supported
1006 smartctl: add headers to SCSI output, fix data blocks formatting,
1007 trim identification data
1008 os_linux.cpp: add autodetection for PERC H700 array
1009 smartd: trim SCSI vendor/model/serial before creating state files
1010
10112012-11-18 Alex Samorukov <samm@os2.kiev.ua>
1012
1013 smartd.cpp: implement error counters and temperature saving to the
1014 attrlog file for SCSI devices.
1015 smartd.cpp: added reset_warning_mail() if device is working for SCSI
1016
10172012-11-18 Christian Franke <franke@computer.org>
1018
1019 drivedb.h: Western Digital Caviar Green: Add -F xerrorlba
1020
10212012-11-17 Alex Samorukov <samm@os2.kiev.ua>
1022
1023 smartd.cpp: print lu_id for SPC devices, it is supported by standard
1024 smartd.cpp: added initial state file support for the SCSI devices
1025 smartd.cpp: add S/N to SCSI device identifier, lu_id is not available
1026 on some drives.
1027 smartd.cpp: fix warning for SCSI drives with self test in progress (#249)
1028 drivedb.h: added -F xerrorlba flag Seagate Barracuda LP/CC32
1029
10302012-11-09 Christian Franke <franke@computer.org>
1031
1032 Windows smartd: Allow quoting of '-M exec' argument
1033 to support path names with spaces.
1034
10352012-11-09 Christian Franke <franke@computer.org>
1036
1037 ataprint.cpp: Rework smartctl -l directory output.
1038 Add R/W, R/O info. Report identical logs in one line.
1039
10402012-11-09 Alex Samorukov <samm@os2.kiev.ua>
1041
1042 os_freebsd.cpp: adding handling of SCSI devices exported with mfip
1043 driver. FreeBSD changing PDT code to 0x1f and we are changing it back
1044 to 0x00 (direct-access block device).
1045 os_freebsd.cpp: improved error handling for the ATA devices
1046
10472012-11-04 Christian Franke <franke@computer.org>
1048
1049 drivedb.h:
1050 - SandForce Driven SSDs: Mushkin Chronos
1051 - Indilinx Everest/Martini based SSDs: OCZ AGILITY4
1052 - Intel 710 Series SSDs: Add attribute 174
1053 - JMicron based SSDs: KINGSTON SSDNOW 30GB
1054 - Hitachi Deskstar 7K1000.C: *CLA330
1055 - Seagate DiamondMax 23, Barracuda 7200.12, 7200.14 (AF),
1056 LP, Green (AF): no warnings for newer firmware versions
1057 - Western Digital Caviar Green (AF, SATA 6Gb/s): rename, add 1TB
1058 - USB: Toshiba Stor.E (0x0930:0x0b1[9a])
1059 - USB: Verbatim Store'n'Go (0x18a5:0x022b)
1060
10612012-11-02 Alex Samorukov <samm@os2.kiev.ua>
1062
1063 os_freebsd.cpp: disabling 48bit commands on legacy ATA controllers
1064 in ATACAM mode because of kernel bug.
1065
10662012-10-31 Christian Franke <franke@computer.org>
1067
1068 atacmdnames.cpp: Update for ATA-8-ACS, ACS-2, ACS-3.
1069 ataidentify.cpp: Mark retired/obsolete values.
1070 ataprint.cpp: Add new ACS-3 logs, mark obsolete logs.
1071
10722012-10-27 Alex Samorukov <samm@os2.kiev.ua>
1073
1074 os_freebsd.cpp: Have smartd prefer real device names over passN.
1075 Patch provided by dnelson, see ticket #21
1076 os_freebsd.cpp: fix 48-bit support for ATA legacy controllers in
1077 ATACAM mode, patch provided by Alexander Motin
1078
10792012-10-25 Christian Franke <franke@computer.org>
1080
1081 atacmds.cpp: Return error for get SCT ERC if ATA registers are
1082 unchanged after SMART_WRITE_LOG command (see ticket #245).
1083
10842012-10-24 Christian Franke <franke@computer.org>
1085
1086 dev_areca.cpp: Add missing parameter check to ata_pass_through().
1087 Update Areca info on man pages.
1088
10892012-10-24 Christian Franke <franke@computer.org>
1090
1091 dev_interface: Rework ATA parameter checks, use new flags
1092 ata_device::supports_* for new ata_cmd_is_supported().
1093 Replace ata_cmd_is_ok() by ata_cmd_is_supported() in scsiata.cpp
1094 and os_win32.cpp.
1095
10962012-10-19 Alex Samorukov <samm@os2.kiev.ua>
1097
1098 os_freebsd.cpp - fixed 3ware twe controller support broken
1099 by inerface migration.
1100
11012012-10-18 Christian Franke <franke@computer.org>
1102
1103 utility.cpp: Add missing errno clear in split_selective_arg()
1104 (Debian bug 690108).
1105 Remove unused function split_report_arg2().
1106
11072012-10-18 Christian Franke <franke@computer.org>
1108
1109 os_win32.cpp: define _WIN32. This fixes build on
1110 Cygwin with new w32api-headers.
1111
11122012-10-18 Alex Samorukov <samm@os2.kiev.ua>
1113
1114 Compile fixes for Areca patch on FreeBSD.
1115 Added support for the /dev/twsX (3ware 9750) controller on FreeBSD.
1116 Manual pages updated with /dev/twsX device
1117 FreeBSD: Migrate 3ware interface to ata_pass_through()
1118 FreeBSD: fix missing drives detection on -d 3ware
1119 FreeBSD: 3ware - do not pass buffers direcly, use memcpy() instead
1120 FreeBSD: improved detection of 3ware/LSI controllers
1121
11222012-10-16 Christian Franke <franke@computer.org>
1123
1124 Compile fixes for Areca patch:
1125 Add missing includes. Add GPL header.
1126 Add dev_areca.* to configure.in and Makefile.am.
1127
11282012-10-16 Hank Wu <hank@areca.com.tw>
1129
1130 Move common Areca code from os_freebsd.cpp, os_linux.cpp, os_win32.cpp
1131 to new files dev_areca.h, dev_areca.cpp.
1132 Add SAS support for FreeBSD and Linux.
1133
11342012-10-10 Christian Franke <franke@computer.org>
1135
1136 Rename old CHANGELOG to ChangeLog-5.0-6.0.
1137 Start new ChangeLog.
1138
11392012-10-10 Christian Franke <franke@computer.org>
1140
1141 smartmontools 6.0