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
(twin channel)
Ultra160 29160 host adapter
(single channel)
Ultra160 29160N host adapter
(single channel)
Ultra160 29160LP host adapter
(single channel)
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.
See
mdevice(F)
and
sdevice(F).
Changes to these files
take effect once you relink the kernel using
link_unix(ADM)
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.
Interrupt distribution
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:
AD160_SEL_256
256 milliseconds
AD160_SEL_128
128 milliseconds
AD160_SEL_64
64 milliseconds
AD160_SEL_32
32 milliseconds
Allow disconnection
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
modify to:
aha_change ad160_disconnect[SCSI_NAD160];
NOTE:
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
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
Instrumentation for each host adapter (default is disabled).
NOTE:
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.
ad160_instr_errlogsz
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.
ad160_instr_buffersz
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.
ad160_message_level
Sets the types of messages to be displayed:
0
all
1
notices, warnings, and errors
2
warnings and errors
3
errors
9
none
ad160_autosense_enable
Set whether driver should automatically try to get the sense
information in a check condition.
1 (default)
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.
0
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.
ad160_hw_map
0=I/O mapped (default). 1=memory mapped.
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).
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
39160 card.
ioctl commands
The ad160 driver
supports all standard SCSI ioctls
that are defined in the <sys/scsicmd.h> header file
and documented on the
scsi(HW)
manual page.
Diagnostics
The following error messages are associated with
the ad160 driver. See
messages(M)
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.
Selection Timeout
Device is not ready, malfunctioned,
or is no longer connected to the SCSI bus.
Make sure that the device is connected.
Also, check the cabling and power connector.
Data Overrun or Underrun occurred
For CD-ROM devices, no response is required.
For other devices, check the hardware and software
for the error condition.
Unexpected Bus Free Occurred
Almost anything can cause this message,
including device firmware, the SCSI driver,
and bus resets.
Usually no user response is possible.
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.