]>
Commit | Line | Data |
---|---|---|
832b75ed GG |
1 | TODO list for smartmontools: |
2 | ||
a37e7145 | 3 | $Id: TODO,v 1.64 2007/09/03 19:36:58 chrfranke Exp $ |
832b75ed GG |
4 | |
5 | SATA devices under Linux | |
6 | ------------------------ | |
7 | These work OK if you use the standard IDe drivers in drivers/ide. | |
8 | ||
9 | The situation is more complicated if you use libata. | |
10 | ||
11 | Prior to Linux kernel version 2.6.15-rc1, libata does not support the | |
12 | HDIO_DRIVE_TASK, HDIO_DRIVE_CMD, and HDIO_DRIVE_TASKFILE ioctl()s that | |
13 | are needed by smartmontools. Support for HDIO_DRIVE_TASK and | |
14 | HDIO_DRIVE_CMD was added into libata by Jeff Garzik starting with | |
15 | Linux kernel version 2.6.15-rc1. Starting with this version, you can | |
16 | use all the smartmontools commands apart from initiating selective | |
17 | self-tests (which also requires HDIO_DRIVE_TASKFILE). A typical | |
18 | command line might look like this: | |
19 | smartctl -a -d ata /dev/sda | |
20 | The '-d ata' is required, since otherwise smartmontools will assume | |
21 | that the device is SCSI, not ATA/SATA. Similar syntax will work with | |
22 | smartd. | |
23 | ||
24 | You may be able to patch earlier versions of libata. Please search the | |
25 | Linux Kernel Mailing list to find this patch, or look at the thread: | |
26 | http://groups.google.de/groups?hl=en&lr=&ie=UTF-8&threadm=2yYBY-4HB-55%40gated-at.bofh.it&rnum=3&prev=/groups%3Fq%3Dsmartmontools%26hl%3Den%26lr%3D%26ie%3DUTF-8%26scoring%3Dd%26selm%3D2yYBY-4HB-55%2540gated-at.bofh.it%26rnum%3D3 | |
27 | To use this, just use (for example) 'smartctl -a -d ata /dev/sda'. | |
28 | ||
29 | Since this looks like this patch will become standard, we need to add something | |
30 | to smartmontools to automatically recognize the libata, and add the '-d ata' | |
31 | automatically. | |
32 | ||
832b75ed GG |
33 | USB devices under Linux |
34 | ----------------------- | |
35 | Some USB devices can hang smartctl or smartd. This is because these | |
36 | devices fail to comply with SCSI specifications for their packet | |
37 | command sets. Work on improving the detection and bail-out procedures | |
38 | for these flawed devices, so that the user sees an informative error | |
39 | message and smartd/smartctl don't hang. | |
40 | ||
41 | ATA-4 (no kidding!) | |
42 | ------------------- | |
43 | smartctl: add another -t TESTTYPE option to accomodate old-style ATA-4 | |
44 | IBM disks (ATA-4 has no self-test commands). See IBM S25L-2426-02 OEM | |
45 | HARD DISK DRIVE SPECIFICATIONS for DBCA-203240/204860/206480 2.5-Inch | |
46 | Hard Disk Drive with ATA Interface Revision (1.0) | |
47 | http://www.hgst.com/tech/techlib.nsf/techdocs/85256AB8006A31E587256A7D00642A1D/$file/dbca_sp.pdf | |
48 | section 12.30.1.5 for details. These disks offer no self-test option, | |
49 | and the -t offline command only tests a small part of the disk (a | |
50 | 'segment'). We need a -t multioffline that: | |
51 | (1) issues auto offline immediate command (tests ONE segment) | |
52 | (2) waits until estimated completion time | |
53 | (3) tests if off-line data collection status is set to 0x02 (all | |
54 | segments completed) | |
55 | (4) if not, return to (1) | |
56 | ||
57 | ATA-6/7 | |
58 | ------- | |
59 | Support extended error logs | |
60 | Support extended self-test logs | |
61 | ||
62 | smartctl/smartd | |
63 | --------------- | |
64 | Add additional -v options (corresponding to comments in | |
65 | atacmds.c:ataPrintSmartAttribName(). | |
66 | ||
67 | Add interface to Megaraid ATA RAID controllers (Erik) | |
68 | ||
69 | smartctl: | |
70 | --------- | |
71 | Add command line option to issue SMART SAVE ATTRIBUTE VALUES command | |
72 | Feature Register value ATA_SMART_SAVE 0xd3 | |
73 | ||
74 | Perhaps modify the -q option (quiet mode) so that it only warns of ATA | |
75 | errors if they have (say) taken place in the last 168 hours (week). | |
76 | ||
77 | Parse and print additional Attribute flag meanings (IBM ones, eg | |
78 | performance etc). These are now documented in atacmds.h -- we just | |
79 | need to modify the format of the Attribute table. | |
80 | ||
81 | Modify the SMART self-test log table printing so that we ALSO print | |
82 | the value of the self-test failure checkpoint byte, if it's one of the | |
83 | recognized values. See routine SelfTestFailureCodeName and | |
84 | documentation in atacmds.h. | |
85 | ||
86 | smartd: | |
87 | ------- | |
88 | Perhaps change <nomailer> special argument to -m to have also | |
89 | <nomailer_fork> which would actually work with -M exec to run the | |
90 | executable/script in the background rather than in the foreground. | |
91 | But let's wait for someone to request this. At that point we should | |
92 | probably use fork/exec rather than system(). | |
93 | ||
832b75ed GG |
94 | Add ability to monitor "worst" value from attributes (sometimes it |
95 | gets larger!) and to monitor the threshold value (sometimes it | |
96 | changes!). | |
97 | ||
98 | Add command line option that scans devices then WRITES | |
99 | /etc/smartd.conf, perhaps as /etc/smartd.conf.output, just for devices | |
100 | that can be monitored. | |
101 | ||
832b75ed GG |
102 | Packaging |
103 | --------- | |
104 | Under freebsd and solaris, the following are wrong: | |
105 | smartd.conf: has linux device paths | |
106 | smart*.in : man pages have (mostly) linux device paths |