sdahci – AHCI (Advanced Host Controller Interface) SATA (Serial ATA) storage device drivers


bind –a #S /dev


The sdahci driver provides access to AHCI devices via the sd(3) interface. AHCI devices use the ATA command set. The AHCI programming interface supports up to 32 hot–swappable ATAPI or hard disk–like devices per controller. The legacy IDE interface provided by sdata.c supports up to four drives which are not hot–swappable. Controller drive letters are assigned from E onward.
AHCI controllers are detected automatically. Currently ALi, AMD, Intel, JMicron, Marvell, SiS, VIA, and nVidia controllers are detected. Intel controllers need to have AHCI enabled in the BIOS. For ICH (I/O Controller Hub) parts this typically means enabling enhanced mode and AHCI. For ESB (Enterprise South Bridge) –based parts, only enhanced mode needs to be enabled. Due to hardware errata, Intel ich9–based AHCI does not support hot swapping and drives must be connected to the lowest–numbered free port.
The top level control file, /dev/sdctl, supports the following control messages for sdahci:
iahci debug     Toggle debug messages. Default is off.
iahci idprint   Toggle printing of drive identification messages. Default is on. Prints short messages when a drive is identified or removed.
iahci aprint    Print verbose ATAPI debugging messages. Default is off.
The device–level ctl file supports:
mode speed
Change the connection speed to one of auto, satai, sataii, or sataiii.
state state
Force a transition to the named state. The states are:
null        ignored (may only be reached manually);
missing     not detected;
new         powered down or newly discovered;
ready       ready for commands;
reset       being reset gently;
portreset   being fully reset;
offline     device failed portreset (a port reset will be attempted periodically).
For devices present at boot, the transition is from state new to state ready.




atazz(8), sd(3), 9load(8)


Enclosure management, LED control and port multipliers are supported.
ATAPI devices may not be reset when they have outstanding commands.