Event log

The Magstar® or ibmtpxxx, ibmcgxxx, and Magchgr device drivers log certain data to the Event Log when exceptions are encountered.

To interpret this event data, the user must be familiar with the following components:
  • Microsoft Event Viewer
  • The SDK and DDK components from the Microsoft Development Network (MSDN)
  • Magstar and Magstar MP hardware terminology
  • SCSI terminology

Several bytes of "Event Detail" data are logged under Source = Magstar or Magchgr (for Windows NT), or under Source = ibmtpxxx or ibmcgxxx (for Windows 2000; Windows Server 2003, Windows Server 2008, and Windows Server 2012).

The following description texts are expected:
  • The description for Event ID (0) in Source (MagStar or ibmtpxxx) was not found. It contains the following insertion strings: \Device\Tapex.
  • The description for Event ID (x) in Source (MagChgr) was not found.

The user must view the event data in Word format to properly decode the data.

Table 1 and Table 2 indicate the hexadecimal offsets, names, and definitions for Magstar or ibmtpxxx and ibmcgxxx event data. Magchgr event data has a unique format that appears later in this chapter.

For example, ibmcgxxx logs the following error when a move medium is attempted and the destination element is full. Explanations of selected fields follow.
0000: 006c000f 00c40001 00000000 c004000b
0010: bcde7f48 c0000284 00000000 00000000
0020: 00000000 00000000 00000000 000052f4
0030: 00000000 00000000 004000c4 02000003
0040: 600c00ff 00000028 00000000 00000258
0050: 00000000 814dac28 00000000 bcde7f48
0060: 81841000 00000000 a5600000 00200010
0070: 00000000 00000000 70000500 00000058
0080: 00000000 3b0dff02 00790000 0000093e
0090: 00000000
Table 2. Magstar ibmtpxxx, and ibmcgxxx event data
Field Value Definition
DumpDataSize 0x006C 6C hex (108 dec) bytes of dump data, beginning at byte 28 hex.
RetryCount 0x00 The first time that the operation is attempted (no retries).
MajorFunctionCode 0x0F IRP_MJ_INTERNAL_DEVICE_CONTROL
FinalStatus 0xC0000284 STATUS_DESTINATION_ELEMENT_FULL
IoControlCode 0x00000000 -
SRB 0x004000C4... From NTDDK.H, the first word of the SRB indicates the length of the SRB (40 hex bytes, 64 dec bytes), the function code (0x00), and the SrbStatus (from SRB.H, 0xC4 = SRB_STATUS_AUTOSENSE_VALID, SRB_STATUS_QUEUE_FROZEN, SRB_STATUS_ERROR).
CDB 0xA5... From SCSI.H, the first byte of the CDB is the operation code. 0xA5 = SCSIOP_MOVE_MEDIUM.
Sense Data 0x70000500... From SCSI.H, the first word of the sense data indicates the error code (0x70), the segment number (0x00), and the sense key (0x05, corresponding to an illegal SCSI request).
Table 3 and Table 4 contain definitions for event data that is logged under Magchgr.
Table 3. Magchgr event data
Offset Name Definition
0x00-0x01 DumpDataSize Indicates the size in bytes required for any DumpData the driver places in the packet.
0x02 RetryCount Indicates how many times the driver tried the operation and encountered this error.
0x03 MajorFunctionCode Indicates the IRP_MJ_XXX from the driver’s I/O stack location in the current IRP (from NTDDK.H).
0x0C-0x0F ErrorCode For the Magstar device driver, it is 0. For the Magchgr device driver, it is always 0xC00400B (IO_ERR_CONTROLLER_ERR) (from NTIOLOGC.H).
0x10-0x13 UniqueErrorValue Reserved
0x14-0x17 FinalStatus Indicates the value that is set in the I/O status block of the IRP when it was completed or the STATUS_XXX returned by a support routine the driver called (from NTSTATUS.H).
0x1C-0x1F IoControlCode For the Magstar device driver, it indicates the I/O control code from the driver I/O stack location in the current IRP if the MajorFunctionCode is IRP_MJ_DEVICE_CONTROL. Otherwise, this value is 0. For the Magchgr device driver, it indicates the I/O control code from the driver’s I/O stack location in the current IRP.
0x29 PathId SCSI Path ID
0x2A TargetId SCSI Target ID
0x2B LUN SCSI Logical Unit Number
0x2D CDB[0] Command Operation Code
0x2E SRB_STATUS See MINITAPE.H or SRB.H.
0x2F SCSI_STATUS See SCSI.H or a SCSI specification.
0x30-0x33 Timeout Value For the Magstar device driver, this value is always 0. For the Magchgr device driver, this value is the command timeout value in seconds.
0x38 FRU or Sense Byte 14 For the Magstar device driver, this value is the Field Replaceable Unit Code. For the Magchgr device driver, this value is Sense Byte 14.
0x39 SenseKeySpecific[0] Indicates Sense Key Specific byte (Sense Byte 15).
0x3A SenseKeySpecific[1] or CDB length If valid sense data was returned, SenseKeySpecific[1] (Sense Byte 16) is displayed. Otherwise, the CDB length is displayed. See offset 0x3D to determine whether valid sense data is returned.
0x3B SenseKeySpecific[2] or CDB[0] If valid sense data was returned, SenseKeySpecific[2] (Sense Byte 17) is displayed. Otherwise, the CDB operation code is displayed. See offset 0x3D to determine whether valid sense data is returned.
0x3C Sense Byte 0 Indicates the first byte of returned sense data.
0x3D Sense Byte 2 Indicates the second byte of returned sense data. This byte contains the Sense Key and other flags. If the byte is set to 0xDF (SCSI Error Marker) or 0xEF (Non-SCSI Error Marker), no valid sense information was available for the error.
0x3E ASC or SRB_STATUS Indicates Sense Byte 12, if there was valid sense information. Otherwise, the SRB status value is given here. See offset 0x3D to determine whether valid sense data is returned.
0x3F ASCQ or SCSI_STATUS Indicates Sense Byte 13, if there was valid sense information. Otherwise, the SCSI status value is given here. See offset 0x3D to determine whether valid sense data is returned.
For example,
0000: 0018000f 006c0001 00000000 00000000
0010: 00000000 c0000185 00000000 00000000
0020: 00000000 00000000 00000300 0015c402
0030: 00000000 00000000 f50ac607 700b4b00
Table 4. Magchgr event data
Field Value Definition
DumpDataSize 0x0018 -
RetryCount 0x00 -
MajorFunctionCode 0x0F IRP_MJ_INTERNAL_DEVICE_CONTROL
FinalStatus 0xC0000185 STATUS_IO_DEVICE_ERROR
IoControlCode 0x00000000 -
PathId 0x00 -
TargetId 0x03 -
LUN 0x00 -
CDB[0] 0x15 Mode Select, Byte 6
SRB_STATUS 0xC4 SRB_STATUS_AUTOSENSE_VALID, SRB_STATUS_QUEUE_FROZEN, SRB_STATUS_ERROR
SCSI_STATUS 0x02 Check condition
FRU 0xF5 -
Sense Key Specific Sense Bytes 15 - 17 0x0AC607 -
Sense Byte 0 0x70 -
Sense Key Sense Byte 2 0xb4 -
ASC 0x4B -
ACSQ 0x00 -