qus(7D) Devices qus(7D)NAMEqus - Qlogic Ultra3 SCSI ISP10160 Host Bus Adapter Driver
SYNOPSIS
pci@pci-slot/scsi@4 - Scsi bus-1
pci@pci-slot/scsi@5 - Scsi bus-2
DESCRIPTION
The ISP10160 host bus adapter is a SCSA-compliant nexus driver that
supports Qlogic ISP10160 SCSI chips on the PCI bus. The ISP10160 is an
intelligent SCSI host bus adapter chip that reduces the amount of CPU
overhead used in a SCSI transfer.
The qus driver supports the standard functions provided by the SCSA
interface. The driver supports tagged and untagged queuing, fast,
fast-20, fast-40, fast-80, and auto request sense, but does not support
linked commands.
CONFIGURATION
You configure the qus driver by defining properties in qus.conf which
override the global SCSI settings. Supported properties are scsi-
options, target<n>-scsi-options, scsi-reset-delay, scsi-watchdog-tick,
scsi-tag-age-limit, scsi- initiator-id, and scsi-selection-timeout.
target<n>-scsi-options overrides the scsi-options property value for
target<n>.<n> is a hex value that can vary from 0 to f. Refer to
scsi_hba_attach(9F) for details.
EXAMPLES
Example 1: SCSI Options:
Create a file called /kernel/drv/qus.conf, then add the following line
to disable tagged queuing, fast SCSI, and Wide mode for all qus
instances:
scsi-options=0x78;
To disable an option for a specific ISP10160 (see driver.conf(4)), do
the following:
name="qus" parent="/pci@1f,2000/pci@1"
unit-address="4"
scsi-options=0x178
target3-scsi-options=0x58 scsi-initiator-id=6;
The default initiator ID in OBP is 7 and that the change to ID 6 occurs
at attach time. You might prefer to change the initiator ID in OBP.
Example 1 sets scsi-options for target 3 to 0x58 and all other targets
on this SCSI bus to 0x178.
To determine the physical pathname of the parent, use the /devices tree
or follow the link of the logical device name:
example# ls -l /dev/rdsk/c2t0d0s0
lrwxrwxrwx 1 root root 76 Aug 22 13:29 /dev/rdsk/c2t0d0
s0 -> ../../devices/pci@1f,2000/pci@1/scsi@5/sd@0,0:a,raw
To determine the hardware property values, use the output of prt‐
conf(1M) with the -v option:
pci, instance #0
Driver properties:
name='device_type' type=string items=1 dev=none
value='pci'
Hardware properties:
name='ranges' type=int items=8
value=82000000.00000000.00100000.82000000.00000000.00100000./
00000000.00100000
name='latency-timer' type=int items=1
value=00000040
name='cache-line-size' type=int items=1
value=00000010
scsi, instance #0
Driver properties:
name='scsi-selection-timeout' type=int items=1 dev=(249,0)
value=000000fa
name='scsi-options' type=int items=1 dev=(249,0)
value=00107ff8
name='scsi-watchdog-tick' type=int items=1 dev=(249,0)
value=0000000a
name='scsi-tag-age-limit' type=int items=1 dev=(249,0)
value=00000002
name='scsi-reset-delay' type=int items=1 dev=(249,0)
value=00000bb8
Hardware properties:
name='cache-line-size' type=int items=1
value=00000010
sd (driver not attached)
st (driver not attached)
scsi, instance #1
Driver properties:
name='scsi-selection-timeout' type=int items=1 dev=(249,0)
value=000000fa
name='scsi-options' type=int items=1 dev=(249,0)
value=00107ff8
name='scsi-watchdog-tick' type=int items=1 dev=(249,0)
value=0000000a
name='scsi-tag-age-limit' type=int items=1 dev=(249,0)
value=00000002
name='scsi-reset-delay' type=int items=1 dev=(249,0)
value=00000bb8
Hardware properties:
name='cache-line-size' type=int items=1
value=00000010
sd (driver not attached)
st (driver not attached)
Example 2: ISP10160 Properties
The qus driver exports properties indicating (per target) the negoti‐
ated transfer speed (target<n>-sync-speed), whether tagged queuing has
been enabled (target<n>-TQ), and whether the wide data transfer has
been negotiated (target<n>-wide). The sync-speed property value is the
data transfer rate in KB/sec. The target-TQ and target-wide properties
have no value. The existence of these properties indicate that tagged
queuing or wide transfer is enabled. Refer to prtconf(1M) (verbose
option) for information on qus properties.
scsi, instance #1
Driver properties:
name='target2-wide' type=boolean dev=none
name='target2-TQ' type=boolean dev=none
name='target2-sync-speed' type=int items=1 dev=none
value=00027100
name='target0-wide' type=boolean dev=none
name='target0-TQ' type=boolean dev=none
name='target0-sync-speed' type=int items=1 dev=none
value=00027100
To determine the physical pathname of the parent, use the /devices tree
or follow the link of the logical deiice name.
To set scsi-options more specifically per device type, add the follow‐
ing line to the /kernel/drv/qus.conf file:
device-type-scsi-options-list =
"SEAGATE ST32550W", "seagate-scsi-options" ;
seagate-scsi-options = 0x58;
All devices of this specific disk type have scsi-options set to 0x58.
scsi-options specified per target ID has the highest precedence, fol‐
lowed by scsi-options per device type. Global (for all qus instances)
scsi-options per bus has the lowest precedence.
You must reboot your system for the specified scsi-options to take
effect.
Example 3: Driver Capabilities
To enable some driver features, the target driver must set capabilities
in the qus driver. The target driver can query and modify the following
capabilities: synchronous, tagged-qing, wide-xfer, auto-rqsense, qfull-
retries, qfull-retry-interval. All other capabilities are query
only.
By default, tagged-qing, auto-rqsense, and wide-xfer capabilities are
disabled, while disconnect, synchronous, and untagged-qing are
enabled. These capabilities can have binary values (0 or 1) only. The
default value for both qfull-retries and qfull-retry-interval is 10.
The qfull-retries capability is a uchar_t (0 to 255), while qfull-
retry-interval is a ushort_t (0 to 65535).
The target driver must enable tagged-qing and wide-xfer explicitly. The
untagged-qing capability is always enabled and its value cannot be mod‐
ified due to the qus driver's ability to queue commands even when
tagged-qing is disabled.
When a conflict occurs between the value of scsi-options and a capa‐
bility, the value set in scsi-options prevails. Only whom != 0 is sup‐
ported in the scsi_ifsetcap(9F) call.
Refer to scsi_ifsetcap(9F) and scsi_ifgetcap(9F) for details.
FILES
/kernel/drv/sparcv9/qus 64-bitELF kernel module
/kernel/drv/qus.conf Configuration file
ATTRIBUTES
See attributes(5) for a description of the following attribute:
┌─────────────────────────────┬─────────────────────────────┐
│ATTRIBUTE TYPE │ATTRIBUTE VALUE │
├─────────────────────────────┼─────────────────────────────┤
│Architecture │SPARC │
└─────────────────────────────┴─────────────────────────────┘
SEE ALSOprtconf(1M), driver.conf(4) , attributes(5), scsi_abort(9F),
scsi_hba_attach(9F), scsi_ifgetcap(9F), scsi_ifsetcap(9F),
scsi_reset(9F), scsi_transport(9F), scsi_device(9S),
scsi_extended_sense(9S), scsi_inquiry(9S), scsi_pkt(9S)
ANSI Small Computer System Interface-2 (SCSI-2)
SCSI Parallel Interface-3 (SPI-3)
QLogic Corporation, ISP1080/1280/10160A/12160A Initiator Firmware
Interface Specification
QLogic Corporation, ISP10160A/12160A Technical Manual
QLogic Corporation, ISP1080 Technical Manual
QLogic Corporation, ISP1280 Technical Manual
DIAGNOSTICS
In addition to being logged, the following messages can appear on the
system console.
The first set of messages shown below can be displayed while the qus
driver is first trying to attach. All messages in the first set indi‐
cate that the qus driver was unable to attach. Each message is preceded
by "qus<number>)", where "<number>" is the instance number of the
JASPER Host Bus Adapter.
Device in slave-only slot, unused
The SBus device has been placed in a slave-only slot and are not
accessible; move to non- slave-only SBus slot.
Device is using a hilevel intr, unused
The device was configured with an interrupt level that cannot be
used with the qus driver. Check the device.
Failed to alloc soft state
Driver is unable to allocate space for the internal state struc‐
ture. Driver did not attach to device; SCSI devices are inaccessi‐
ble.
Bad soft state
Driver requested an invalid internal state structure. Driver did
not attach to device; SCSI devices are inaccessible.
Can't reload firmware: failing attach/resume
Driver is unable to reload firmware; check for bad hardware. Driver
did not attach to device; SCSI devices are inaccessible.
Can't reset interface during attach/resume
Driver is unable to reset the hardware. Driver did not attach to
device; SCSI devices are inaccessible.
Cannot find PCI device-id
Driver is unable to find PCI device-id. Driver did not attach to
device; SCSI devices are inaccessible.
Unable to support ISP chip
Driver is unable to support the ISP chip, which is in the inter‐
face. Driver did not attach to device; SCSI devices are inaccessi‐
ble.
Unable to map pci config registers
Driver is unable to map device registers. Check for bad hardware.
Driver did not attach to device. SCSI devices are inaccessible.
Unable to attach: check for hardware problem
Driver is unable to attach to the hardware. Driver did not attach
to device; SCSI devices are inaccessible.
The following messages can be displayed at any time and are printed
with the full device pathname followed by the shorter form described
above.
Firmware (<actual-size>) should be <allowed_size> bytes
Firmware id(<id>) verification failed
Firmware length too short
Firmware checksum incorrect
Can't find firmware rev. string
reset/init ISP chip failed
reset/init ISP chip failed
Load ram failed
Start firmware mailbox command failed
Can't set clock rate
Can't get RAM info
These messages indicate a firmware download failure and possible
corruption of the firmware. Check the ISP driver.
Chip reset timeout
ISP chip failed to reset in the time allocated. Potential hardware
problem.
Bad request pkt payload
The ISP Firmware rejected the packet, indicating that the packet
was set up incorrectly. As a result, the qus driver calls the tar‐
get completion routine with the reason of CMD_TRAN_ERR set in the
scsi_pkt. To correctly set up the packet, check the target driver.
Bad request pkt header
The ISP Firmware rejected the packet because the packet was set up
incorrectly. As a result, the qus driver calls the target comple‐
tion routine with the reason of CMD_TRAN_ERR set in the scsi_pkt.
To correctly set up the packet, check the target driver.
Target synch. rate reduced. tgt <target-id>
Target<target-id> reducing transfer rate
These messages indicate that the target is reducing its transfer
rate. Reboot the system to obtain the maximum transfer rate.
Failed to Get Features
Chip reset detected
These messages indicate a possible ISP chip failure. Driver
attempts to recover from this condition by reloading and restarting
the firmware.
Interface going offline
Although all driver recovery procedure are completed, the interface
did not come online and might need replacement.
SCSI Cable/Connection problem
The SCSI cable is faulty or is connected improperly.
Hardware/Firmware error
The ISP chip encountered a firmware error that is probably due to a
faulty SCSI cable or improper cable connection. As a result, the
qus driver attempts to do error recovery by resetting the chip.
Received unexpected SCSI Reset
The ISP chip received an unexpected SCSI Reset and has initiated
its own internal error recovery, which returns scsi_pkt with reason
set to CMD_RESET.
Fatal error, resetting interface
The qus driver is performing error recovery. As a result, all out‐
standing commands that have been transported to the qus driver is
completed by way of the scsi_pkt completion routine in the target
driver with reason of CMD_RESET and status of STAT_BUS_RESET set in
scsi_pkt.
Phase skipped: Command completed with good status — Potential data path
failure:
Possible SCSI cable failure. Driver might still be able to communi‐
cate with the target and continue sending commands. Leaving the
system in the same state triggers this message once per hour. Sys‐
tem I/O throughput might be reduced. The SCSI might need to be
replaced.
LVD Error detected
SCSI Cable/Connection problem
Bus Not Terminated
f/w initiated BDR fails
These messages indicate a possible cable failure. Outstanding com‐
mands are returned with CMD_RESET or CMD_TRAN_ERR set in scsi_pkt.
SunOS 5.10 29 May 2003 qus(7D)