home | help
ATA(4)			     Kernel Interfaces Manual			  ATA(4)

NAME
     ata, ar, acd, ad, afd, ast -- generic ATA/ATAPI disk controller driver

SYNOPSIS
     For ISA based ATA/ATAPI support:
     device isa
     device ata

     In /boot/device.hints:
     hint.ata.0.at="isa"
     hint.ata.0.port="0x1f0"
     hint.ata.0.irq="14"
     hint.ata.1.at="isa"
     hint.ata.1.port="0x170"
     hint.ata.1.irq="15"

     For PC98 based ATA/ATAPI support:
     device isa
     device ata

     In /boot/device.hints:
     hint.atacbus.0.at="isa"
     hint.atacbus.0.port="0x640"
     hint.atacbus.0.irq="9"

     For PCI based ATA/ATAPI support:
     device pci
     device ata

     To support ATA compliant disk drives:
     device atadisk

     To support ATA software RAID's:
     device ataraid

     To support ATAPI CDROM, DVD and CD/DVD burner drives:
     device atapicd

     To support ATAPI floppy drives:
     device atapifd

     To support ATAPI tape drives:
     device atapist

     The following tunables are settable from the loader:

     hw.ata.ata_dma
     set to 1 for DMA access, 0 for PIO (default is DMA).

     hw.ata.ata_dma_check_80pin
     set to 0 to disable the 80pin cable check (default is 1, check the cable)

     hw.ata.atapi_dma
     set to 1 for DMA access, 0 for PIO (default is DMA).

     hw.ata.wc
     set to 1 to enable Write Caching, 0 to disable (default is enabled).
     WARNING: can cause data loss on power failures and crashes.

DESCRIPTION
     The  ata driver provides access to ATA (IDE) and SerialATA disk drives, AT-
     API CDROM/DVD drives, ZIP/LS120 ATAPI drives and  ATAPI  tape  drives  con-
     nected to controllers according to the ATA/ATAPI standards.

     The currently supported ATA/SATA controller chips are:

     Acard:	     ATP850P, ATP860A, ATP860R, ATP865A, ATP865R.
     ALI:	     M5229, M5281, M5287, M5288, M5289.
     AMD:	     AMD756, AMD766, AMD768, AMD8111, CS5536.
     ATI:	     IXP200, IXP300, IXP400.
     CMD:	     CMD646, CMD646U2, CMD648, CMD649.
     Cypress:	     Cypress 82C693.
     Cyrix:	     Cyrix 5530.
     HighPoint:      HPT302,  HPT366,  HPT368,	HPT370, HPT371, HPT372, HPT372N,
		     HPT374.
     Intel:	     6300ESB, 31244, PIIX, PIIX3, PIIX4, ESB2, ICH, ICH0,  ICH2,
		     ICH3, ICH4, ICH5, ICH6, ICH7, ICH8, ICH9.
     ITE:	     IT8211F, IT8212F.
     JMicron:	     JMB360, JMB361, JMB363, JMB365, JMB366, JMB368.
     Marvell	     88SX5040, 88SX5041, 88SX5080, 88SX5081, 88SX6041, 88SX6081,
		     88SX6101, 88SX6141.
     National:	     SC1100.
     NetCell:	     NC3000, NC5000.
     nVidia:	     nForce, nForce2, nForce2 MCP, nForce3, nForce3 MCP, nForce3
		     Pro, nForce4.
     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.
     ServerWorks:    HT1000, ROSB4, CSB5, CSB6, K2, Frodo4, Frodo8.
     Silicon Image:  SiI0680, SiI3112, SiI3114, SiI3124, SiI3132, SiI3512.
     SiS:	     SIS180,  SIS181,  SIS182,	SIS5513, SIS530, SIS540, SIS550,
		     SIS620, SIS630, SIS630S, SIS633,  SIS635,	SIS730,  SIS733,
		     SIS735, SIS745, SIS961, SIS962, SIS963, SIS964, SIS965.
     VIA:	     VT6410,  VT6420,  VT6421,	VT82C586,  VT82C586B,  VT82C596,
		     VT82C596B, VT82C686, VT82C686A, VT82C686B, VT8231,  VT8233,
		     VT8233A, VT8233C, VT8235, VT8237, VT8237A, VT8237S, VT8251.

     Unknown  ATA  chipsets are supported in PIO modes, and if the standard bus-
     master DMA registers are present and contain valid setup, DMA is  also  en-
     abled,  although the max mode is limited to UDMA33, as it is not known what
     the chipset can do and how to program it.

     The ata driver can change the transfer mode and  various  other  parameters
     when the system is up and running.  See atacontrol(8).

     The  ata driver sets the maximum transfer mode supported by the hardware as
     default.  However the ata driver sometimes warns: "DMA limited  to  UDMA33,
     non-ATA66	cable  or  device".  This means that the ata driver has detected
     that the required 80 conductor cable is not present or  could  not  be  de-
     tected  properly, or that one of the devices on the channel only accepts up
     to UDMA2/ATA33.  The hw.ata.ata_dma_check_80pin tunable can be set to 0  to
     disable this check.

     Unknown  ATAPI  devices are initialized to DMA mode if the 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 atacontrol(8), but be  aware  that  your	hardware
     might  not  support  it  and can potentially hang the entire system causing
     data loss.

FILES
     /dev/ad*		     ATA disk device nodes
     /dev/ar*		     ATA RAID device nodes
     /dev/acd*		     ATAPI CD-ROM device nodes
     /dev/afd*		     ATAPI floppy drive device nodes
     /dev/ast*		     ATAPI tape drive device nodes
     /sys/i386/conf/GENERIC  sample generic kernel config  file  for  ata  based
			     systems

NOTES
     Please  remember  that in order to use UDMA4/ATA66 and above modes you 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 qual-
     ity of the cables.  SATA cables can be up to 1m long according to the spec-
     ification.

     Static device numbering (enabled with the ATA_STATIC_ID kernel option)  re-
     serves  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.

     Native Command Queuing (NCQ) on SATA drives is not yet supported.

SEE ALSO
     ataraid(4), atacontrol(8), burncd(8)

HISTORY
     The ata driver first appeared in FreeBSD 4.0.

AUTHORS
     Soren Schmidt <sos@FreeBSD.org>.

FreeBSD 7.1			 August 31, 2008			  ATA(4)

home | help