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