xref: /dflybsd-src/share/man/man4/nata.4 (revision 71990c18b433f662144c8b6cde52e057d1b136cf)
1d8166707SSascha Wildner.\"
2f6e8a0a1SImre Vadasz.\" 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 $
29d8166707SSascha Wildner.\"
30dd7331feSSascha Wildner.Dd June 20, 2015
31d8166707SSascha Wildner.Dt NATA 4
32d8166707SSascha Wildner.Os
33d8166707SSascha Wildner.Sh NAME
34d8166707SSascha Wildner.Nm nata ,
35d8166707SSascha Wildner.Nm acd ,
36d8166707SSascha Wildner.Nm ad ,
37d8166707SSascha Wildner.Nm afd ,
38d8166707SSascha Wildner.Nm ast
39d8166707SSascha Wildner.Nd generic ATA/ATAPI disk controller driver
40d8166707SSascha Wildner.Sh SYNOPSIS
41c2d9fe68SSascha WildnerTo compile this driver into the kernel,
42c2d9fe68SSascha Wildnerplace the following lines in your
43c2d9fe68SSascha Wildnerkernel configuration file:
44c2d9fe68SSascha Wildner.Bd -ragged -offset indent
45d8166707SSascha WildnerFor ISA based ATA/ATAPI support:
46d8166707SSascha Wildner.Cd device isa
47d8166707SSascha Wildner.Cd device nata0 at isa? port IO_WD1 irq 14
48d8166707SSascha Wildner.Cd device nata1 at isa? port IO_WD2 irq 15
49d8166707SSascha Wildner.Pp
50d8166707SSascha WildnerFor PCI based ATA/ATAPI support:
51d8166707SSascha Wildner.Cd device pci
52d8166707SSascha Wildner.Cd device nata
53d8166707SSascha Wildner.Pp
54d8166707SSascha WildnerTo support ATA compliant disk drives:
55d8166707SSascha Wildner.Cd device natadisk
56d8166707SSascha Wildner.Pp
57f29323c9SSascha WildnerTo support ATA software RAIDs:
58d8166707SSascha Wildner.Cd device nataraid
59d8166707SSascha Wildner.Pp
60d8166707SSascha WildnerTo support ATAPI CDROM, DVD and CD/DVD burner drives:
61d8166707SSascha Wildner.Cd device natapicd
62d8166707SSascha Wildner.Pp
63d8166707SSascha WildnerTo support ATAPI floppy drives:
64d8166707SSascha Wildner.Cd device natapifd
65d8166707SSascha Wildner.Pp
66d8166707SSascha WildnerTo support ATAPI tape drives:
67d8166707SSascha Wildner.Cd device natapist
68c2d9fe68SSascha Wildner.Ed
69c2d9fe68SSascha Wildner.Pp
70c2d9fe68SSascha WildnerAlternatively, to load the driver as a
71c2d9fe68SSascha Wildnermodule at boot time, place the following line in
72c2d9fe68SSascha Wildner.Xr loader.conf 5 :
73c2d9fe68SSascha Wildner.Bd -literal -offset indent
74c2d9fe68SSascha Wildnernata_load="YES"
75c2d9fe68SSascha Wildnernatacard_load="YES"
76c2d9fe68SSascha Wildnernatadisk_load="YES"
77c2d9fe68SSascha Wildnernataisa_load="YES"
78c2d9fe68SSascha Wildnernatapci_load="YES"
79c2d9fe68SSascha Wildnernatapicd_load="YES"
80c2d9fe68SSascha Wildnernatapifd_load="YES"
81c2d9fe68SSascha Wildnernatapist_load="YES"
82c2d9fe68SSascha Wildnernatausb_load="YES"
83c2d9fe68SSascha Wildner.Ed
84d8166707SSascha Wildner.Pp
85d8166707SSascha WildnerThe following tunables are settable from the loader:
86d8166707SSascha Wildner.Bl -ohang
87d8166707SSascha Wildner.It Va hw.ata.ata_dma
88d8166707SSascha Wildnerset to 1 for DMA access, 0 for PIO (default is DMA).
89d8166707SSascha Wildner.It Va hw.ata.atapi_dma
90d8166707SSascha Wildnerset to 1 for DMA access, 0 for PIO (default is DMA).
91d8166707SSascha Wildner.It Va hw.ata.wc
92d8166707SSascha Wildnerset to 1 to enable Write Caching, 0 to disable (default is enabled).
93d8166707SSascha Wildner.Em WARNING :
94d8166707SSascha Wildnercan cause data loss on power failures and crashes.
95d8166707SSascha Wildner.El
96d8166707SSascha Wildner.Sh DESCRIPTION
97d8166707SSascha WildnerThe
98d8166707SSascha Wildner.Nm
99d8166707SSascha Wildnerdriver provides access to ATA (IDE) and SerialATA disk drives,
100d8166707SSascha WildnerATAPI CDROM/DVD drives, ZIP/LS120 ATAPI drives and ATAPI tape drives
101d8166707SSascha Wildnerconnected to controllers according to the ATA/ATAPI standards.
102d8166707SSascha Wildner.Pp
103d8166707SSascha WildnerThe currently supported ATA/SATA controller chips are:
104d8166707SSascha Wildner.Pp
105d8166707SSascha Wildner.Bl -tag -width "Silicon Image:" -compact
106d8166707SSascha Wildner.It Acard:
107d8166707SSascha WildnerATP850P, ATP860A, ATP860R, ATP865A, ATP865R.
108d8166707SSascha Wildner.It ALI:
109d8166707SSascha WildnerM5229, M5281, M5287, M5288, M5289.
110d8166707SSascha Wildner.It AMD:
111d8166707SSascha WildnerAMD756, AMD766, AMD768, AMD8111.
112d8166707SSascha Wildner.It ATI:
113d8166707SSascha WildnerIXP200, IXP300, IXP400.
114d8166707SSascha Wildner.It CMD:
115d8166707SSascha WildnerCMD646, CMD646U2, CMD648, CMD649.
116d8166707SSascha Wildner.It Cypress:
117d8166707SSascha WildnerCypress 82C693.
118d8166707SSascha Wildner.It Cyrix:
119d8166707SSascha WildnerCyrix 5530.
120d8166707SSascha Wildner.It HighPoint:
121d8166707SSascha WildnerHPT302, HPT366, HPT368, HPT370, HPT371, HPT372, HPT372N, HPT374.
122d8166707SSascha Wildner.It Intel:
123d0b256a7SSascha Wildner6300ESB, 31244, PIIX, PIIX3, PIIX4, ESB2, ICH, ICH0, ICH2, ICH3, ICH4, ICH5, ICH6, ICH7, ICH8, ICH9.
124d8166707SSascha Wildner.It ITE:
125d8166707SSascha WildnerIT8211F, IT8212F.
126d8166707SSascha Wildner.It JMicron:
127d8166707SSascha WildnerJMB360, JMB361, JMB363, JMB365, JMB366, JMB368.
128d8166707SSascha Wildner.It Marvell
129d8166707SSascha Wildner88SX5040, 88SX5041, 88SX5080, 88SX5081, 88SX6041, 88SX6081, 88SX6101, 88SX6141.
130d8166707SSascha Wildner.It National:
131d8166707SSascha WildnerSC1100.
132d8166707SSascha Wildner.It NetCell:
133d8166707SSascha WildnerNC3000, NC5000.
134d8166707SSascha Wildner.It nVidia:
135d8166707SSascha WildnernForce, nForce2, nForce2 MCP, nForce3, nForce3 MCP, nForce3 Pro, nForce4.
136d8166707SSascha Wildner.It Promise:
137d8166707SSascha 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.
138d8166707SSascha Wildner.It ServerWorks:
139d8166707SSascha WildnerHT1000, ROSB4, CSB5, CSB6, K2, Frodo4, Frodo8.
140d8166707SSascha Wildner.It Silicon Image:
141d8166707SSascha WildnerSiI0680, SiI3112, SiI3114, SiI3124, SiI3132, SiI3512.
142d8166707SSascha Wildner.It SiS:
143d8166707SSascha WildnerSIS180, SIS181, SIS182, SIS5513, SIS530, SIS540, SIS550, SIS620, SIS630, SIS630S, SIS633, SIS635, SIS730, SIS733, SIS735, SIS745, SIS961, SIS962, SIS963, SIS964, SIS965.
144d8166707SSascha Wildner.It VIA:
145d8166707SSascha WildnerVT6410, VT6420, VT6421, VT82C586, VT82C586B, VT82C596, VT82C596B, VT82C686, VT82C686A, VT82C686B, VT8231, VT8233, VT8233A, VT8233C, VT8235, VT8237, VT8237A, VT8251.
146d8166707SSascha Wildner.El
147d8166707SSascha Wildner.Pp
148d8166707SSascha WildnerUnknown ATA chipsets are supported in PIO modes, and if the standard
149d8166707SSascha Wildnerbusmaster DMA registers are present and contain valid setup, DMA is
150d8166707SSascha Wildneralso enabled, although the max mode is limited to UDMA33, as it is
151d8166707SSascha Wildnernot known what the chipset can do and how to program it.
152d8166707SSascha Wildner.Pp
153d8166707SSascha WildnerThe
154d8166707SSascha Wildner.Nm
155d8166707SSascha Wildnerdriver can change the transfer mode and various other parameters
156d8166707SSascha Wildnerwhen the system is up and running.
157d8166707SSascha WildnerSee
158d8166707SSascha Wildner.Xr natacontrol 8 .
159d8166707SSascha Wildner.Pp
160d8166707SSascha WildnerThe
161d8166707SSascha Wildner.Nm
162d8166707SSascha Wildnerdriver sets the maximum transfer mode supported by the hardware as default.
163d8166707SSascha WildnerHowever the
164d8166707SSascha Wildner.Nm
165d8166707SSascha Wildnerdriver sometimes warns:
166d8166707SSascha Wildner.Dq Sy "DMA limited to UDMA33, non-ATA66 cable or device".
167d8166707SSascha WildnerThis means that the
168d8166707SSascha Wildner.Nm
169d8166707SSascha Wildnerdriver has detected that the required 80 conductor cable is not present
170d8166707SSascha Wildneror could not be detected properly, or that one of the devices on the
171d8166707SSascha Wildnerchannel only accepts up to UDMA2/ATA33.
172d8166707SSascha Wildner.Pp
173d8166707SSascha WildnerUnknown ATAPI devices are initialized to DMA mode if the
174d8166707SSascha Wildner.Va hw.ata.atapi_dma
175d8166707SSascha Wildnertunable is set to 1 and they support at least UDMA33 transfers.
176d8166707SSascha WildnerOtherwise they are set to PIO mode because severe DMA problems are
177d8166707SSascha Wildnercommon even if the device capabilities indicate support.
178d8166707SSascha WildnerYou can always try to set DMA mode on an ATAPI device using
179d8166707SSascha Wildner.Xr natacontrol 8 ,
180d8166707SSascha Wildnerbut be aware that your hardware might
181d8166707SSascha Wildner.Em not
182d8166707SSascha Wildnersupport it and can potentially
183d8166707SSascha Wildner.Em hang
184d8166707SSascha Wildnerthe entire system causing data loss.
185d8166707SSascha Wildner.Sh FILES
186dd7331feSSascha Wildner.Bl -tag -width ".Pa /sys/config/X86_64_GENERIC" -compact
187d8166707SSascha Wildner.It Pa /dev/ad*
188d8166707SSascha WildnerATA disk device nodes
189d8166707SSascha Wildner.It Pa /dev/ar*
190d8166707SSascha WildnerATA RAID device nodes
191d8166707SSascha Wildner.It Pa /dev/acd*
192d8166707SSascha WildnerATAPI CD-ROM device nodes
193d8166707SSascha Wildner.It Pa /dev/afd*
194d8166707SSascha WildnerATAPI floppy drive device nodes
195d8166707SSascha Wildner.It Pa /dev/ast*
196d8166707SSascha WildnerATAPI tape drive device nodes
197dd7331feSSascha Wildner.It Pa /sys/config/X86_64_GENERIC
198d8166707SSascha Wildnersample generic kernel config file for
199d8166707SSascha Wildner.Nm
200d8166707SSascha Wildnerbased systems
201d8166707SSascha Wildner.El
202d8166707SSascha Wildner.Sh NOTES
203d8166707SSascha WildnerPlease remember that in order to use UDMA4/ATA66 and above modes you
204d8166707SSascha Wildner.Em must
205d8166707SSascha Wildneruse 80 conductor cables.
206d8166707SSascha WildnerPlease assure that ribbon cables are no longer than 45cm.
207d8166707SSascha WildnerIn case of rounded ATA cables, the length depends on the quality of the cables.
208d8166707SSascha WildnerSATA cables can be up to 1m long according to the specification.
209d8166707SSascha Wildner.Pp
210d8166707SSascha WildnerStatic device numbering (enabled with the
211d8166707SSascha Wildner.Dv ATA_STATIC_ID
212d8166707SSascha Wildnerkernel option) reserves a number for each possibly connected disk,
213d8166707SSascha Wildnereven when not present.
214d8166707SSascha WildnerThis is useful in hotswap scenarios where disks should always show up
215d8166707SSascha Wildneras the same numbered device, and not depend on attach order.
216d8166707SSascha Wildner.Pp
217d8166707SSascha WildnerNative Command Queuing (NCQ) on SATA drives is not yet supported.
218d8166707SSascha Wildner.Sh SEE ALSO
219966c0ba2SSascha Wildner.Xr ahci 4 ,
220df75ede4SSascha Wildner.Xr natapicam 4 ,
221d8166707SSascha Wildner.Xr nataraid 4 ,
222*71990c18SSascha Wildner.Xr nvme 4 ,
22395f9378dSSascha Wildner.Xr sili 4 ,
2249d0b6240SSascha Wildner.Xr burncd 8 ,
225d8166707SSascha Wildner.Xr natacontrol 8
226d8166707SSascha Wildner.Sh HISTORY
227d8166707SSascha WildnerThe
22822903b55SSascha Wildner.Xr ata 4
229d8166707SSascha Wildnerdriver first appeared in
23022903b55SSascha Wildner.Fx 4.0 .
23122903b55SSascha WildnerA later version was imported into
23222903b55SSascha Wildner.Dx 1.7
23322903b55SSascha Wildneras
23422903b55SSascha Wildner.Nm .
235d8166707SSascha Wildner.Sh AUTHORS
236b2a6f486SFranco Fichtner.An S\(/oren Schmidt Aq Mt sos@FreeBSD.org
237