"Out" is from the CPU to the SCSI device in these descriptions, and "receive" and "send" are also from the SCSI device point of view, since the target controls all the bus phases except for initial selection.
SCSI State Error Messages
State Message | Sense Key | Comments |
ST_RESET | 0x00 | SCSI chip reset by reset command or power-up. |
ST_SELECT | 0x11 | Selection of target complete (after C93SELATN). |
ST_SATOK | 0x16 | Select-And-Transfer completed successfully, that is, all phases have completed in a normal manner. |
ST_TR_DATAOUT | 0x18 | Transfer command done, target requesting data. |
ST_TR_DATAIN | 0x19 | Transfer command done, target sending data. |
ST_TR_STATIN | 0x1b | Target is sending status in. |
ST_TR_MSGIN | 0x1f | Transfer command done, target sending message. |
ST_TRANPAUSE | 0x20 | Transfer command has paused with ACK. |
ST_SAVEDP | 0x21 | Save Data Pointers message during SAT normal state when device is disconnecting from the bus. |
ST_A_RESELECT | 0x27 | Reselected after disconnect (93A). |
ST_UNEXPDISC | 0x41 | Device disconnected without sending a disconnect message. This sometimes happens when devices with removable media have had the media removed during a transfer. |
ST_PARITY | 0x43 | Command terminated due to parity error on the SCSI bus. |
ST_PARITY_ATN | 0x44 | Command terminated due to parity error (ATN is asserted so that host can send a message to device; the transfer is just aborted). |
ST_TIMEOUT | 0x42 | Time-out during Select or Reselect, that is, the device never responded to an attempt to select it; normally seen only during hardware inventory probing, but sometimes happens after a SCSI bus reset if device takes a long time to recover from the reset or is powered off. |
ST_INCORR_DATA | 0x47 | Incorrect message or status byte. |
ST_UNEX_RDATA | 0x48 | Unexpected receive data phase device tried to send more data than the SCSI chip is programmed to expect. This can be OK, as when a high-level request is made to transfer more data than the DMA hardware can map on a single request. In this case, simply reprogram the DMA hardware for the next chunk of data and restart the transfer (but don't send a new SCSI command to the device). When printed as part of an error message, it can sometimes be caused by a SCSI cabling problem, or (particularly with devscsi user drivers) by a mismatch in the byte count given to the driver and the byte count implied by the SCSI command sent to the device. |
ST_UNEX_SDATA | 0x49 | Unexpected send-data phase (same as above, but device is asking for more data). |
ST_UNEX_CMDPH | 0x4a | Unexpected command phase |
ST_UNEX_SSTATUS | 0x4b | Unexpected send status phases occur at the end of SCSI command (that is, byte count remaining is 0); if they happen at other times, the chip interrupts. This can happen when you ask a device for more data than it can give you, and in this case, you just return a short I/O count to the caller. When printed as part of an error message, it usually implies a cabling or termination problem. |
ST_UNEX_RMESGOUT | 0x4e | Unexpected request-message-out phase; usually indicates a SCSI cabling problem. |
ST_UNEX_SMESGIN | 0x4f | Unexpected send-message-in phase. Usually indicates a SCSI cabling problem; also happens when device sends an unsolicited disconnect message when preparing to disconnect from the bus. |
ST_RESELECT | 0x80 | WD33C93 has been reselected. |
ST_93A_RESEL | 0x81 | Reselected while idle (93A). |
ST_DISCONNECT | 0x85 | Disconnect has occurred. |
ST_NEEDCMD | 0x8a | Target is ready for a command. |
ST_REQ_SMESGOUT | 0x8e | REQ signal for send message out. |
ST_REQ_SMESGIN | 0x8f | REQ signal for send message in above 3 usually seen only during sync negotiations. |