ad160 is the device driver for
Adaptec 39160 (7899 chip) and 29160X (7892 chip)
SCSI host adapter cards.
It directly supports these host adapters:
Ultra160 39160 host adapter
Ultra160 29160 host adapter
Ultra160 29160N host adapter
Ultra160 29160LP host adapter
This driver also supports the
dual channel AIC-7899A/B0 ASIC
on Certified SCO OpenServer System platforms.
Refer to the
Compatible Hardware Web Pages.
to determine the support status of your host adapter, or
contact your system supplier.
Configuring the ad160 driver
You can configure the ad160 driver using entries in
/etc/conf/cf.d/mdevice and /etc/conf/sdevice.d/ad160.
Changes to these files
take effect once you relink the kernel using
and reboot the system.
Configure ad160 driver-specific characteristics
by editing the /etc/conf/pack.d/ad160/space.c file,
which controls parameters such as the SCSI ID,
timeouts, and so on.
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.
Set to 1 for base CPU interrupts only.
If set, interrupt distribution to DRIVER_CPU_DEFAULT (0)
cause interrupt distribution across all CPUs.
Specifies the length of time in milliseconds the host
adapter will wait for a target to respond to selection before
aborting the selection precedure. The supported values are:
A 16-bit field where each bit corresponds to a target ID
(bit 0 for target ID 0, and so on). If bit is set to 1,
disconnection is allowed for the corresponding target ID.
Default value is allow disconnection. If you want be able to
change this value in ScsiSelect without having to rebuild kernel
If disconnection is not allowed, tag-queueing must be
turned off. Turning on tag-queuing must also allow disconnection.
Ignore (suppress) underrun
If set to 1, ignore underrun as an error. If set to 0, report
underrun as an error. Default is 1, ignore underrun as an error.
Tagged command queuing
Tagged queuing increases performance by reordering the requests from
the host adapter to minimize head switching and seeking. If set to 1,
driver will do tagged queuing. Set to 0 to disable. Default is 1 to enable.
Scatter/gather operations can reduce the number of system calls required
to perform I/O. If set to 1, driver will perform
scatter-gather. Set to 0 to disable.
Suppress scanning for LUN
During initialization, the driver will scan all devices
to obtain negotiation information. By default, all target
IDs are scanned, but not the LUN.
A value of 0 disables LUN scanning and 1 enables.
Instrumentation for each host adapter (default is disabled).
Normally CIO software enables instrumentation.
Therefore, it is not necessary to enable instrumentation here.
However, enabling will provide more accurate instrumentation
information but at a slight expense of performance.
If Instrumentation is used, the maximum number of entries
in the error log. Each entry is approximately 40 bytes long.
min=1; default=3;, max is limited by available memory.
If Instrumentation is used, the maximum number of 4K pages
to allocate for data for SCSI pass thru commands (read, write, and
so on). min=2, default=2, max=16.
Sets the types of messages to be displayed:
notices, warnings, and errors
warnings and errors
Set whether driver should automatically try to get the sense
information in a check condition.
if a check condition occurs, driver will do a
request sense to obtain the sense information. This information
will be available in the ``req_p->scsi_sense'' field.
A check condition will be reported to the calling layer and
it will be responsible for performing the request sense.
Maximum tagged Qqeue
If tagged queuing is used, the maximum number of tagged queuing
IOBs the driver will send to each SCSI device.
The valid values are 1 to 32. The default value is 8.
0=I/O mapped (default). 1=memory mapped.
Boot time configuration of SCSI
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).
Configuring twin channel adapters
If the adapter supports more than one SCSI bus (that is,
you have one of the twin channel adapters), you must ensure that
all installation devices are on the primary bus.
To use the secondary bus channel after installation, it must be configured
as an additional SCSI host adapter.
Note that there are only two channels (A and B) on the Adaptec
The ad160 driver
supports all standard SCSI ioctls
that are defined in the <sys/scsicmd.h> header file
and documented on the
The following error messages are associated with
the ad160 driver. See
for general information about kernel error messages,
including a list of generic device driver errors.
WARNING: ad160: Adapter diagnostic failure 0x%x: bus 0
ad160 was unable to initialize the hardware that it found.
This often indicates a hardware error.
WARNING: ad160: Cannot initialize drive ID:0
ad160 was unable to perform SCSI commands
on the boot drive to determine its drive geometry.
This might indicate that not enough memory was available
to perform the operation.
WARNING: ad160: CONFLICT-Disconnection must be enabled in order for tag-queuing to work
By definition, tag queuing requires that disconnection be enabled.
If tag queuing is enabled but disconnect is disabled,
then this message appears.
The solution is to either enable disconnection
or disable tag queuing in the driver's space.c file.
WARNING: ad160: spurious interrupt ad160_name.
An interrupt occurred but there was no pending command.
The source could be another driver,
such as a video driver,
that is sharing the same interrupt.
From the standpoint of the host adapter driver,
this message can be ignored.
Target Bus Phase Sequence Error
An error occurred in the SCSI phase.
Anything can cause this message,
including device firmware, the SCSI driver,
and bus resets.
Usually no user response is possible,
although you may want to avoid issuing the commands
that resulted in this error.
Auto-Request Sense Failed
When a check condition occurs,
the host adapter automatically performs a check condition
to obtain the sense key.
If that process also fails,
this message is displayed.
No user response required.
Host Adapter Hardware Error
Check the adapter and cabling.
Be sure that the host adapter is firmly seated in the slot.
The host adapter might be malfunctioning;
contact the host adapter manufacturer for assistance.