Initial import from FreeBSD RELENG_4:
[dragonfly.git] / share / man / man4 / ata.4
1 .\"
2 .\" Copyright (c) 2000 Jeroen Ruigrok van der Werven
3 .\" Copyright (c) 2000,2001,2002 Søren Schmidt
4 .\" All rights reserved.
5 .\"
6 .\" Redistribution and use in source and binary forms, with or without
7 .\" modification, are permitted provided that the following conditions
8 .\" are met:
9 .\" 1. Redistributions of source code must retain the above copyright
10 .\"    notice, this list of conditions and the following disclaimer.
11 .\" 2. Redistributions in binary form must reproduce the above copyright
12 .\"    notice, this list of conditions and the following disclaimer in the
13 .\"    documentation and/or other materials provided with the distribution.
14 .\"
15 .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
16 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18 .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
19 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
21 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
22 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
25 .\" SUCH DAMAGE.
26 .\"
27 .\" $FreeBSD: src/share/man/man4/ata.4,v 1.3.2.18 2002/10/16 13:40:51 fjoe Exp $
28 .\"
29 .Dd January 27, 2000
30 .Dt ATA 4
31 .Os
32 .Sh NAME
33 .Nm ata ,
34 .Nm acd ,
35 .Nm ad ,
36 .Nm afd ,
37 .Nm ast
38 .Nd generic ATA/ATAPI disk controller driver
39 .Sh SYNOPSIS
40 For ISA based ATA/ATAPI support:
41 .Cd device isa
42 .Cd device ata0 at isa? port IO_WD1 irq 14
43 .Cd device ata1 at isa? port IO_WD2 irq 15
44 .Pp
45 For PCI based ATA/ATAPI support:
46 .Cd device pci
47 .Cd device ata
48 .Pp
49 To support ATA compliant disk drives:
50 .Cd device atadisk
51 .Pp
52 To support ATAPI CD-ROM, CDR, CDRW, DVD-ROM and DVD-RAM drives:
53 .Cd device atapicd
54 .Pp
55 To support ATAPI floppy drives,
56 such as the ZIP and LS120:
57 .Cd device atapifd
58 .Pp
59 To support ATAPI tape drives:
60 .Cd device atapist
61 .Pp
62 The following tunables are setable from the loader:
63 .Bl -ohang
64 .It Va hw.ata.ata_dma
65 set to 1 for DMA access, 0 for PIO (default is DMA).
66 .It Va hw.ata.atapi_dma
67 set to 1 for DMA access, 0 for PIO (default is PIO).
68 .It Va hw.ata.wc
69 set to 1 to enable Write Caching, 0 to disable (default is enabled).
70 (WARNING: might cause data loss on power failures.)
71 .It Va hw.ata.tags
72 set to 1 to enable Tagged Queuing support, 0 to disable (default is disabled).
73 (Only IBM DPTA, DTLA, ICxxxxxxAT, ICxxxxxxAV drives support that.)
74 .El
75 .Sh DESCRIPTION
76 This driver provides access to disk drives, ATAPI CD-ROM and DVD drives,
77 ZIP drives and tape streamers connected to controllers
78 according to the ATA and ATAPI standards.
79 These devices are also commonly known as IDE or EIDE devices.
80 .Pp
81 The currently supported controllers with their maximum speed include:
82 .Pp
83 .Bl -tag -width "Promise Ultra/Fasttrak-100 TX2/TX2000" -compact
84 .It Acerlabs Aladdin
85 Ultra DMA 100 (UDMA5), 100 MB/sec (depending on model, max stated at boot)
86 .It AMD 756
87 Ultra DMA 66 (UDMA4), 66 MB/sec
88 .It AMD 766
89 Ultra DMA 100 (UDMA5), 100 MB/sec
90 .It CMD 646
91 DMA 2 (WDMA2), 16 MB/sec
92 .It CMD 648
93 Ultra DMA 66 (UDMA4), 66 MB/sec
94 .It CMD 649
95 Ultra DMA 100 (UDMA5), 100 MB/sec
96 .It Cypress 82C693
97 DMA 2 (WDMA2), 16 MB/sec
98 .It Cyrix 5530
99 Ultra DMA 33 (UDMA2), 33 MB/sec
100 .It HighPoint HPT366
101 Ultra DMA 66 (UDMA4), 66 MB/sec
102 .It HighPoint HPT370
103 Ultra DMA 100 (UDMA5), 100 MB/sec
104 .It HighPoint HPT372
105 Ultra DMA 133 (UDMA6), 133 MB/sec
106 .It HighPoint HPT374
107 Ultra DMA 133 (UDMA6), 133 MB/sec
108 .It Intel PIIX
109 DMA 2 (WDMA2), 16 MB/sec
110 .It Intel PIIX3
111 DMA 2 (WDMA2), 16 MB/sec
112 .It Intel PIIX4
113 Ultra DMA 33 (UDMA2), 33 MB/sec
114 .It Intel ICH0
115 Ultra DMA 33 (UDMA2), 33 MB/sec
116 .It Intel ICH
117 Ultra DMA 66 (UDMA4), 66 MB/sec
118 .It Intel ICH2
119 Ultra DMA 100 (UDMA5), 100 MB/sec
120 .It Intel ICH3
121 Ultra DMA 100 (UDMA5), 100 MB/sec
122 .It Intel ICH4
123 Ultra DMA 100 (UDMA5), 100 MB/sec
124 .It Promise Ultra/Fasttrak-33
125 Ultra DMA 33 (UDMA2), 33 MB/sec
126 .It Promise Ultra/Fasttrak-66
127 Ultra DMA 66 (UDMA4), 66 MB/sec
128 .It Promise Ultra/Fasttrak-100
129 Ultra DMA 100 (UDMA5), 100 MB/sec
130 .It Promise Ultra/Fasttrak-100 TX2/TX4
131 Ultra DMA 100 (UDMA5), 100 MB/sec
132 .It Promise Ultra/Fasttrak-133 TX2/TX2000
133 Ultra DMA 133 (UDMA6), 133 MB/sec
134 .It ServerWorks ROSB4
135 Ultra DMA 33 (UDMA2), 33 MB/sec
136 .It ServerWorks CSB5
137 Ultra DMA 100 (UDMA5), 100 MB/sec (depending on model, max stated at boot)
138 .It Sil 0680
139 Ultra DMA 133 (UDMA6), 133 MB/sec (depending on model, max stated at boot)
140 .It SiS 5591
141 Ultra DMA 100 (UDMA5), 100 MB/sec (depending on model, max stated at boot)
142 .It VIA 82C586
143 Ultra DMA 33 (UDMA2), 33 MB/sec
144 .It VIA 82C596
145 Ultra DMA 66 (UDMA4), 66 MB/sec (depending on model, max stated at boot)
146 .It VIA 82C686a
147 Ultra DMA 66 (UDMA4), 66 MB/sec
148 .It VIA 82C686b
149 Ultra DMA 100 (UDMA5), 100 MB/sec
150 .It VIA 8233/8235
151 Ultra DMA 133 (UDMA6), 133 MB/sec (depending on model, max stated at boot)
152 .El
153 .Pp
154 All unknown chipsets are supported at the maximum speed of 16 MB/sec.
155 .Pp
156 The
157 .Nm
158 driver also allows for changes to the transfer mode of the devices
159 at a later time when the system is up and running, see
160 .Xr atacontrol 8 .
161 .Pp
162 The driver attempts to set the maximum performance transfer mode on your disk
163 drives by selecting the highest possible DMA mode. However the 
164 .Nm
165 driver sometimes issue the message 
166 "DMA limited to UDMA33, non-ATA66 cable or device",
167 if the cable is ATA66 (or above) compliant, it is because the other device
168 on this channel states it can only accept upto UDMA2/ATA33 signals.
169 ATAPI devices are left in PIO mode because DMA problems are common despite the
170 device specifications.
171 You can always try to set DMA mode on an ATAPI device using
172 .Xr atacontrol 8 ,
173 but be aware that your hardware might
174 .Em not
175 support it and can
176 .Em hang
177 the system.
178 .Sh FILES
179 .Bl -tag -width "/sys/i386/conf/GENERIC " -compact
180 .It Pa /dev/ad*
181 ATA disk device nodes
182 .It Pa /dev/acd*
183 ATAPI CD-ROM device nodes
184 .It Pa /dev/afd*
185 ATAPI floppy drive device nodes
186 .It Pa /dev/ast*
187 ATAPI tape drive device nodes
188 .It Pa /sys/i386/conf/GENERIC
189 sample generic kernel config file for
190 .Nm
191 based systems
192 .El
193 .Sh NOTES
194 Static numbering
195 (enabled with the
196 .Dv ATA_STATIC_ID
197 kernel option)
198 reserves a number for each possibly connected disk,
199 even when not present.
200 This may result in odd situations where,
201 for example,
202 ad0 and ad2 exist in the absence of ad1.
203 The advantage is that the addition of the formerly absent drive
204 does not cause the numbers of the other drives to change.
205 .Pp
206 The
207 .Nm
208 driver does not support MFM/RLL/ESDI (ST-506) style disks.
209 .Pp
210 Remember that in order to use UDMA4 (and above) mode you
211 .Em have
212 to use a special 80 conductor cable,
213 and the driver tries to determine if you have such a cable
214 attached before setting UDMA4 mode.
215 .Pp
216 The use of UDMA4(66MHz) and higher together with non-UDMA4 devices on
217 the same ATA channel is not recommended,
218 unless they are run at the non-UDMA4 device's lower speed.
219 The driver has been designed to handle that kind of setup but lots of
220 older devices do not like this.
221 .Sh SEE ALSO
222 .Xr atacontrol 8 ,
223 .Xr burncd 8
224 .Sh HISTORY
225 The
226 .Nm
227 driver first appeared in
228 .Fx 4.0 .
229 .Sh AUTHORS
230 .An -nosplit
231 The
232 .Nm
233 driver was written by
234 .An S\(/oren Schmidt
235 .Aq sos@FreeBSD.org .
236 .Pp
237 This manual page was written by
238 .An Jeroen Ruigrok van der Werven
239 .Aq asmodai@FreeBSD.org
240 and
241 .An S\(/oren Schmidt
242 .Aq sos@FreeBSD.org .