SCSI Status Codes
The SCSI Status Code is what comes back from the SCSI target at the end of every command, and sometimes before the command completes. It informs the SCSI initiator if the command worked (successful) or didn’t work (unsuccessful).
Here is a list of the status codes and what they mean. By the way, the small “h” behind each code means we are using hexadecimal (hex – base 16) notation.
00h – Good Status. The device server has successfully completed the task (command).
02h – Check Condition Status. This indicates that Sense Data is available and that a Contingent Allegiance Condition (CAC) may exits. A CAC usually means that some kind of error has occurred.
04h – Condition Met. This code is returned for unlinked conditional commands, such as PREFETCH. This means the command was successful.
08h – Busy. This means the device (logical unit) can not accept a command right now. This condition is temporary and the command should be tried again.
10h – Intermediate. This is the same as a Good status (00h), except it is returned from a command that was part of a series of linked commands. The last command in the series cannot have this status.
14h – Intermediate-Condition Met. Combination of 04h and 10h codes (see above).
18h – Reservation Conflict. The device or element is Busy because a reservation is in place. Think of this as “Busy, because I am reserved”.)
22h – Command Terminated. This status code is now obsolete, but it was the result of a Terminate I/O Process message (that message is also obsolete).
28h – Task Set Full (was Queue Full). The Command Queue (task set) is full. You can think of this as “Busy, because my queue is full”.
30h – ACA Active. This code means that an Auto Contingent Allegiance (ACA) Condition exits in the task set. A Clear ACA message is normally used to clear this condition.
40h – Task Aborted. This means that a task has been aborted by another SCSI initiator (nasty) and the Task Aborted Status (TAS) bit is 1 (one) in the Control Mode page. More info to come on mode pages.
If you have any specific questions about these status codes, or when and why they occur, leave a comment and we will get you hooked up.