aboutsummaryrefslogtreecommitdiff
path: root/share/man/man4/ata.4
diff options
context:
space:
mode:
Diffstat (limited to 'share/man/man4/ata.4')
-rw-r--r--share/man/man4/ata.4239
1 files changed, 239 insertions, 0 deletions
diff --git a/share/man/man4/ata.4 b/share/man/man4/ata.4
new file mode 100644
index 000000000000..34d782b7a9c8
--- /dev/null
+++ b/share/man/man4/ata.4
@@ -0,0 +1,239 @@
+.\"
+.\" Copyright (c) 2003 Søren Schmidt <sos@FreeBSD.org>
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer,
+.\" without modification, immediately at the beginning of the file.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. The name of the author may not be used to endorse or promote products
+.\" derived from this software without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" $FreeBSD$
+.\"
+.Dd October 4, 2008
+.Dt ATA 4
+.Os
+.Sh NAME
+.Nm ata ,
+.Nm ar ,
+.Nm acd ,
+.Nm ad ,
+.Nm afd ,
+.Nm ast
+.Nd generic ATA/ATAPI disk controller driver
+.Sh SYNOPSIS
+For ISA based ATA/ATAPI support:
+.Cd device isa
+.Cd device ata
+.Pp
+In
+.Pa /boot/device.hints :
+.Cd hint.ata.0.at="isa"
+.Cd hint.ata.0.port="0x1f0"
+.Cd hint.ata.0.irq="14"
+.Cd hint.ata.1.at="isa"
+.Cd hint.ata.1.port="0x170"
+.Cd hint.ata.1.irq="15"
+.Pp
+For PC98 based ATA/ATAPI support:
+.Cd device isa
+.Cd device ata
+.Pp
+In
+.Pa /boot/device.hints :
+.Cd hint.atacbus.0.at="isa"
+.Cd hint.atacbus.0.port="0x640"
+.Cd hint.atacbus.0.irq="9"
+.Pp
+For PCI based ATA/ATAPI support:
+.Cd device pci
+.Cd device ata
+.Pp
+To support ATA compliant disk drives:
+.Cd device atadisk
+.Pp
+To support ATA software RAID's:
+.Cd device ataraid
+.Pp
+To support ATAPI CDROM, DVD and CD/DVD burner drives:
+.Cd device atapicd
+.Pp
+To support ATAPI floppy drives:
+.Cd device atapifd
+.Pp
+To support ATAPI tape drives:
+.Cd device atapist
+.Pp
+The following tunables are settable from the loader:
+.Bl -ohang
+.It Va hw.ata.ata_dma
+set to 1 for DMA access, 0 for PIO (default is DMA).
+.It Va hw.ata.ata_dma_check_80pin
+set to 0 to disable the 80pin cable check (default is 1, check the cable)
+.It Va hw.ata.atapi_dma
+set to 1 for DMA access, 0 for PIO (default is DMA).
+.It Va hw.ata.wc
+set to 1 to enable Write Caching, 0 to disable (default is enabled).
+.Em WARNING :
+can cause data loss on power failures and crashes.
+.El
+.Sh DESCRIPTION
+The
+.Nm
+driver provides access to ATA (IDE) and SerialATA disk drives,
+ATAPI CDROM/DVD drives, ZIP/LS120 ATAPI drives and ATAPI tape drives
+connected to controllers according to the ATA/ATAPI standards.
+.Pp
+The currently supported ATA/SATA controller chips are:
+.Pp
+.Bl -tag -width "Silicon Image:" -compact
+.It Acard:
+ATP850P, ATP860A, ATP860R, ATP865A, ATP865R.
+.It ALI:
+M5229, M5281, M5287, M5288, M5289.
+.It AMD:
+AMD756, AMD766, AMD768, AMD8111, CS5536.
+.It ATI:
+IXP200, IXP300, IXP400.
+.It CMD:
+CMD646, CMD646U2, CMD648, CMD649.
+.It Cypress:
+Cypress 82C693.
+.It Cyrix:
+Cyrix 5530.
+.It HighPoint:
+HPT302, HPT366, HPT368, HPT370, HPT371, HPT372, HPT372N, HPT374.
+.It Intel:
+6300ESB, 31244, PIIX, PIIX3, PIIX4, ESB2, ICH, ICH0, ICH2, ICH3, ICH4, ICH5, ICH6, ICH7, ICH8, ICH9, ICH10.
+.It ITE:
+IT8211F, IT8212F, IT8213F.
+.It JMicron:
+JMB360, JMB361, JMB363, JMB365, JMB366, JMB368.
+.It Marvell
+88SX5040, 88SX5041, 88SX5080, 88SX5081, 88SX6041, 88SX6081, 88SX6101, 88SX6141.
+.It National:
+SC1100.
+.It NetCell:
+NC3000, NC5000.
+.It nVidia:
+nForce, nForce2, nForce2 MCP, nForce3, nForce3 MCP, nForce3 Pro, nForce4.
+.It Promise:
+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.
+.It ServerWorks:
+HT1000, ROSB4, CSB5, CSB6, K2, Frodo4, Frodo8.
+.It Silicon Image:
+SiI0680, SiI3112, SiI3114, SiI3124, SiI3132, SiI3512.
+.It SiS:
+SIS180, SIS181, SIS182, SIS5513, SIS530, SIS540, SIS550, SIS620, SIS630, SIS630S, SIS633, SIS635, SIS730, SIS733, SIS735, SIS745, SIS961, SIS962, SIS963, SIS964, SIS965.
+.It VIA:
+VT6410, VT6420, VT6421, VT82C586, VT82C586B, VT82C596, VT82C596B, VT82C686, VT82C686A, VT82C686B, VT8231, VT8233, VT8233A, VT8233C, VT8235, VT8237, VT8237A, VT8237S, VT8251.
+.El
+.Pp
+Unknown ATA chipsets are supported in PIO modes, and if the standard
+busmaster DMA registers are present and contain valid setup, DMA is
+also enabled, although the max mode is limited to UDMA33, as it is
+not known what the chipset can do and how to program it.
+.Pp
+The
+.Nm
+driver can change the transfer mode and various other parameters
+when the system is up and running.
+See
+.Xr atacontrol 8 .
+.Pp
+The
+.Nm
+driver sets the maximum transfer mode supported by the hardware as default.
+However the
+.Nm
+driver sometimes warns:
+.Dq Sy "DMA limited to UDMA33, non-ATA66 cable or device".
+This means that
+the
+.Nm
+driver has detected that the required 80 conductor cable is not present
+or could not be detected properly,
+or that one of the devices on the channel only accepts up
+to UDMA2/ATA33.
+The
+.Va hw.ata.ata_dma_check_80pin
+tunable can be set to 0 to disable this check.
+.Pp
+Unknown ATAPI devices are initialized to DMA mode if the
+.Va hw.ata.atapi_dma
+tunable is set to 1 and they support at least UDMA33 transfers.
+Otherwise they are set to PIO mode because severe DMA problems are
+common even if the device capabilities indicate support.
+You can always try to set DMA mode on an ATAPI device using
+.Xr atacontrol 8 ,
+but be aware that your hardware might
+.Em not
+support it and can potentially
+.Em hang
+the entire system causing data loss.
+.Sh FILES
+.Bl -tag -width ".Pa /sys/i386/conf/GENERIC" -compact
+.It Pa /dev/ad*
+ATA disk device nodes
+.It Pa /dev/ar*
+ATA RAID device nodes
+.It Pa /dev/acd*
+ATAPI CD-ROM device nodes
+.It Pa /dev/afd*
+ATAPI floppy drive device nodes
+.It Pa /dev/ast*
+ATAPI tape drive device nodes
+.It Pa /sys/i386/conf/GENERIC
+sample generic kernel config file for
+.Nm
+based systems
+.El
+.Sh NOTES
+Please remember that in order to use UDMA4/ATA66 and above modes you
+.Em must
+use 80 conductor cables.
+Please assure that ribbon cables are no longer than 45cm.
+In case of rounded ATA cables, the length depends on the
+quality of the cables.
+SATA cables can be up to 1m long according to the specification.
+.Pp
+Static device numbering
+(enabled with the
+.Dv ATA_STATIC_ID
+kernel option)
+reserves a number for each possibly connected disk,
+even when not present.
+This is useful in hotswap scenarios
+where disks should always show up as the same numbered device,
+and not depend on attach order.
+.Pp
+Native Command Queuing (NCQ) on SATA drives is not yet supported.
+.Sh SEE ALSO
+.Xr ataraid 4 ,
+.Xr atacontrol 8 ,
+.Xr burncd 8
+.Sh HISTORY
+The
+.Nm
+driver first appeared in
+.Fx 4.0 .
+.Sh AUTHORS
+.An S\(/oren Schmidt
+.Aq sos@FreeBSD.org .