SCSI(4) — DEVICES AND NETWORK INTERFACES
NAME
scsi − general SCSI error messages
DESCRIPTION
All SCSI devices in a Solbourne system use a three layer device driver scheme. The top layer supports a specific type of device (for example disk sd(4S), or tape st(4S)), the middle layer contains common code ( scsi(4S)), and the lower layer supports specific host adaptor hardware (for example SCSI IOASIC si(4S), or SCSI Rimfire sr(4S)). This man page describes diagnostics produced by the common middle layer.
DIAGNOSTICS
Error messages produced in the common middle layer are broken into two categories: those which occur when an upper layer device is actively connected to a lower layer, and those which occur when no device is connected to the lower host adaptor layer. In the first case the message is associated with the device, and in the second it is associated with the adaptor.
Device Messages
There is only one format for device messages. If fields in the message have no defined symbolic interpretation then hex numbers may appear. Device error messages have the format:
device: command: {scsi_status:} {{bn%d:} sense_key(%s): sense_code(%x):} {adaptor_code:} ..recovery
device The name of the upper layer device such as sd0.
command The SCSI command which was executing such as writex.
scsi_status A scsi_status code is returned after each command completion. Possible values are:
ok Command completed as expected.
check An error, exception, or abnormal condition occurred during command execution. The bn%d, sense_key, and sense_code fields contain further information.
busy The device is unable to accept a command at this time.
rcon Device is reserved by another initiator on the SCSI bus.
qfull More tagged commands have been issued to the device than the device is capable of handling.
timeout A pseudo status produced when a command does not complete within a predetermined time. In case other units are using all the SCSI bus bandwidth (inducing timeouts on low priority devices), an attempt is made to recover by forcing others idle. If this does not work, a timeout message is printed including information about whether the command is still ‘connected’ to the SCSI bus and, if not, who is. Timeouts may be caused by either a ‘hung’ SCSI bus or a command being lost by a device.
reset A pseudo status produced when the SCSI bus is reset during a command.
bn%d A block number is printed if the scsi_status is CHECK and if the error was associated with a specific block.
sense_key A sense_key is available if the scsi_status is CHECK. The sense_key provides a general classification of an error, exception, or abnormal condition. Possible sense_key values are:
no sense There is no sense key information to be reported. This message should not appear.
recovered The command completed successfully, but with some recovery action performed by the device.
not ready The device cannot be accessed. Operator intervention may be required.
media error A nonrecoverable error condition occurred due to a flaw in the media.
hardware error A nonrecoverable hardware error (device failure, parity error, etc) was detected while the device was performing the command, or during self test.
illegal request There was an illegal parameter in the command or command parameters.
unit attention The device has been reset.
write protected A write operation was attempted on a write protected device.
blank check Device encountered end of recorded media.
copy aborted A copy command was aborted due to an error.
abort command The device aborted a command.
volume overflow Physical end of media has been reached.
sense_code(%x)
A sense_code message will identify device specific information about the error.
adaptor_code
The adaptor_code field identifies host adaptor specific error messages and codes.
recovery The error recovery action that the upper layer driver will initiate is printed here. Possible recovery actions include:
fatal The upper level driver cannot recover from the error, the failure will be reported to the user application.
retry The upper level driver will retry the command that failed.
rezero Specific to disks, the upper level driver will seek to track 0 and then retry.
recovered The error was recoverable.
respin Specific to disks, the upper level driver will spin up the device.
busy The device has been returning BUSY status for too long. This is fatal recovery action.
wait Starting delay period before retrying the operation.
resetting Reset the SCSI bus and then retry the operation.
As an example, the error message
sd0.1: readx: CHECK: bn100: UNIT ATTENTION: power_on/reset(29) :.. retry
indicates that SCSI disk drive sd0 completed a readx command (tag number 1) with a CHECK scsi_status on block number 100. The CHECK condition was caused by a pending UNIT ATTENTION due to the error code power_on/reset(29) and that the sd driver will attempt to recover from the error by via retry.
Adaptor Messages
adaptor:scsi bus failure.
An abnormal sequence of events occurred which the low level driver could not handle.
adaptor:command timeout.
A command did not complete within its allotted frame.
adaptor:can’t reconnect target %d lun %d tag %d: connected %s.
A reconnect to an already connected bus occurred.
adaptor:can’t reconnect target %d lun %d tag %d: unit not disconnected.
A reconnect from a target which the driver did not have marked as disconnected occurred.
adaptor:can’t reconnect target %d lun %d tag %d: tag not disconnected.
A reconnect from a target with a tag which the driver did not have marked as disconnected occurred.
adaptor:resetting scsi bus.
Due to the previously specified error condition, the SCSI bus is being reset to achieve a known state.
adaptor:received scsi bus reset.
Some other target on the bus caused a reset. This failure can sometimes be caused by static discharge.
SEE ALSO
sd(4S), st(4S), si(4S), sr(4S).
Solbourne Computer, Inc. — 11 Jan 1994