ad -- Adaptec 154x, 154x emulation, 164x SCSI host adapter device


ad is the device driver for Adaptec 154x, 154x emulation, and 164x SCSI host adapter cards. It directly supports these host adapters:

ISA bus

MCA bus

EISA bus
AHA-1740 (in standard mode)
AHA-1742 (in standard mode)

Please refer to the Compatible Hardware Web Pages. to determine the support status of your host adapter, or contact your system supplier.

Adaptec 154x (ISA) notes

The ad driver and the associated Adaptec hardware have been tested with many computer systems. If you are unable to get the host adapter to function, or you experience file corruption, use the adapter's BIOS maintenance and debugging routines to see if an incompatibility exists. Refer to your Adaptec documentation for further details.

If the interface test routine displays a failure message, or no message at all, this indicates a hardware incompatibility. Your computer may have trouble loading and running the SCO OpenServer system. Since this is a hardware-level inconsistency, no software patch is available; you must contact the hardware manufacturer.

You must reset the jumpers on a second Adaptec AHA-154x board to configure start address 0x230, IRQ 12, and DMA channel 6. The BIOS must also be disabled on the second adapter. (For more information, refer to your Adaptec documentation.)

Adaptec 164x (MCA) notes

When the root disk is on an ESDI controller, you must make these settings on the AHA-1640 card:

Start I/O address (BIOS disabled) 0x330
Start I/O address (BIOS enabled) 0x330, 0x230, or 0x130
Interrupt (IRQ) 15

 Start I/O address (BIOS disabled)    0x330
 Start I/O address (BIOS enabled)     0x330, 0x230, or 0x130
 Interrupt (IRQ)                      15
When the root disk is a SCSI disk connected to a primary IBM SCSI host adapter, you must make these settings on the AHA-1640 card:

Start I/O address (BIOS enabled or disabled) 0x330, 0x230, or 0x130
Start I/O address (BIOS disabled) 0x334, 0x234, or 0x134
Interrupt (IRQ) 15

 Start I/O address (BIOS enabled or disabled)    0x330, 0x230, or 0x130
 Start I/O address (BIOS disabled)               0x334, 0x234, or 0x134
 Interrupt (IRQ)                                 15
Disable the adapter's BIOS because the root disk is on the ESDI controller or on a different SCSI bus.

Configuring the ad driver

You can configure the ad driver using entries in /etc/conf/cf.d/mdevice and /etc/conf/sdevice.d/ad. See mdevice(F) and sdevice(F). Changes to these files will only take effect if the kernel is relinked using link_unix(ADM) and the machine rebooted.

Configure ad driver-specific characteristics by editing the /etc/conf/pack.d/ad/space.c file, which controls parameters such as bus-on and bus-off times, DMA transfer speed, and reporting on mailbox warnings.

Each parameter line represents a configurable parameter for one host adapter. The first number indicates whether the parameter should be changed from the default; if it is 0, the parameter will be set to the default for that adapter. The second number is the value for the parameter.

Bus-on time
If not modified, the default value in aha_buson_default will be used.
   aha_change aha_buson[ha_number] ={1, value};

Bus-off time
If not modified, the default value in aha_busoff_default will be used.
   aha_change aha_busoff[ha_number] ={1, value};

DMA transfer speed
   aha_change aha_aha_xfer[ha_number] = {1, XFER_5_0};
Possible values are:

5.0 Mb per second

6.7 Mb per second

8.0 Mb per second

10.0 Mb per second

If no value is set in aha_change, the value set in aha_xfer_default will be used. If no value is set in aha_xfer_default, the value on the adapter's jumpers will be used. Because there are problems with faster transfer speeds on some hardware platforms, aha_xfer_default is set to 5MB per second.

Boot time configuration of SCSI

Use the bootstring(HW) parameters to override the default hardware configuration information. Of special interest are the adapter= parameter that specifies information for the host adapter card that plugs into or is part of the motherboard, and the periph= parameter that specifies information about the host adapter being used by one of the generic peripheral interfaces (Sdsk, Srom, or Stp).

The ad driver supports the ad.nocheck bootstring, which disables hardware checking by the driver. This allows clone devices to be configured.

ioctl commands

The ad driver supports all standard SCSI ioctls that are defined in the <sys/scsicmd.h> header file and documented on the scsi(HW) manual page.


These error messages associated with ad may display on the console if either the Adaptec AHA-1540 or AHA-1640 host adapter is installed. See messages(M) for general information about kernel error messages, including a list of generic device driver errors.

WARNING: aha: Adapter m detected SCSI reset, status=0xn, intr=0xvector
An unexpected host adapter reset was detected.

WARNING: aha: Adapter m unexpected MBI status 0xn
AHA-1X40 cmd : o
AHA-1X40 sense : p
The incoming mailbox is in an unexpected state after an interrupt.

WARNING: aha: Port 0xm failed to go idle, status=0xn, cmd=0xo
Register m on the host adapter indicated that a command had still not been completed after R_LIMIT cycles in a spin loop.

WARNING: aha: Port 0xm internal failure 0xn
The host adapter failed to be recognized on initialization.

WARNING: aha: Adapter diagnostic failure 0x%x: bus 0
ad was unable to initialize the hardware that it found. This often indicates a hardware error; contact Adaptec Technical Support for assistance.



SCSI interface header files

See also

boot(HW), eiad(HW), link_unix(ADM), mdevice(F), mkdev(ADM), sconf(ADM), scsi(HW), sdevice(F)

``Adding SCSI host adapters and peripherals'' in the SCO OpenServer Handbook
SCO OpenServer System Administration Guide

© 2003 Caldera International, Inc. All rights reserved.
SCO OpenServer Release 5.0.7 -- 11 February 2003