AHC(4)

NAME
ahc - Adaptec VL/EISA/PCI SCSI host adapter driver

SYNOPSIS
For VL cards:
ahc0 at isa? port? irq?

For EISA cards:
ahc* at eisa? slot?

For PCI cards:
ahc* at pci? dev? function?

To enable tagged queueing:
options AHC_TAGENABLE

To enable SCB paging:
options AHC_SCBPAGING_ENABLE

For SCSI busses:
scsibus* at ahc?

DESCRIPTION
This driver provides access to the SCSI bus connected to an Adaptec 274x, 284x, 2940, 3940, or controllers based on the AIC7770, AIC7850, AIC7860, AIC7870, or AIC7880 host adapter chips. Features include support for twin and wide busses, ultra SCSI, two active commands at a time per non-tagged queueing target, tagged queuing, and SCB paging which allows up to 255 active commands on all adapters except those using AIC7770 chips prior to revision E. Tagged queueing is enabled with the “AHC_TAGENABLE” configuration option. SCB paging is enabled with the “AHC_SCBPAGING_ENABLE” configuration option.

Per target configuration performed in the SCSI-Select menu, accesible at boot in non-EISA models or through an EISA configuration utility for EISA models, is honored by this driver with the stipulation that the BIOS must be enabled for EISA adaptors. This includes synchronous/asynchronous transfers, maximum synchronous negotiation rate, disconnection, and the host adapter's SCSI ID.

Note that I/O addresses are determined automatically by the probe routines, but care should be taken when using a 284x (VESA local bus controller) in an EISA system. Ensure that the jumpers setting the I/O area for the 284x match the EISA slot into which the card is inserted to prevent conflicts with other EISA cards.

BUGS
Some Quantum drives (at least the Empire 2100 and 1080s) will not run on an AIC7870 Rev B in synchronous mode at 10MHz. Controllers with this problem have a 42 MHz clock crystal on them and run slightly above 10MHz, causing the drive much confusion. Setting a maximum synchronous negotiation rate of 8MHz in the SCSI-Select utility will allow normal function.

SCSI residual handling is not complete on NetBSD version of this driver.

SEE ALSO
intro(4), aha(4), ahb(4), cd(4), scsi(4), sd(4), st(4)

AUTHOR
The ahc driver was written by Justin Gibbs. The AIC7xxx sequencer-code assembler was written by John Aycock. NetBSD porting is done by Stefan Grefen, Charles M. Hannum, Michael Graff, Jason R. Thorpe, Pete Bentley and Noriyuki Soda.

HISTORY
The ahc driver appeared in FreeBSD 2.1 and NetBSD 1.1.