qus - Qlogic Ultra3 SCSI ISP10160 Host Bus Adapter Driver
pci@pci-slot/scsi@4 - Scsi bus-1
pci@pci-slot/scsi@5 - Scsi bus-2
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.
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.
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;
Note that the default initiator ID in OBP is 7 and that the change to ID 6 occurs at attach time. You may 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 prtconf(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 negotiated 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 following 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, followed 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 modified 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 capability, the value set in scsi-options prevails. Only whom != 0 is supported in the scsi_ifsetcap(9F) call.
Refer to scsi_ifsetcap(9F) and scsi_ifgetcap(9F) for details.
/kernel/drv/sparcv9/qus 64-bitELF kernel module
/kernel/drv/qus.conf Configuration file
See attributes(5) for a description of the following attribute:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Architecture | SPARC |
prtconf(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)
Writing Device Drivers
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
In addition to being logged, the following messages may appear on the system console.
The first set of messages shown below may be displayed while the qus driver is first trying to attach. All messages in the first set indicate 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 will not be 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 structure. Driver did not attach to device; SCSI devices are inaccessible.
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 interface. Driver did not attach to device; SCSI devices are inaccessible.
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 will call the target 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 will call the target completion 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 it's 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 may 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 outstanding commands that have been transported to the qus driver will be completed via 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 may still be able to communicate with the target and continue sending commands. Leaving the system in the same state triggers this message once per hour. System I/O throughput may be reduced. The SCSI may 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 commands are returned with CMD_RESET or CMD_TRAN_ERR set in scsi_pkt.
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |