DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH
 

ad160(HW)


ad160 -- Adaptec Ultra160 SCSI host adapter driver

Description

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)

 +------------------------------+------------------+
 |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.

SCSI ID
The default is 7. The format is as follows:
   aha_change ad160_hba_id[SCSI_NAD160] = {enable, scsiID, {enable, scsiID ,...};
Where enable=1 and scsiID=0-15.

Parity option
Specifies whether the host adapter will check parity on incoming SCSI data. (parity always generates on outbound SCSI data) The supported values are:

1 parity checking is enabled.
0 parity checking is disbled.

 1   parity checking is enabled.
 0   parity checking is disbled.
   aha_change ad160_parity[SCSI_NAD160] = {enable, parityCheck};
Where enable=1 and parityCheck=1 or 0.

Time selection
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

 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

 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.

WARNING: ad160: adapter 0 Error: ad160 (ha=0 bus=0 id=0 lun=0
Command Aborted by Host Adapter
No response required.

WARNING: ad160: adapter 0 Error: ad160 (ha=0 bus=0 id=0 lun=0)
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.

WARNING: ad160: adapter 0 Error: ad160 (ha=0 bus=0 id=0 lun=0
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.

WARNING: ad160: adapter 0 Error: ad160 (ha=0 bus=0 id=0 lun=0)
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.

WARNING: ad160: adapter 0 Error: ad160 (ha=0 bus=0 id=0 lun=0)
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.

WARNING: ad160: adapter 0 Error: ad160 (ha=0 bus=0 id=0 lun=0)
Invalid SCSI Linking Operation
No response required.

WARNING: ad160: adapter 0 Error: ad160 (ha=0 bus=0 id=0 lun=0)
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.

WARNING: ad160: adapter 0 Error: ad160 (ha=0 bus=0 id=0 lun=0)
Tagged Queuing Rejected by Target
Target rejected a tagged command. The solution is to disable tagged queuing.

WARNING: ad160: adapter 0 Error: ad160 (ha=0 bus=0 id=0 lun=0)
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.

WARNING: ad160: adapter 0 Error: ad160 (ha=0 bus=0 id=0 lun=0)
Target Didn't Respond to ATN (RESET)
If no other error is visible, no user response is required. Otherwise, contact the device manufacturer.

WARNING: ad160: adapter 0 Error: ad160 (ha=0 bus=0 id=0 lun=0)
SCSI bus reset by host adapter
If no other error is visible, no user response is required.

WARNING: ad160: adapter 0 Error: ad160 (ha=0 bus=0 id=0 lun=0)
SCSI bus reset by other device
If no other error is visible, no user response is required.

Files


/usr/include/sys/ad160.h

/usr/include/sys/scsicmd.h

SCSI interface header files

See also

boot(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