cadp - Adaptec Ultra-2 SCSI host bus adapter driver
The cadp host bus adapter driver is a SCSA-compliant nexus
driver that supports the following Adaptec Ultra-2 SCSI dev-
o Adapters: Adaptec AHA-2940U2W, AHA-2940U2B, AHA-
2940U2, AHA-2950U2B, AHA-3950U2B
o Chips: AIC-7896/AIC-7897, AIC-7890/AIC-7890A, AIC-
7891, AIC-7890AB, AIC-7890A
The cadp driver supports standard functions provided by the
SCSA interface, including tagged and untagged queuing,
Wide/Fast/Ultra SCSI, and auto request sense. The cadp
driver does not support linked commands.
o The Plug N Play SCAM Support option is not supported.
o If the BIOS is enabled on the card, ensure that the
Adaptec SCSISelect BIOS option Reset SCSI Bus at IC
Initialization (under the Advanced Configuration
Options menu) is set to Enabled. Run the SCSISelect
utility by pressing Ctrl-A when you see the Adaptec
banner during system boot.
o If the adapter is being used in a multi-initiator con-
figuration, do the following: (1) Ensure that the sys-
tem boot disk is not on the shared (clustered) bus.
(2) Set the Reset SCSI Bus at IC Initialization option
to Disabled. (3) Set the Host Adapter BIOS option
(under the Advanced Configuration Options menu) to
Disabled:Not scan. (4) Add the allow-bus-reset=0 pro-
perty to the /kernel/drv/cadp.conf file.
o Reboot the system after you install patches.
Known Problems and Limitations
o The cadp.bef realmode driver supports only ten
adapters at boot time. Therefore, ensure that the boot
disk is attached to one of the first ten adapters.
Note that all targets will be available for installa-
tion and use by the cadp driver.
o Running the format(1M) command on a Seagate ST19171W 9
GB disk drive fails.
o Some motherboards may have problems supporting channel
B with boards based on the Adaptec AIC-7896 chip. The
problem arises because the BIOS doesn't properly
assign two interrupts for PCI interrupts INTA and INTB
on the slot containing the AIC-7896 chip. As a result,
timeouts and resets on those devices appear on the
console. For some motherboards, you can work around
the problem by setting the Advanced/PCI IRQ Mapping
feature to ISA Legacy IRQs.
o If you experience problems when using a narrow SCSI
CD-ROM drive on the internal wide interface, disable
"negotiate wide," "negotiate sync," or both for that
device in the Adaptec configuration utility.
o The Fujitsu narrow disk (M1603SAU) can reselect with
an invalid queue tag ID. This violates the SCSI proto-
col and it causes the cadp driver to behave errone-
ously. Because this is difficult to guard against, you
should disable tagged queuing for these targets. Use
the iostat --E command to determine if you have a
Fujitsu M1603S-512 disk. If you do, edit the
/kernel/drv/cadp.conf file and add the property
targetn-scsi-options=0x1f78, where n is the target
o The IBM external wide disk (DFHSS2W, Revision 1717) is
o When setting up a SCSI bus configuration, avoid con-
necting wide devices to a narrow bus. However, if you
have such a configuration, add the following entry to
the cadp.conf file: targetn-scsi-options=0x1df8 where
n is the target ID of the wide device on the narrow
bus. This entry disables wide negotiation for the
specified target. Also ensure that the upper 8 bits of
the bus are properly terminated at both ends of the
o If you experience installation problems on systems
with Intel 440BX/440GX motherboards, upgrade the moth-
erboard BIOS with the latest revision.
You configure the cadp host bus adapter driver by defining
the properties found in cadp.conf. The cadp.conf file con-
tains properties that you can modify, including: scsi-
options, target<n>-scsi-options, scsi-reset-delay, and
scsi-initiator-id. Properties in the cadp.conf file over-
ride global SCSI settings.
The property target<n>-scsi-options overrides the scsi-
options property value for target<n>, where <n> can vary
from decimal 0 to 15. The cadp driver supports the follow-
ing scsi-options: SCSI_OPTIONS_DR, SCSI_OPTIONS_SYNC,
SCSI_OPTIONS_TAG, SCSI_OPTIONS_FAST, SCSI_OPTIONS_WIDE,
SCSI_OPTIONS_FAST20, and SCSI_OPTIONS_FAST40.
You configure the SCSI devices using the Adaptec configura-
tion utility. When configuring the devices, you should
observe the following guidelines:
o Configure each device using a unique SCSI ID. On the
Advanced Configuration Options menu, set Plug N Play
SCAM Support to Disabled. Ensure that devices on
either end of the SCSI chain are terminated. When
mixing wide (16 bits) and narrow (8 bits) devices on
the same wide chain, ensure that a wide device is at
the end of the chain. If you place a narrow device at
the end of the chain, wide devices on the same chain
will terminate the low byte, resulting in a illegal
o If there is more than one controller, or an embedded
controller, attempt to use one IRQ per controller.
o When prompted, enable bus mastering for the slot(s)
with your host bus adapter(s.)
o Enable support for disks larger than 1 Gbyte, if
Create a file called /kernel/drv/cadp.conf, then add the
The above line disables tagged queuing, Fast/Ultra SCSI, and
wide mode for all cadp instances.
To set scsi-options more specifically per target, add the
following lines to /kernel/drv/cadp.conf:
"SEAGATE ST32550W", "seagate-scsi-options" ;
seagate-scsi-options = 0x58;
With the exception of one disk type that has scsi-options
set to 0x58, the above example sets scsi-options for target
1 to 0x78, and all remaining targets to 0x3f8.
The scsi-options properties that are specified per target ID
have the highest precedence, followed by scsi-options per
device type. Global scsi-options for all cadp instances per
bus have the lowest precedence. You must reboot the system
for the specified scsi options to take effect.
To enable certain features on the cadp driver, the target
driver must set capabilities. The following capabilities can
be queried and modified by the target driver: synchronous,
tagged-qing, wide-xfer, auto-rqsense, qfull-retries, and
qfull-retry-interval. All other capabilities are query
By default, the tagged-qing, auto-rqsense, and wide-xfer
capabilities are disabled. The disconnect, synchronous, and
untagged-qing capabilities are always enabled. The cadp
driver capabilities can only be assigned binary values (0 or
1). The default value for qfull-retries is 10 and the
default value for qfull-retry-interval is 100. The qfull-
retries capability is au_char (0 to 255) while qfull-
retry-interval is a u_short (0 to 65535).
If a conflict occurs between the value of scsi-options
and a capability, the value set in scsi-options prevails.
Only whom != 0 is supported in the scsi_ifsetcap(9F)call.
See scsi_ifsetcap(9F) and scsi_ifgetcap(9F) for details.
ELF kernel module
Optional configuration file
for a description of the following attribute:
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
| Architecture | x86 |
prtconf(1M), driver.conf(4), pci(4), attributes(5),
scsi_abort(9F), scsi_hba_attach(9F), scsi_ifgetcap(9F),
scsi_ifsetcap(9F), scsi_reset(9F), scsi_sync_pkt(9F),
scsi_extended_sense(9S), scsi_inquiry(9S), scsi_pkt(9S)
Writing Device Drivers
Solaris (Intel Platform Edition) Hardware Compatibility List
ANSI Small Computer System Interface-2 (SCSI-2)
The cadp driver supports the adapters and chipsets listed in
this man page. For information on support of additional
devices, see the Solaris (Intel Platform Edition) Hardware
Compatibility List a component of the Information Library
for Solaris 8 (Intel Platform Edition).
The cadp driver exports properties indicating (per target)
the negotiated transfer speed (target<n>-sync-speed),
whether wide bus (target<n>-wide), is supported for that
particular target (target<n>-scsi-options), and whether
tagged queuing (target<n>-tag-queue) has been enabled. The
sync-speed property value is the data transfer rate in
KB/sec. The target<n>-tag-queue and the target<n>-wide pro-
perty have value 1 to indicate that the corresponding capa-
bility is enabled, or 0 to indicate that the capability is
disabled. See prtconf(1M) (verbose option) for information
on viewing the cadp properties.
Sample output is provided below:
pci9005,f500, instance #2
System software properties:
name <interrupt-priorities> length <4>
name <tape> length <5>
name <disk> length <5>
name <queue> length <6>
name <flow_control> length <6>
name <target0-tag-queue> length <4>
name <target0-wide> length <4>
name <target0-sync-speed> length <4>
name <chosen-interrupt> length <8>
name <scsi-selection-timeout> length <4>
name <scsi-options> length <4>
name <scsi-watchdog-tick> length <4>
name <scsi-tag-age-limit> length <4>
name <scsi-reset-delay> length <4>
Man(1) output converted with