Decoding rmlog.log



Record # 409:
Host: bart
Date: 09/28/97
Time: 16:22:18
Device: c2t5d6s0
Controller: 1T1234567JT
Error Type: 06
LUN: 03
LUN Status: 01
Drive: 2E
Error Number: 3F80
Sense Data:
7000 0600 0000 0098 0000 0000 3F80 2E00
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0008 0500 0000 0000 0000 0000
0000 0000 0F05 3154 3731 3332 3230 3736
2020 2020 2020 0204 1D00 0003 0100 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0050 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 000


The first line tells you the event number, followed by the
name of the host. Next is the date, time of the event. The drive
invloved, the controller serial number of the A3000 controller invloved.
Next would be the type of error, the LUN number, the location of the 
actual drive, the error number and then the sense data.

LUN Status Definition:

00 => Optimal condition
20 => Optimal with parity scan in progress
01 => Degraded LUN- waiting for repair action
41 => Degraded LUN - replaced drive being formatted.
02 => Degraded LUN - replaced drive being reconstructed
04 => Dead LUN 
44 => Dead LUN - format in progress
54 => Dead LUN - creation in progress
74 => Dead LUN - wrong drive removed/replaced

Error Number Definition:

This information is in the raidcode.txt on the sonoma page or
in RM6 6.1

Error Type:

This will always be byte 2 in the sense data, they are defined as 
follows:

00 => No Sense
01 => Recovered Error
02 => Not Ready 
03 => Medium Error
04 => Hardware Error
05 => Illegal Request
06 => Unit Attention
07 => Data Protect
0B => Aborted Command
0E => Miscompare

In the example above, you can see that it is telling you that the error
has to do with "Unit Attention:.

Drive Location:

The 362x controller reports drive location start with byte offset 0, and
going from bottom to top, it would be 0,1,2,3 and 4. This would correspond
with drive channels 1,2,3,4 and 5 that RM6 uses. The drives are targeted
from 8 thru E in the firmware. In our example above of drive location
2E, that would be the third tray from the bottom and the last drive in the
tray. RM6 would see this drive 3,14.

Sense Data Decoding:

Byte 2 is the sense key inforamtion
byte 7 is Additional Sense Length, this value will indicate the number 
of additional sense bytes to follow.
Bytes 8-11 will always be zero unless the has been unsuccessful Reassign
blocks.
Bytes 12-13, this information is in the raidcode.txt file or on the sonoma
web page.
Byte 14, Field Replaceable Unit Code, this is also in the raidcode.txt file.
Bytes 37-40, Error Detection Point, will indicate were in the software
the error was detected.
Bytes 52-53, Host Descriptor:
LSB:
bit 0 => data is being transfered 16-bit wide
bit 1 => Reserved
bit 2 => wide negotiation completed successfully
bit 3-7 => Reserved
MSB:
0 => Message using host
1 => Reselectable host
2 => data is being transferred synchronously(bit off means 
asynchronously data transfer)
3 => synchronous negotiation successful
4 => Reserved
5 => AEN supported
6 => Polled AEN supported
7 => Reserved
Bytes 54-69, Controller serial number
Bytes 70-73, Array software Revision
Byte 75, LUN Number 
Byte 76, LUN status 
Byte 101, Raid Level, a value off 255 indicates that the LUN Raid
level is undefined

To break down on sense data a little:

byte     2           7            1213 14
    7000 0600 0000 0098 0000 0000 3F80 2E00  sense data
    0000 0000 0000 0000 0000 0000 0000 0000  sense data
byte            37 38
    0000 0000 0008 0500 0000 0000 0000 0000  sense data
byte          5253 5455 5657 5859 6061 6263  
    0000 0000 0F05 3154 3731 3332 3230 3736  sense data
byte6465 6667 6869 7071 7273   75 76
    2020 2020 2020 0204 1D00 0003 0100 0000  sense data 
    0000 0000 0000 0000 0000 0000 0000 0000  sense data
byte            101
    0000 0000 0050 0000 0000 0000 0000 0000  sense data
    0000 0000 0000 0000 0000 0000 0000 000   sense data