Web Analytics
Privacy Policy Cookie Policy Terms and Conditions The Linux SCSI programming HOWTO: The Sense Buffer Next Previous Contents

10. The Sense Buffer

Commands with no output data can give status information via the sense buffer (which is part of the header structure). Sense data is available when the previous command has terminated with a CHECK CONDITION status. In this case the kernel automatically retrieves the sense data via a REQUEST SENSE command. Its structure is:

+=====-========-========-========-========-========-========-========-========+
|  Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    |
|Byte |        |        |        |        |        |        |        |        |
|=====+========+==============================================================|
| 0   | Valid  |                  Error Code (70h or 71h)                     |
|-----+-----------------------------------------------------------------------|
| 1   |                           Segment Number                              |
|-----+-----------------------------------------------------------------------|
| 2   |Filemark|  EOM   |  ILI   |Reserved|         Sense Key                 |
|-----+-----------------------------------------------------------------------|
| 3   | (MSB)                                                                 |
|- - -+---                        Information                              ---|
| 6   |                                                                 (LSB) |
|-----+-----------------------------------------------------------------------|
| 7   |                           Additional Sense Length (n-7)               |
|-----+-----------------------------------------------------------------------|
| 8   | (MSB)                                                                 |
|- - -+---                        Command-Specific Information             ---|
| 11  |                                                                 (LSB) |
|-----+-----------------------------------------------------------------------|
| 12  |                           Additional Sense Code                       |
|-----+-----------------------------------------------------------------------|
| 13  |                           Additional Sense Code Qualifier             |
|-----+-----------------------------------------------------------------------|
| 14  |                           Field Replaceable Unit Code                 |
|-----+-----------------------------------------------------------------------|
| 15  |  SKSV  |                                                              |
|- - -+------------               Sense-Key Specific                       ---|
| 17  |                                                                       |
|-----+-----------------------------------------------------------------------|
| 18  |                                                                       |
|- - -+---                        Additional Sense Bytes                   ---|
| n   |                                                                       |
+=============================================================================+

Note: The most useful fields are Sense Key (see section sec-sensekeys ), Additional Sense Code and Additional Sense Code Qualifier (see section sec-sensecodes ). The latter two are used combined as a pair.


Next Previous Contents