]>
Commit | Line | Data |
---|---|---|
832b75ed GG |
1 | TODO list for smartmontools: |
2 | ||
4d59bff9 | 3 | $Id: TODO,v 1.60 2006/06/05 17:36:03 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 | ||
33 | SATA devices | |
34 | ------------ | |
35 | The ATA PASS THROUGH SCSI command (12 and 16 byte cdb) as defined in | |
36 | SAT: http://www.t10.org/ftp/t10/drafts/sat/sat-r07.pdf (section 12.2) | |
37 | provides a general way to pass ATA SMART commands through to SATA | |
38 | devices. | |
39 | ||
40 | Doug Gilbert will in the future add a '-d sat' type (note, this is not | |
41 | a typo, we do not mean '-d sata') which will instruct the generic | |
42 | smartmontools code to assume an ATA device but use those ATA PASS | |
43 | THROUGH commands. | |
44 | ||
45 | This should provide additional support for SATA devices under most or | |
46 | all operating systems. | |
47 | ||
48 | USB devices under Linux | |
49 | ----------------------- | |
50 | Some USB devices can hang smartctl or smartd. This is because these | |
51 | devices fail to comply with SCSI specifications for their packet | |
52 | command sets. Work on improving the detection and bail-out procedures | |
53 | for these flawed devices, so that the user sees an informative error | |
54 | message and smartd/smartctl don't hang. | |
55 | ||
56 | ATA-4 (no kidding!) | |
57 | ------------------- | |
58 | smartctl: add another -t TESTTYPE option to accomodate old-style ATA-4 | |
59 | IBM disks (ATA-4 has no self-test commands). See IBM S25L-2426-02 OEM | |
60 | HARD DISK DRIVE SPECIFICATIONS for DBCA-203240/204860/206480 2.5-Inch | |
61 | Hard Disk Drive with ATA Interface Revision (1.0) | |
62 | http://www.hgst.com/tech/techlib.nsf/techdocs/85256AB8006A31E587256A7D00642A1D/$file/dbca_sp.pdf | |
63 | section 12.30.1.5 for details. These disks offer no self-test option, | |
64 | and the -t offline command only tests a small part of the disk (a | |
65 | 'segment'). We need a -t multioffline that: | |
66 | (1) issues auto offline immediate command (tests ONE segment) | |
67 | (2) waits until estimated completion time | |
68 | (3) tests if off-line data collection status is set to 0x02 (all | |
69 | segments completed) | |
70 | (4) if not, return to (1) | |
71 | ||
72 | ATA-6/7 | |
73 | ------- | |
74 | Support extended error logs | |
75 | Support extended self-test logs | |
76 | ||
77 | smartctl/smartd | |
78 | --------------- | |
79 | Add additional -v options (corresponding to comments in | |
80 | atacmds.c:ataPrintSmartAttribName(). | |
81 | ||
82 | Add interface to Megaraid ATA RAID controllers (Erik) | |
83 | ||
84 | smartctl: | |
85 | --------- | |
86 | Add command line option to issue SMART SAVE ATTRIBUTE VALUES command | |
87 | Feature Register value ATA_SMART_SAVE 0xd3 | |
88 | ||
89 | Perhaps modify the -q option (quiet mode) so that it only warns of ATA | |
90 | errors if they have (say) taken place in the last 168 hours (week). | |
91 | ||
92 | Parse and print additional Attribute flag meanings (IBM ones, eg | |
93 | performance etc). These are now documented in atacmds.h -- we just | |
94 | need to modify the format of the Attribute table. | |
95 | ||
96 | Modify the SMART self-test log table printing so that we ALSO print | |
97 | the value of the self-test failure checkpoint byte, if it's one of the | |
98 | recognized values. See routine SelfTestFailureCodeName and | |
99 | documentation in atacmds.h. | |
100 | ||
101 | smartd: | |
102 | ------- | |
103 | Perhaps change <nomailer> special argument to -m to have also | |
104 | <nomailer_fork> which would actually work with -M exec to run the | |
105 | executable/script in the background rather than in the foreground. | |
106 | But let's wait for someone to request this. At that point we should | |
107 | probably use fork/exec rather than system(). | |
108 | ||
109 | Perhaps change smartd to look in /proc/ide and /proc/scsi to see what | |
110 | exists? If something doesn't exit then don't try to open it? This | |
111 | should probably be the default option if there is no configuration | |
112 | file. | |
113 | ||
114 | Add ability to monitor "worst" value from attributes (sometimes it | |
115 | gets larger!) and to monitor the threshold value (sometimes it | |
116 | changes!). | |
117 | ||
118 | Add command line option that scans devices then WRITES | |
119 | /etc/smartd.conf, perhaps as /etc/smartd.conf.output, just for devices | |
120 | that can be monitored. | |
121 | ||
122 | FreeBSD | |
123 | ------- | |
124 | ||
125 | Add support for 3ware 9000 series SATA controllers. | |
126 | ||
127 | Cygwin and Windows | |
128 | ------------------ | |
129 | Add IDE/ATA selective self test. | |
130 | ||
131 | Access SCSI devices via IOCTL_SCSI_PASS_THROUGH on 2000/XP | |
132 | to support systems with missing ASPI driver. | |
133 | ||
832b75ed GG |
134 | Packaging |
135 | --------- | |
136 | Under freebsd and solaris, the following are wrong: | |
137 | smartd.conf: has linux device paths | |
138 | smart*.in : man pages have (mostly) linux device paths |