]> git.proxmox.com Git - mirror_smartmontools-debian.git/blob - TODO
Merge branch 'upstream'
[mirror_smartmontools-debian.git] / TODO
1 TODO list for smartmontools:
2
3 $Id: TODO,v 1.60 2006/06/05 17:36:03 chrfranke Exp $
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
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