| Commit | Line | Data |
|---|---|---|
| d8166707 SW |
1 | .\" |
| 2 | .\" Copyright (c) 2003 Søren Schmidt <sos@FreeBSD.org> | |
| 3 | .\" All rights reserved. | |
| 4 | .\" | |
| 5 | .\" Redistribution and use in source and binary forms, with or without | |
| 6 | .\" modification, are permitted provided that the following conditions | |
| 7 | .\" are met: | |
| 8 | .\" 1. Redistributions of source code must retain the above copyright | |
| 9 | .\" notice, this list of conditions and the following disclaimer, | |
| 10 | .\" without modification, immediately at the beginning of the file. | |
| 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 | .\" 3. The name of the author may not be used to endorse or promote products | |
| 15 | .\" derived from this software without specific prior written permission. | |
| 16 | .\" | |
| 17 | .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR | |
| 18 | .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES | |
| 19 | .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. | |
| 20 | .\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, | |
| 21 | .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT | |
| 22 | .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | |
| 23 | .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | |
| 24 | .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | |
| 25 | .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | |
| 26 | .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |
| 27 | .\" | |
| 28 | .\" $FreeBSD: src/share/man/man4/ata.4,v 1.72 2007/03/10 12:44:22 brueffer Exp $ | |
| d0b256a7 | 29 | .\" $DragonFly: src/share/man/man4/nata.4,v 1.4 2008/01/01 12:16:40 swildner Exp $ |
| d8166707 | 30 | .\" |
| d0b256a7 | 31 | .Dd January 1, 2008 |
| d8166707 SW |
32 | .Dt NATA 4 |
| 33 | .Os | |
| 34 | .Sh NAME | |
| 35 | .Nm nata , | |
| 36 | .Nm acd , | |
| 37 | .Nm ad , | |
| 38 | .Nm afd , | |
| 39 | .Nm ast | |
| 40 | .Nd generic ATA/ATAPI disk controller driver | |
| 41 | .Sh SYNOPSIS | |
| 42 | For ISA based ATA/ATAPI support: | |
| 43 | .Cd device isa | |
| 44 | .Cd device nata0 at isa? port IO_WD1 irq 14 | |
| 45 | .Cd device nata1 at isa? port IO_WD2 irq 15 | |
| 46 | .Pp | |
| 47 | For PCI based ATA/ATAPI support: | |
| 48 | .Cd device pci | |
| 49 | .Cd device nata | |
| 50 | .Pp | |
| 51 | To support ATA compliant disk drives: | |
| 52 | .Cd device natadisk | |
| 53 | .Pp | |
| f29323c9 | 54 | To support ATA software RAIDs: |
| d8166707 SW |
55 | .Cd device nataraid |
| 56 | .Pp | |
| 57 | To support ATAPI CDROM, DVD and CD/DVD burner drives: | |
| 58 | .Cd device natapicd | |
| 59 | .Pp | |
| 60 | To support ATAPI floppy drives: | |
| 61 | .Cd device natapifd | |
| 62 | .Pp | |
| 63 | To support ATAPI tape drives: | |
| 64 | .Cd device natapist | |
| 65 | .Pp | |
| 66 | The following tunables are settable from the loader: | |
| 67 | .Bl -ohang | |
| 68 | .It Va hw.ata.ata_dma | |
| 69 | set to 1 for DMA access, 0 for PIO (default is DMA). | |
| 70 | .It Va hw.ata.atapi_dma | |
| 71 | set to 1 for DMA access, 0 for PIO (default is DMA). | |
| 72 | .It Va hw.ata.wc | |
| 73 | set to 1 to enable Write Caching, 0 to disable (default is enabled). | |
| 74 | .Em WARNING : | |
| 75 | can cause data loss on power failures and crashes. | |
| 76 | .El | |
| 77 | .Sh DESCRIPTION | |
| 78 | The | |
| 79 | .Nm | |
| 80 | driver provides access to ATA (IDE) and SerialATA disk drives, | |
| 81 | ATAPI CDROM/DVD drives, ZIP/LS120 ATAPI drives and ATAPI tape drives | |
| 82 | connected to controllers according to the ATA/ATAPI standards. | |
| 83 | .Pp | |
| 84 | .Nm Nata | |
| 85 | is the default ATA driver of | |
| 86 | .Dx . | |
| 87 | The old | |
| 88 | .Fx 4.8 | |
| 89 | driver is still available, but deprecated. | |
| 90 | For more information, see | |
| 91 | .Xr ata 4 . | |
| 92 | .Pp | |
| 93 | The currently supported ATA/SATA controller chips are: | |
| 94 | .Pp | |
| 95 | .Bl -tag -width "Silicon Image:" -compact | |
| 96 | .It Acard: | |
| 97 | ATP850P, ATP860A, ATP860R, ATP865A, ATP865R. | |
| 98 | .It ALI: | |
| 99 | M5229, M5281, M5287, M5288, M5289. | |
| 100 | .It AMD: | |
| 101 | AMD756, AMD766, AMD768, AMD8111. | |
| 102 | .It ATI: | |
| 103 | IXP200, IXP300, IXP400. | |
| 104 | .It CMD: | |
| 105 | CMD646, CMD646U2, CMD648, CMD649. | |
| 106 | .It Cypress: | |
| 107 | Cypress 82C693. | |
| 108 | .It Cyrix: | |
| 109 | Cyrix 5530. | |
| 110 | .It HighPoint: | |
| 111 | HPT302, HPT366, HPT368, HPT370, HPT371, HPT372, HPT372N, HPT374. | |
| 112 | .It Intel: | |
| d0b256a7 | 113 | 6300ESB, 31244, PIIX, PIIX3, PIIX4, ESB2, ICH, ICH0, ICH2, ICH3, ICH4, ICH5, ICH6, ICH7, ICH8, ICH9. |
| d8166707 SW |
114 | .It ITE: |
| 115 | IT8211F, IT8212F. | |
| 116 | .It JMicron: | |
| 117 | JMB360, JMB361, JMB363, JMB365, JMB366, JMB368. | |
| 118 | .It Marvell | |
| 119 | 88SX5040, 88SX5041, 88SX5080, 88SX5081, 88SX6041, 88SX6081, 88SX6101, 88SX6141. | |
| 120 | .It National: | |
| 121 | SC1100. | |
| 122 | .It NetCell: | |
| 123 | NC3000, NC5000. | |
| 124 | .It nVidia: | |
| 125 | nForce, nForce2, nForce2 MCP, nForce3, nForce3 MCP, nForce3 Pro, nForce4. | |
| 126 | .It Promise: | |
| 127 | PDC20246, PDC20262, PDC20263, PDC20265, PDC20267, PDC20268, PDC20269, PDC20270, PDC20271, PDC20275, PDC20276, PDC20277, PDC20318, PDC20319, PDC20371, PDC20375, PDC20376, PDC20377, PDC20378, PDC20379, PDC20571, PDC20575, PDC20579, PDC20580, PDC20617, PDC20618, PDC20619, PDC20620, PDC20621, PDC20622, PDC40518, PDC40519, PDC40718, PDC40719. | |
| 128 | .It ServerWorks: | |
| 129 | HT1000, ROSB4, CSB5, CSB6, K2, Frodo4, Frodo8. | |
| 130 | .It Silicon Image: | |
| 131 | SiI0680, SiI3112, SiI3114, SiI3124, SiI3132, SiI3512. | |
| 132 | .It SiS: | |
| 133 | SIS180, SIS181, SIS182, SIS5513, SIS530, SIS540, SIS550, SIS620, SIS630, SIS630S, SIS633, SIS635, SIS730, SIS733, SIS735, SIS745, SIS961, SIS962, SIS963, SIS964, SIS965. | |
| 134 | .It VIA: | |
| 135 | VT6410, VT6420, VT6421, VT82C586, VT82C586B, VT82C596, VT82C596B, VT82C686, VT82C686A, VT82C686B, VT8231, VT8233, VT8233A, VT8233C, VT8235, VT8237, VT8237A, VT8251. | |
| 136 | .El | |
| 137 | .Pp | |
| 138 | Unknown ATA chipsets are supported in PIO modes, and if the standard | |
| 139 | busmaster DMA registers are present and contain valid setup, DMA is | |
| 140 | also enabled, although the max mode is limited to UDMA33, as it is | |
| 141 | not known what the chipset can do and how to program it. | |
| 142 | .Pp | |
| 143 | The | |
| 144 | .Nm | |
| 145 | driver can change the transfer mode and various other parameters | |
| 146 | when the system is up and running. | |
| 147 | See | |
| 148 | .Xr natacontrol 8 . | |
| 149 | .Pp | |
| 150 | The | |
| 151 | .Nm | |
| 152 | driver sets the maximum transfer mode supported by the hardware as default. | |
| 153 | However the | |
| 154 | .Nm | |
| 155 | driver sometimes warns: | |
| 156 | .Dq Sy "DMA limited to UDMA33, non-ATA66 cable or device". | |
| 157 | This means that the | |
| 158 | .Nm | |
| 159 | driver has detected that the required 80 conductor cable is not present | |
| 160 | or could not be detected properly, or that one of the devices on the | |
| 161 | channel only accepts up to UDMA2/ATA33. | |
| 162 | .Pp | |
| 163 | Unknown ATAPI devices are initialized to DMA mode if the | |
| 164 | .Va hw.ata.atapi_dma | |
| 165 | tunable is set to 1 and they support at least UDMA33 transfers. | |
| 166 | Otherwise they are set to PIO mode because severe DMA problems are | |
| 167 | common even if the device capabilities indicate support. | |
| 168 | You can always try to set DMA mode on an ATAPI device using | |
| 169 | .Xr natacontrol 8 , | |
| 170 | but be aware that your hardware might | |
| 171 | .Em not | |
| 172 | support it and can potentially | |
| 173 | .Em hang | |
| 174 | the entire system causing data loss. | |
| 175 | .Sh FILES | |
| 176 | .Bl -tag -width ".Pa /sys/config/GENERIC" -compact | |
| 177 | .It Pa /dev/ad* | |
| 178 | ATA disk device nodes | |
| 179 | .It Pa /dev/ar* | |
| 180 | ATA RAID device nodes | |
| 181 | .It Pa /dev/acd* | |
| 182 | ATAPI CD-ROM device nodes | |
| 183 | .It Pa /dev/afd* | |
| 184 | ATAPI floppy drive device nodes | |
| 185 | .It Pa /dev/ast* | |
| 186 | ATAPI tape drive device nodes | |
| 187 | .It Pa /sys/config/GENERIC | |
| 188 | sample generic kernel config file for | |
| 189 | .Nm | |
| 190 | based systems | |
| 191 | .El | |
| 192 | .Sh NOTES | |
| 193 | Please remember that in order to use UDMA4/ATA66 and above modes you | |
| 194 | .Em must | |
| 195 | use 80 conductor cables. | |
| 196 | Please assure that ribbon cables are no longer than 45cm. | |
| 197 | In case of rounded ATA cables, the length depends on the quality of the cables. | |
| 198 | SATA cables can be up to 1m long according to the specification. | |
| 199 | .Pp | |
| 200 | Static device numbering (enabled with the | |
| 201 | .Dv ATA_STATIC_ID | |
| 202 | kernel option) reserves a number for each possibly connected disk, | |
| 203 | even when not present. | |
| 204 | This is useful in hotswap scenarios where disks should always show up | |
| 205 | as the same numbered device, and not depend on attach order. | |
| 206 | .Pp | |
| 207 | Native Command Queuing (NCQ) on SATA drives is not yet supported. | |
| 208 | .Sh SEE ALSO | |
| 966c0ba2 | 209 | .Xr ahci 4 , |
| d8166707 SW |
210 | .Xr ata 4 , |
| 211 | .Xr nataraid 4 , | |
| 95f9378d | 212 | .Xr sili 4 , |
| 9d0b6240 | 213 | .Xr burncd 8 , |
| d8166707 SW |
214 | .Xr natacontrol 8 |
| 215 | .Sh HISTORY | |
| 216 | The | |
| 22903b55 | 217 | .Xr ata 4 |
| d8166707 | 218 | driver first appeared in |
| 22903b55 SW |
219 | .Fx 4.0 . |
| 220 | A later version was imported into | |
| 221 | .Dx 1.7 | |
| 222 | as | |
| 223 | .Nm . | |
| d8166707 SW |
224 | .Sh AUTHORS |
| 225 | .An S\(/oren Schmidt | |
| 226 | .Aq sos@FreeBSD.org . |