DragonFly On-Line Manual Pages

AHCI(4) 	      DragonFly Kernel Interfaces Manual	       AHCI(4)


ahci -- Advanced Host Controller Interface for Serial ATA


To compile this driver into the kernel, place the following line in your kernel configuration file: device ahci Alternatively, to load the driver as a module at boot time, place the following line in loader.conf(5): ahci_load="YES"


The ahci driver provides support for Serial ATA controllers conforming to the Advanced Host Controller Interface specification. Several AHCI capable controllers also provide a compatibility mode that causes them to appear as a traditional ATA controller supported by nata(4). Although ahci controllers are actual ATA controllers, the driver emulates SCSI via a translation layer.


The following hints may be set in loader.conf(5) to control the ahci driver's behavior. Note that the hint need only exist, so removing it requires commenting it out. Usually both the nata(4) and the ahci drivers are loaded. The nata(4) driver will pick up any ata-like devices which the ahci driver misses. If the ahci driver is disabled the nata(4) driver will typically pick up the ahci devices, albeit under the ad disk name rather than the da disk name. hint.ahci.disabled=1 The ahci driver can be told to force a lower-speed 1.5Gb link speed if necessary, and can also be told to refrain from attempting to send cer- tain higher-level ATA commands to initialize ATA features which some devices might not properly implement. hint.ahci.force150=1 hint.ahci.nofeatures=1 By default, the driver will use MSI if it is supported. This behavior can be turned off by setting the following tunable: hw.ahci.msi.enable=0


Link power management can be set with the sysctl dev.ahci.%d.%d.link_pwr_mgmt to 0 for `disabled', 1 for `medium', and 2 for `aggressive'. Link power state can be read with the sysctl dev.ahci.%d.%d.link_pwr_state.


intro(4), nata(4), pci(4), scsi(4), sili(4), loader.conf(5)


The ahci driver first appeared in DragonFly 2.3.


The ahci driver was originally written by David Gwynne <dlg@openbsd.org> and Christopher Pascoe <pascoe@openbsd.org> for OpenBSD. It was ported to DragonFly by Matt Dillon <dillon@apollo.backplane.com>, who added new features such as hot-plug and port multiplier support. DragonFly 4.1 November 28, 2014 DragonFly 4.1