]> git.proxmox.com Git - mirror_smartmontools-debian.git/blame - TODO
Imported smartmontools-5.27.cvs20061002
[mirror_smartmontools-debian.git] / TODO
CommitLineData
832b75ed
GG
1TODO list for smartmontools:
2
4d59bff9 3$Id: TODO,v 1.60 2006/06/05 17:36:03 chrfranke Exp $
832b75ed
GG
4
5SATA devices under Linux
6------------------------
7These work OK if you use the standard IDe drivers in drivers/ide.
8
9The situation is more complicated if you use libata.
10
11Prior to Linux kernel version 2.6.15-rc1, libata does not support the
12HDIO_DRIVE_TASK, HDIO_DRIVE_CMD, and HDIO_DRIVE_TASKFILE ioctl()s that
13are needed by smartmontools. Support for HDIO_DRIVE_TASK and
14HDIO_DRIVE_CMD was added into libata by Jeff Garzik starting with
15Linux kernel version 2.6.15-rc1. Starting with this version, you can
16use all the smartmontools commands apart from initiating selective
17self-tests (which also requires HDIO_DRIVE_TASKFILE). A typical
18command line might look like this:
19 smartctl -a -d ata /dev/sda
20The '-d ata' is required, since otherwise smartmontools will assume
21that the device is SCSI, not ATA/SATA. Similar syntax will work with
22smartd.
23
24You may be able to patch earlier versions of libata. Please search the
25Linux Kernel Mailing list to find this patch, or look at the thread:
26http://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
27To use this, just use (for example) 'smartctl -a -d ata /dev/sda'.
28
29Since this looks like this patch will become standard, we need to add something
30to smartmontools to automatically recognize the libata, and add the '-d ata'
31automatically.
32
33SATA devices
34------------
35The ATA PASS THROUGH SCSI command (12 and 16 byte cdb) as defined in
36SAT: http://www.t10.org/ftp/t10/drafts/sat/sat-r07.pdf (section 12.2)
37provides a general way to pass ATA SMART commands through to SATA
38devices.
39
40Doug Gilbert will in the future add a '-d sat' type (note, this is not
41a typo, we do not mean '-d sata') which will instruct the generic
42smartmontools code to assume an ATA device but use those ATA PASS
43THROUGH commands.
44
45This should provide additional support for SATA devices under most or
46all operating systems.
47
48USB devices under Linux
49-----------------------
50Some USB devices can hang smartctl or smartd. This is because these
51devices fail to comply with SCSI specifications for their packet
52command sets. Work on improving the detection and bail-out procedures
53for these flawed devices, so that the user sees an informative error
54message and smartd/smartctl don't hang.
55
56ATA-4 (no kidding!)
57-------------------
58smartctl: add another -t TESTTYPE option to accomodate old-style ATA-4
59IBM disks (ATA-4 has no self-test commands). See IBM S25L-2426-02 OEM
60HARD DISK DRIVE SPECIFICATIONS for DBCA-203240/204860/206480 2.5-Inch
61Hard Disk Drive with ATA Interface Revision (1.0)
62http://www.hgst.com/tech/techlib.nsf/techdocs/85256AB8006A31E587256A7D00642A1D/$file/dbca_sp.pdf
63section 12.30.1.5 for details. These disks offer no self-test option,
64and 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
72ATA-6/7
73-------
74Support extended error logs
75Support extended self-test logs
76
77smartctl/smartd
78---------------
79Add additional -v options (corresponding to comments in
80atacmds.c:ataPrintSmartAttribName().
81
82Add interface to Megaraid ATA RAID controllers (Erik)
83
84smartctl:
85---------
86Add command line option to issue SMART SAVE ATTRIBUTE VALUES command
87Feature Register value ATA_SMART_SAVE 0xd3
88
89Perhaps modify the -q option (quiet mode) so that it only warns of ATA
90errors if they have (say) taken place in the last 168 hours (week).
91
92Parse and print additional Attribute flag meanings (IBM ones, eg
93performance etc). These are now documented in atacmds.h -- we just
94need to modify the format of the Attribute table.
95
96Modify the SMART self-test log table printing so that we ALSO print
97the value of the self-test failure checkpoint byte, if it's one of the
98recognized values. See routine SelfTestFailureCodeName and
99documentation in atacmds.h.
100
101smartd:
102-------
103Perhaps change <nomailer> special argument to -m to have also
104<nomailer_fork> which would actually work with -M exec to run the
105executable/script in the background rather than in the foreground.
106But let's wait for someone to request this. At that point we should
107probably use fork/exec rather than system().
108
109Perhaps change smartd to look in /proc/ide and /proc/scsi to see what
110exists? If something doesn't exit then don't try to open it? This
111should probably be the default option if there is no configuration
112file.
113
114Add ability to monitor "worst" value from attributes (sometimes it
115gets larger!) and to monitor the threshold value (sometimes it
116changes!).
117
118Add command line option that scans devices then WRITES
119/etc/smartd.conf, perhaps as /etc/smartd.conf.output, just for devices
120that can be monitored.
121
122FreeBSD
123-------
124
125Add support for 3ware 9000 series SATA controllers.
126
127Cygwin and Windows
128------------------
129Add IDE/ATA selective self test.
130
131Access SCSI devices via IOCTL_SCSI_PASS_THROUGH on 2000/XP
132to support systems with missing ASPI driver.
133
832b75ed
GG
134Packaging
135---------
136Under freebsd and solaris, the following are wrong:
137smartd.conf: has linux device paths
138smart*.in : man pages have (mostly) linux device paths