The cadp host bus adapter driver is a SCSA-compliant nexus driver that supports the following Adaptec Ultra-2 SCSI devices:
• Adapters: Adaptec AHA-2940U2W, AHA-2940U2B, AHA-2940U2, AHA-2950U2B, AHA-3950U2B
• 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.
• The Plug N Play SCAM Support option is not supported.
• 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.
• If the adapter is being used in a multi-initiator configuration, do the following: (1) Ensure that the system 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 property to the /kernel/drv/cadp.conf file.
Reboot the system after you install patches.
• 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 installation and use by the cadp driver.
• Running the format(1M) command on a Seagate ST19171W 9 GB disk drive fails.
• 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.
• 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.
• The Fujitsu narrow disk (M1603SAU) can reselect with an invalid queue tag ID. This violates the SCSI protocol and it causes the cadp driver to behave erroneously. 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 number.
• The IBM external wide disk (DFHSS2W, Revision 1717) is not supported.
• When setting up a SCSI bus configuration, avoid connecting 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 SCSI chain.
• If you experience installation problems on systems with Intel 440BX/440GX motherboards, upgrade the motherboard 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 contains 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 override 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 following 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 configuration utility. When configuring the devices, you should observe the following guidelines:
• 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 configuration.
• If there is more than one controller, or an embedded controller, attempt to use one IRQ per controller.
• When prompted, enable bus mastering for the slot(s) with your host bus adapter(s.)
• Enable support for disks larger than 1 Gbyte, if applicable.
Create a file called /kernel/drv/cadp.conf, then add the following line:
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:
target1-scsi-options=0x78; device-type-scsi-options-list = "SEAGATE ST32550W", "seagate-scsi-options" ; seagate-scsi-options = 0x58; scsi-options=0x3f8;
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 only.
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.
/kernel/drv/cadp ELF kernel module
/kernel/drv/cadp.conf Optional configuration file
for a description of the following attribute:
|ATTRIBUTE TYPE||ATTRIBUTE VALUE|
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_transport(9F), scsi_device(9S), 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 property have value 1 to indicate that the corresponding capability 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> value <0x05000000>. name <tape> length <5> value <0x7363747000>. name <disk> length <5> value <0x7363646b00>. name <queue> length <6> value <0x71736f727400>. name <flow_control> length <6> value <0x646d756c7400>. Driver properties: name <target0-tag-queue> length <4> value <0x01000000>. name <target0-wide> length <4> value <0x01000000>. name <target0-sync-speed> length <4> value <0x28000000>. name <chosen-interrupt> length <8> value <0x0100000000000000>. name <scsi-selection-timeout> length <4> value <0xfa000000>. name <scsi-options> length <4> value <0xf81f0000>. name <scsi-watchdog-tick> length <4> value <0x0a000000>. name <scsi-tag-age-limit> length <4> value <0x02000000>. name <scsi-reset-delay> length <4> value <0xb80b0000>.