Quantcast
Channel: Systems Management - Wiki
Viewing all 335 articles
Browse latest View live

BMC SEL Log

$
0
0
Revision 18 posted to Systems Management - Wiki by Peter Tsai on 11/15/2010 4:58:40 PM
What are These Baseboard Management Controller (BMC) System Event Log (SEL) Records Logged by Windows?
iDRAC6 SEL Log
Introduction
Did you ever notice a bunch of entries in the Baseboard Management Controller (BMC) System Event Log (SEL) that seem to be coming from Windows? Not the Windows system event log, but the SEL that is accessible from the Baseboard Management Controller (BMC).

It may seem that this log is only intended for hardware events and errors, but there is an OS driver that also logs events to it. Starting with Windows Server 2003 R2, Microsoft began shipping the Intelligent Platform Management Interface (IPMI) driver. One of its functions is to log certain OS events to the SEL. The IPMI driver writes multiple records to the SEL for these three types of events: boot up, shutdown and bugcheck events.

The BMC SEL log is accessible via the sideband BMC interface using tools like ipmitool or impish. It is also accessible from OpenManage Server Assistant (OMSA), the Dell Remote Access Controller (DRAC) console, and <CTRL-E> during boot. Many different types of events, which can be useful in troubleshooting, are logged in the SEL. Each SEL record packs a lot of information in only 16 bytes, and given their limited size, they can be hard to decode.

Decoding the SEL Record

Each SEL record is 16 bytes in length and the format is defined in the IPMI spec. The table below summarizes the format of the SEL record, as defined by the IPMI spec. At the highest level, the Record Type field indicates whether it is a System Event Record or an OEM defined event record. System Event records are defined in the IPMI specification, and OEM records are defined by the OEM.

Each event logged by the IPMI driver (whether boot up, shutdown, or bugcheck) will cause one system event record and one or more OEM records to be logged to the SEL. The type 02h system event record format is defined in the table below.

BytesFieldDescription
1:0 SEL Record ID 16 bit record identifier

0000h: Reserved
0001h to FFFEh: SEL Record ID
FFFFh: Reserved
2 Record Type 02h: System Event Record

C0h to DFh: OEM Time stamped Record
Bytes 8-16 are OEM Defined

E0h to FFh: OEM Non-Time stamped Record
Bytes 4-16 are OEM Defined
6:3 SEL Timestamp Time when event was logged
8:7Generator ID Byte 8: System Software ID or IPMB Slave Address=============

[7:1]: System Software ID, or 7-bit I2C slave address
[0]: 0b means bits 7-1 are the IPMB Slave Address
1b means bits 7-1 are the System Software ID

Byte 7: Channel/LUN=============

[7:4]: Channel Number. Must be 0000b if the event was received via the system interface, primary IPMB, or internally generated by the BMC

[3:2]: Reserved. Must be 00b

[1:0]: IPMB device LUN if Byte 0 holds a slave address. 00b if Byte 0 holds a System Software ID
9 EvMRev 03h: IPMI 1.0 0

4h: IPMI 2.0
10 Sensor Type Sensor type code as specified in the IPMI spec
11 Sensor Number Number of the sensor that generated the event
12 Event Type [7]: Event Direction

0b: Assertion Event
1b: De-assertion Event


[6:0]: 7 bit Event/Reading Type Code

00h: Event/Reading Type unspecified
01h: Threshold
02h-0Ch: Generic Discrete
6Fh: Sensor-Specific Discrete
70h-7Fh: OEM Discrete. Indicates the discrete state info is specific to the OEM identified by the Manufacturer ID for the IPMI device that is providing access to the sensor
13 Event Data 1: Event Field Contents
14 Event Data 2 Event Field Contents
15 Event Data 3 Event Field Contents

Boot Up Events
During a system boot, two records are written to the SEL. The first is a type 02h System Event, and the second is an OEM event.

Type 02h Boot Up Record

The first 10 bytes of the type 02h System boot up record are general header information, and the boot-relevant information starts at byte 10.

BytesValue Field Name Meaning of Value
1:0
SEL Record ID record identifier
2 02h Record Type 02h indicates a system event record
6:3
SEL Timestamp
8:70041hGenerator ID 0041h indicates the event comes from system software whose ID 20h
9 04h EvMRev IPMI 2.0 Event Message Revision
10 1Fh Sensor Type:OS boot Sensor type 1Fh is OS Boot as specified in the IPMI spec
11 00h Sensor Number
12 6FhEvent Type [7]: 0b: indicates an assertion event [6:0]: 6Fh indicates a Sensor-specific Discreet Type code. This means use the sensor specific offsets to interpret the event data bytes
13 01h Event Data 1: C: Boot Completed[7:6]:00b = unspecified byte 2 event data[5:4]: 00b = unspecified byte 3 event data[3:0]: Offset from Event/Reading Code 0h: A: boot completed 1h: C: boot completed 2h: PXE boot completed 3h: Diagnostic boot completed 4h: CD-ROM boot completd 5h: ROM boot completed 6h: boot completed-boot device not specified
14 FFh Event Data 2 Not specified per bits 7-6 in event data 1
15 FFh Event Data 3 Not specified per bits 5-4 in event data 1

Type DCh Boot Up OEM Event Record

The OEM Event record for bootup does not provide much more information. Nevertheless, the type DCh OEM Boot up event record looks similar to this:

Bytes Value Field Name Description
1:0
SEL Record ID
2 DCh Record Type OEM Time stamped Record (bytes 7-15 are OEM Defined)DCh: OS Boot up
6:3
SEL Timestamp
9:7137hIPMI Manufacturer ID 137h (311d) is the IANA enterprise number for Microsoft
10
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
14:11
Boot Time The OS Boot time
1500h Reserved Reserved


Shutdown Events
System shutdown events can cause many records to be logged to the SEL. There is one type 02h System Event record, one OEM type DDh record for the shutdown reason code, and zero or more OEM type DDh records for the shutdown comment.

Whenever a user shuts down a system using shutdown.exe, the reason and comment entered by the user are saved in the registry. Then the IPMI driver reads them from the registry and logs them to the SEL with OEM type DDh records. The shutdown reason is a 4 byte code which fits within SEL entry. The shutdown comment, however, is a user-entered string of variable length.

The IPMI driver saves the comment string to the SEL in multiple OEM type DDh records, concatenated using the sequence number. This can be problematic because there are only 4 bytes available for the comment per SEL entry, and the comment is saved as a Unicode string.

This can quickly fill the SEL log. During a manual shutdown (Start | Shutdown), even though the user is required to enter a reason and comment, the comment is never saved to the registry, and therefore not logged to the SEL. Furthermore, an incorrect reason code is saved. See Microsoft KB200106 (http://support.microsoft.com/kb/2001061).

Type 02h System Shutdown Event Record

Again, the first 10 bytes of the type 02h System Event Record is all header information. The information relevant to the system shutdown starts at byte 10.

BytesValue Field Name Description
1:0
SEL Record ID record identifier
2 02hRecord Type 02h indicates a system event record
6:3
SEL Timestamp
8:70041hGenerator ID 0041h indicates the event comes from system software whose ID 20h
9 04h EvMRev IPMI 2.0 Event Message Revision
10 20h Sensor Type:OS Stop/Shutdown Sensor type 1Fh is OS Boot as specified in the IPMI spec
11 00h Sensor Number
12 6FhEvent Type [7]: 0b: indicates an assertion event [6:0]: 6Fh: indicates a Sensor-specific Discreet Type code. This means use the sensor specific offsets to interpret the event data bytes
13 03hEvent Data 1: [7:6]: 00b = unspecified byte 2 event data[5:4]: 00b = unspecified byte 3 event data[3:0]: Offset from Event/Reading Code 0h: Critical stop during OS load/initialization. Unexpected error during system startup. Stopped waiting for input or power cycle/reset 1h: Run-time critical stop (aka ‘core dump’ or ‘blue screen’ 2h: OS Graceful stop (system powered up, but normal OS operation has shut down and system is awaiting reset pushbutton, power-cycle or other external input) 3h: OS Graceful Shutdown (system graceful power down by OS) 4h: Soft Shutdown initiated by PEF 5h: Agent Not Responding. Graceful shutdown request to agent via BMC did not occur due to missing or malfunctioning local agent
14 FFh Event Data 2 Not specified per bits 7-6 in event data 1
15 FFh Event Data 3 Not specified per bits 5-4 in event data 1

Type DDh Shutdown Reason OEM Event Record

The IPMI driver reads the shutdown reason code is from the DWORD registry value at

HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/ReasonCode (DWORD)

The reason code is then logged to the SEL with the following OEM Type DDh record:

Bytes Value Field Name Description
1:0
SEL Record ID
2 DDh Record Type OEM Time stamped Record (bytes 7-15 are OEM Defined)DDh: OS Shutdown
6:3
SEL Timestamp
9:7137hIPMI Manufacturer ID 137h (311d) is the IANA enterprise number for Microsoft
10
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
14:11
Shutdown Reason Shutdown Reason which is read from the registry:HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/ReasonCode (DWORD)
1500hReserved

Type DDh Shutdown Comment OEM Event Record

Similarly, the shutdown comment is a REG_SZ value read from the same registry key.

HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/Comment (REG_SZ)

Bytes Value Field Name Description
1:0
SEL Record ID
2 DDh Record Type OEM Time stamped Record (bytes 7-15 are OEM Defined)DDh: OS Shutdown
6:3
SEL Timestamp
9:7137hIPMI Manufacturer ID 137h (311d) is the IANA enterprise number for Microsoft
10
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
14:11
Shutdown Comment Shutdown Comment which is read from the registry:HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/Comment (REG_SZ)
1500h Reserved

Disabling the Type DDh Shutdown Comment records

Because the shutdown comment can take so many records to log, it can cause the SEL to become full very quickly. Microsoft released a hotfix to allow for disabling the shutdown log comments for Windows Server 2008 SP1. This hotfix can be found at:

http://support.microsoft.com/kb/962920

Starting with Windows Server 2008 R2, the functionality is present in the OS without applying the hotfix. So for windows Server 2008 SP1, you must apply the hotfix before modifying the registry, but for Windows Server 2008 SP2 and later you can modify the registry without applying the hotfix.

1.Open regedit and navigate to HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\IPMI
2.Create a new DWORD Value named DisableSELShutdownComment
3.Right-click DisableSELShutdownComment, and then click Modify.
4.In the Value data box, type 1, and then click OK.
5.Close regedit and reboot

Bugcheck Events
A system bugcheck (bluescreen) will cause six records to be written to the event log. A type 02h System Event records is written, followed by five type DEh OEM event records: One for the bugcheck code, and one for each of the four parameters to the bugcheck.

Type 02h Bugcheck System Event Record

Like the other Type 02h System event records logged by the IPMI driver, the relevant information starts after the header at byte 10. In the case of the bugcheck, the sensor type is 20h which is the same as the Shutdown system event record, but the event data byte at byte 13 indicates runtime critical stop.

BytesValue Field Name Description
1:0
SEL Record ID record identifier
2 02hRecord Type 02h indicates a system event record
6:3
SEL Timestamp
8:70041hGenerator ID 0041h indicates the event comes from system software whose ID 20h
9 04h EvMRev IPMI 2.0 Event Message Revision
10 20h Sensor Type: OS Stop/Shutdown Sensor type 1Fh is OS Boot as specified in the IPMI spec
11 00h Sensor Number
12 6FhEvent Type [7]: 0b: indicates an assertion event [6:0]: 6Fh: indicates a Sensor-specific Discreet Type code. This means use the sensor specific offsets to interpret the event data bytes
13 01hEvent Data 1[7:6]: 00b = unspecified byte 2 event data [5:4]: 00b = unspecified byte 3 event data [3:0]: Offset from Event/Reading Code 0h:Critical stop during OS load/initialization. Unexpected error during system startup. Stopped waiting for input or power cycle/reset 1h:Run-time critical stop (aka ‘core dump’ or ‘blue screen’2h:OS Graceful stop (system powered up, but normal OS operation has shut down and system is awaiting reset pushbutton, power-cycle or other external input) 3h:OS Graceful Shutdown (system graceful power down by OS) 4h:Soft Shutdown initiated by PEF 5h:Agent Not Responding. Graceful shutdown request to agent via BMC did not occur due to missing or malfunctioning local agent
14 FFh Event Data 2 Not specified per bits 7-6 in event data 1
15 FFh Event Data 3 Not specified per bits 5-4 in event data 1

Type DEh Bugcheck Code OEM Event Record

The bugcheck code is the stop code displayed on the bluescreen. It is used to indicate the type of failure that caused the bugcheck. The OEM Type DEh event record saves the bugcheck code to the SEL.

Bytes Value Field Name Description
1:0
SEL Record ID
2 DEhRecord Type OEM Time stamped Record (bytes 7-15 are OEM Defined)DEh: OS Bugcheck
6:3
SEL Timestamp
9:7137hIPMI Manufacturer ID 137h (311d) is the IANA enterprise number for Microsoft
10
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
14:11
Bugcheck Stop Code Stop code listed on the BSOD
15
System Architecture 00: 32bit OS01: 64bit OS

Type DEh Bugcheck Parameter OEM Event Record

When the system encounters a condition or error it can’t handle, a system call is made to bugcheck the system. In addition to the bugcheck code described above, four parameters are passed to further describe the failure. This information can be used to debug the system and figure out why the crash occurred. The OEM Type DEh Bugcheck Parameter Event record is described below:

Bytes Value Field Name Description
1:0
SEL Record ID
2 DEhRecord Type OEM Time stamped Record (bytes 7-15 are OEM Defined)DEh: OS Bugcheck
6:3
SEL Timestamp
9:7137hIPMI Manufacturer ID 137h (311d) is the IANA enterprise number for Microsoft
10
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
14:11
Bugcheck Parameter Argument to Bugcheck. These are the same arguments listed on the BSOD
15
System Architecture 00h: 32bit OS01h: 64bit OS


BMC SEL Log

$
0
0
Revision 17 posted to Systems Management - Wiki by Peter Tsai on 11/15/2010 4:54:10 PM
What are These Baseboard Management Controller (BMC) System Event Log (SEL) Records Logged by Windows?
iDRAC6 SEL Log
Introduction
Did you ever notice a bunch of entries in the Baseboard Management Controller (BMC) System Event Log (SEL) that seem to be coming from Windows? Not the Windows system event log, but the SEL that is accessible from the Baseboard Management Controller (BMC).

It may seem that this log is only intended for hardware events and errors, but there is an OS driver that also logs events to it. Starting with Windows Server 2003 R2, Microsoft began shipping the Intelligent Platform Management Interface (IPMI) driver. One of its functions is to log certain OS events to the SEL. The IPMI driver writes multiple records to the SEL for these three types of events: boot up, shutdown and bugcheck events.

The BMC SEL log is accessible via the sideband BMC interface using tools like ipmitool or impish. It is also accessible from OpenManage Server Assistant (OMSA), the Dell Remote Access Controller (DRAC) console, and <CTRL-E> during boot. Many different types of events, which can be useful in troubleshooting, are logged in the SEL. Each SEL record packs a lot of information in only 16 bytes, and given their limited size, they can be hard to decode.

Decoding the SEL Record

Each SEL record is 16 bytes in length and the format is defined in the IPMI spec. The table below summarizes the format of the SEL record, as defined by the IPMI spec. At the highest level, the Record Type field indicates whether it is a System Event Record or an OEM defined event record. System Event records are defined in the IPMI specification, and OEM records are defined by the OEM.

Each event logged by the IPMI driver (whether boot up, shutdown, or bugcheck) will cause one system event record and one or more OEM records to be logged to the SEL. The type 02h system event record format is defined in the table below.

BytesFieldDescription
1:0 SEL Record ID 16 bit record identifier 0000h: Reserved
0001h to FFFEh: SEL Record ID
FFFFh: Reserved
2 Record Type 02h: System Event Record C0h to DFh: OEM Time stamped Record Bytes 8-16 are OEM Defined E0h to FFh: OEM Non-Time stamped Record Bytes 4-16 are OEM Defined
6:3 SEL Timestamp Time when event was logged
8:7Generator ID Byte 8: System Software ID or IPMB Slave Address=============[7:1]: System Software ID, or 7-bit I2C slave address[0]: 0b means bits 7-1 are the IPMB Slave Address1b means bits 7-1 are the System Software IDByte 7: Channel/LUN=============[7:4]: Channel Number. Must be 0000b if the event was received via the system interface, primary IPMB, or internally generated by the BMC[3:2]: Reserved. Must be 00b[1:0]: IPMB device LUN if Byte 0 holds a slave address. 00b if Byte 0 holds a System Software ID
9 EvMRev 03h: IPMI 1.0 04h: IPMI 2.0
10 Sensor Type Sensor type code as specified in the IPMI spec
11 Sensor Number Number of the sensor that generated the event
12 Event Type [7]: Event Direction0b: Assertion Event1b: De-assertion Event[6:0]: 7 bit Event/Reading Type Code00h: Event/Reading Type unspecified01h: Threshold02h-0Ch: Generic Discrete6Fh: Sensor-Specific Discrete70h-7Fh: OEM Discrete. Indicates the discrete state info is specific to the OEM identified by the Manufacturer ID for the IPMI device that is providing access to the sensor
13 Event Data 1: Event Field Contents
14 Event Data 2 Event Field Contents
15 Event Data 3 Event Field Contents

Boot Up Events
During a system boot, two records are written to the SEL. The first is a type 02h System Event, and the second is an OEM event.

Type 02h Boot Up Record

The first 10 bytes of the type 02h System boot up record are general header information, and the boot-relevant information starts at byte 10.

BytesValue Field Name Meaning of Value
1:0
SEL Record ID record identifier
2 02h Record Type 02h indicates a system event record
6:3
SEL Timestamp
8:70041hGenerator ID 0041h indicates the event comes from system software whose ID 20h
9 04h EvMRev IPMI 2.0 Event Message Revision
10 1Fh Sensor Type:OS boot Sensor type 1Fh is OS Boot as specified in the IPMI spec
11 00h Sensor Number
12 6FhEvent Type [7]: 0b: indicates an assertion event [6:0]: 6Fh indicates a Sensor-specific Discreet Type code. This means use the sensor specific offsets to interpret the event data bytes
13 01h Event Data 1: C: Boot Completed[7:6]:00b = unspecified byte 2 event data[5:4]: 00b = unspecified byte 3 event data[3:0]: Offset from Event/Reading Code 0h: A: boot completed 1h: C: boot completed 2h: PXE boot completed 3h: Diagnostic boot completed 4h: CD-ROM boot completd 5h: ROM boot completed 6h: boot completed-boot device not specified
14 FFh Event Data 2 Not specified per bits 7-6 in event data 1
15 FFh Event Data 3 Not specified per bits 5-4 in event data 1

Type DCh Boot Up OEM Event Record

The OEM Event record for bootup does not provide much more information. Nevertheless, the type DCh OEM Boot up event record looks similar to this:

Bytes Value Field Name Description
1:0
SEL Record ID
2 DCh Record Type OEM Time stamped Record (bytes 7-15 are OEM Defined)DCh: OS Boot up
6:3
SEL Timestamp
9:7137hIPMI Manufacturer ID 137h (311d) is the IANA enterprise number for Microsoft
10
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
14:11
Boot Time The OS Boot time
1500h Reserved Reserved


Shutdown Events
System shutdown events can cause many records to be logged to the SEL. There is one type 02h System Event record, one OEM type DDh record for the shutdown reason code, and zero or more OEM type DDh records for the shutdown comment.

Whenever a user shuts down a system using shutdown.exe, the reason and comment entered by the user are saved in the registry. Then the IPMI driver reads them from the registry and logs them to the SEL with OEM type DDh records. The shutdown reason is a 4 byte code which fits within SEL entry. The shutdown comment, however, is a user-entered string of variable length.

The IPMI driver saves the comment string to the SEL in multiple OEM type DDh records, concatenated using the sequence number. This can be problematic because there are only 4 bytes available for the comment per SEL entry, and the comment is saved as a Unicode string.

This can quickly fill the SEL log. During a manual shutdown (Start | Shutdown), even though the user is required to enter a reason and comment, the comment is never saved to the registry, and therefore not logged to the SEL. Furthermore, an incorrect reason code is saved. See Microsoft KB200106 (http://support.microsoft.com/kb/2001061).

Type 02h System Shutdown Event Record

Again, the first 10 bytes of the type 02h System Event Record is all header information. The information relevant to the system shutdown starts at byte 10.

BytesValue Field Name Description
1:0
SEL Record ID record identifier
2 02hRecord Type 02h indicates a system event record
6:3
SEL Timestamp
8:70041hGenerator ID 0041h indicates the event comes from system software whose ID 20h
9 04h EvMRev IPMI 2.0 Event Message Revision
10 20h Sensor Type:OS Stop/Shutdown Sensor type 1Fh is OS Boot as specified in the IPMI spec
11 00h Sensor Number
12 6FhEvent Type [7]: 0b: indicates an assertion event [6:0]: 6Fh: indicates a Sensor-specific Discreet Type code. This means use the sensor specific offsets to interpret the event data bytes
13 03hEvent Data 1: [7:6]: 00b = unspecified byte 2 event data[5:4]: 00b = unspecified byte 3 event data[3:0]: Offset from Event/Reading Code 0h: Critical stop during OS load/initialization. Unexpected error during system startup. Stopped waiting for input or power cycle/reset 1h: Run-time critical stop (aka ‘core dump’ or ‘blue screen’ 2h: OS Graceful stop (system powered up, but normal OS operation has shut down and system is awaiting reset pushbutton, power-cycle or other external input) 3h: OS Graceful Shutdown (system graceful power down by OS) 4h: Soft Shutdown initiated by PEF 5h: Agent Not Responding. Graceful shutdown request to agent via BMC did not occur due to missing or malfunctioning local agent
14 FFh Event Data 2 Not specified per bits 7-6 in event data 1
15 FFh Event Data 3 Not specified per bits 5-4 in event data 1

Type DDh Shutdown Reason OEM Event Record

The IPMI driver reads the shutdown reason code is from the DWORD registry value at

HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/ReasonCode (DWORD)

The reason code is then logged to the SEL with the following OEM Type DDh record:

Bytes Value Field Name Description
1:0
SEL Record ID
2 DDh Record Type OEM Time stamped Record (bytes 7-15 are OEM Defined)DDh: OS Shutdown
6:3
SEL Timestamp
9:7137hIPMI Manufacturer ID 137h (311d) is the IANA enterprise number for Microsoft
10
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
14:11
Shutdown Reason Shutdown Reason which is read from the registry:HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/ReasonCode (DWORD)
1500hReserved

Type DDh Shutdown Comment OEM Event Record

Similarly, the shutdown comment is a REG_SZ value read from the same registry key.

HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/Comment (REG_SZ)

Bytes Value Field Name Description
1:0
SEL Record ID
2 DDh Record Type OEM Time stamped Record (bytes 7-15 are OEM Defined)DDh: OS Shutdown
6:3
SEL Timestamp
9:7137hIPMI Manufacturer ID 137h (311d) is the IANA enterprise number for Microsoft
10
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
14:11
Shutdown Comment Shutdown Comment which is read from the registry:HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/Comment (REG_SZ)
1500h Reserved

Disabling the Type DDh Shutdown Comment records

Because the shutdown comment can take so many records to log, it can cause the SEL to become full very quickly. Microsoft released a hotfix to allow for disabling the shutdown log comments for Windows Server 2008 SP1. This hotfix can be found at:

http://support.microsoft.com/kb/962920

Starting with Windows Server 2008 R2, the functionality is present in the OS without applying the hotfix. So for windows Server 2008 SP1, you must apply the hotfix before modifying the registry, but for Windows Server 2008 SP2 and later you can modify the registry without applying the hotfix.

1.Open regedit and navigate to HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\IPMI
2.Create a new DWORD Value named DisableSELShutdownComment
3.Right-click DisableSELShutdownComment, and then click Modify.
4.In the Value data box, type 1, and then click OK.
5.Close regedit and reboot

Bugcheck Events
A system bugcheck (bluescreen) will cause six records to be written to the event log. A type 02h System Event records is written, followed by five type DEh OEM event records: One for the bugcheck code, and one for each of the four parameters to the bugcheck.

Type 02h Bugcheck System Event Record

Like the other Type 02h System event records logged by the IPMI driver, the relevant information starts after the header at byte 10. In the case of the bugcheck, the sensor type is 20h which is the same as the Shutdown system event record, but the event data byte at byte 13 indicates runtime critical stop.

BytesValue Field Name Description
1:0
SEL Record ID record identifier
2 02hRecord Type 02h indicates a system event record
6:3
SEL Timestamp
8:70041hGenerator ID 0041h indicates the event comes from system software whose ID 20h
9 04h EvMRev IPMI 2.0 Event Message Revision
10 20h Sensor Type: OS Stop/Shutdown Sensor type 1Fh is OS Boot as specified in the IPMI spec
11 00h Sensor Number
12 6FhEvent Type [7]: 0b: indicates an assertion event [6:0]: 6Fh: indicates a Sensor-specific Discreet Type code. This means use the sensor specific offsets to interpret the event data bytes
13 01hEvent Data 1[7:6]: 00b = unspecified byte 2 event data [5:4]: 00b = unspecified byte 3 event data [3:0]: Offset from Event/Reading Code 0h:Critical stop during OS load/initialization. Unexpected error during system startup. Stopped waiting for input or power cycle/reset 1h:Run-time critical stop (aka ‘core dump’ or ‘blue screen’2h:OS Graceful stop (system powered up, but normal OS operation has shut down and system is awaiting reset pushbutton, power-cycle or other external input) 3h:OS Graceful Shutdown (system graceful power down by OS) 4h:Soft Shutdown initiated by PEF 5h:Agent Not Responding. Graceful shutdown request to agent via BMC did not occur due to missing or malfunctioning local agent
14 FFh Event Data 2 Not specified per bits 7-6 in event data 1
15 FFh Event Data 3 Not specified per bits 5-4 in event data 1

Type DEh Bugcheck Code OEM Event Record

The bugcheck code is the stop code displayed on the bluescreen. It is used to indicate the type of failure that caused the bugcheck. The OEM Type DEh event record saves the bugcheck code to the SEL.

Bytes Value Field Name Description
1:0
SEL Record ID
2 DEhRecord Type OEM Time stamped Record (bytes 7-15 are OEM Defined)DEh: OS Bugcheck
6:3
SEL Timestamp
9:7137hIPMI Manufacturer ID 137h (311d) is the IANA enterprise number for Microsoft
10
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
14:11
Bugcheck Stop Code Stop code listed on the BSOD
15
System Architecture 00: 32bit OS01: 64bit OS

Type DEh Bugcheck Parameter OEM Event Record

When the system encounters a condition or error it can’t handle, a system call is made to bugcheck the system. In addition to the bugcheck code described above, four parameters are passed to further describe the failure. This information can be used to debug the system and figure out why the crash occurred. The OEM Type DEh Bugcheck Parameter Event record is described below:

Bytes Value Field Name Description
1:0
SEL Record ID
2 DEhRecord Type OEM Time stamped Record (bytes 7-15 are OEM Defined)DEh: OS Bugcheck
6:3
SEL Timestamp
9:7137hIPMI Manufacturer ID 137h (311d) is the IANA enterprise number for Microsoft
10
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
14:11
Bugcheck Parameter Argument to Bugcheck. These are the same arguments listed on the BSOD
15
System Architecture 00h: 32bit OS01h: 64bit OS

BMC SEL Log

$
0
0
Revision 16 posted to Systems Management - Wiki by Peter Tsai on 11/15/2010 4:21:12 PM
What are These Baseboard Management Controller (BMC) System Event Log (SEL) Records Logged by Windows?
iDRAC6 SEL Log
Introduction
Did you ever notice a bunch of entries in the Baseboard Management Controller (BMC) System Event Log (SEL) that seem to be coming from Windows? Not the Windows system event log, but the SEL that is accessible from the Baseboard Management Controller (BMC).

It may seem that this log is only intended for hardware events and errors, but there is an OS driver that also logs events to it. Starting with Windows Server 2003 R2, Microsoft began shipping the Intelligent Platform Management Interface (IPMI) driver. One of its functions is to log certain OS events to the SEL. The IPMI driver writes multiple records to the SEL for these three types of events: boot up, shutdown and bugcheck events.

The BMC SEL log is accessible via the sideband BMC interface using tools like ipmitool or impish. It is also accessible from OpenManage Server Assistant (OMSA), the Dell Remote Access Controller (DRAC) console, and <CTRL-E> during boot. Many different types of events, which can be useful in troubleshooting, are logged in the SEL. Each SEL record packs a lot of information in only 16 bytes, and given their limited size, they can be hard to decode.

Decoding the SEL Record

Each SEL record is 16 bytes in length and the format is defined in the IPMI spec. The table below summarizes the format of the SEL record, as defined by the IPMI spec. At the highest level, the Record Type field indicates whether it is a System Event Record or an OEM defined event record. System Event records are defined in the IPMI specification, and OEM records are defined by the OEM.

Each event logged by the IPMI driver (whether boot up, shutdown, or bugcheck) will cause one system event record and one or more OEM records to be logged to the SEL. The type 02h system event record format is defined in the table below.

BytesFieldDescription
1:0 SEL Record ID 16 bit record identifier 0000h: Reserved 0001h to FFFEh: SEL Record ID FFFFh: Reserved
2 Record Type 02h: System Event Record C0h to DFh: OEM Time stamped Record Bytes 8-16 are OEM Defined E0h to FFh: OEM Non-Time stamped Record Bytes 4-16 are OEM Defined
6:3 SEL Timestamp Time when event was logged
8:7Generator ID Byte 8: System Software ID or IPMB Slave Address=============[7:1]: System Software ID, or 7-bit I2C slave address[0]: 0b means bits 7-1 are the IPMB Slave Address1b means bits 7-1 are the System Software IDByte 7: Channel/LUN=============[7:4]: Channel Number. Must be 0000b if the event was received via the system interface, primary IPMB, or internally generated by the BMC[3:2]: Reserved. Must be 00b[1:0]: IPMB device LUN if Byte 0 holds a slave address. 00b if Byte 0 holds a System Software ID
9 EvMRev 03h: IPMI 1.0 04h: IPMI 2.0
10 Sensor Type Sensor type code as specified in the IPMI spec
11 Sensor Number Number of the sensor that generated the event
12 Event Type [7]: Event Direction0b: Assertion Event1b: De-assertion Event[6:0]: 7 bit Event/Reading Type Code00h: Event/Reading Type unspecified01h: Threshold02h-0Ch: Generic Discrete6Fh: Sensor-Specific Discrete70h-7Fh: OEM Discrete. Indicates the discrete state info is specific to the OEM identified by the Manufacturer ID for the IPMI device that is providing access to the sensor
13 Event Data 1: Event Field Contents
14 Event Data 2 Event Field Contents
15 Event Data 3 Event Field Contents

Boot Up Events
During a system boot, two records are written to the SEL. The first is a type 02h System Event, and the second is an OEM event.

Type 02h Boot Up Record

The first 10 bytes of the type 02h System boot up record are general header information, and the boot-relevant information starts at byte 10.

BytesValue Field Name Meaning of Value
1:0
SEL Record ID record identifier
2 02h Record Type 02h indicates a system event record
6:3
SEL Timestamp
8:70041hGenerator ID 0041h indicates the event comes from system software whose ID 20h
9 04h EvMRev IPMI 2.0 Event Message Revision
10 1Fh Sensor Type:OS boot Sensor type 1Fh is OS Boot as specified in the IPMI spec
11 00h Sensor Number
12 6FhEvent Type [7]: 0b: indicates an assertion event [6:0]: 6Fh indicates a Sensor-specific Discreet Type code. This means use the sensor specific offsets to interpret the event data bytes
13 01h Event Data 1: C: Boot Completed[7:6]:00b = unspecified byte 2 event data[5:4]: 00b = unspecified byte 3 event data[3:0]: Offset from Event/Reading Code 0h: A: boot completed 1h: C: boot completed 2h: PXE boot completed 3h: Diagnostic boot completed 4h: CD-ROM boot completd 5h: ROM boot completed 6h: boot completed-boot device not specified
14 FFh Event Data 2 Not specified per bits 7-6 in event data 1
15 FFh Event Data 3 Not specified per bits 5-4 in event data 1

Type DCh Boot Up OEM Event Record

The OEM Event record for bootup does not provide much more information. Nevertheless, the type DCh OEM Boot up event record looks similar to this:

Bytes Value Field Name Description
1:0
SEL Record ID
2 DCh Record Type OEM Time stamped Record (bytes 7-15 are OEM Defined)DCh: OS Boot up
6:3
SEL Timestamp
9:7137hIPMI Manufacturer ID 137h (311d) is the IANA enterprise number for Microsoft
10
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
14:11
Boot Time The OS Boot time
1500h Reserved Reserved


Shutdown Events
System shutdown events can cause many records to be logged to the SEL. There is one type 02h System Event record, one OEM type DDh record for the shutdown reason code, and zero or more OEM type DDh records for the shutdown comment.

Whenever a user shuts down a system using shutdown.exe, the reason and comment entered by the user are saved in the registry. Then the IPMI driver reads them from the registry and logs them to the SEL with OEM type DDh records. The shutdown reason is a 4 byte code which fits within SEL entry. The shutdown comment, however, is a user-entered string of variable length.

The IPMI driver saves the comment string to the SEL in multiple OEM type DDh records, concatenated using the sequence number. This can be problematic because there are only 4 bytes available for the comment per SEL entry, and the comment is saved as a Unicode string.

This can quickly fill the SEL log. During a manual shutdown (Start | Shutdown), even though the user is required to enter a reason and comment, the comment is never saved to the registry, and therefore not logged to the SEL. Furthermore, an incorrect reason code is saved. See Microsoft KB200106 (http://support.microsoft.com/kb/2001061).

Type 02h System Shutdown Event Record

Again, the first 10 bytes of the type 02h System Event Record is all header information. The information relevant to the system shutdown starts at byte 10.

BytesValue Field Name Description
1:0
SEL Record ID record identifier
2 02hRecord Type 02h indicates a system event record
6:3
SEL Timestamp
8:70041hGenerator ID 0041h indicates the event comes from system software whose ID 20h
9 04h EvMRev IPMI 2.0 Event Message Revision
10 20h Sensor Type:OS Stop/Shutdown Sensor type 1Fh is OS Boot as specified in the IPMI spec
11 00h Sensor Number
12 6FhEvent Type [7]: 0b: indicates an assertion event [6:0]: 6Fh: indicates a Sensor-specific Discreet Type code. This means use the sensor specific offsets to interpret the event data bytes
13 03hEvent Data 1: [7:6]: 00b = unspecified byte 2 event data[5:4]: 00b = unspecified byte 3 event data[3:0]: Offset from Event/Reading Code 0h: Critical stop during OS load/initialization. Unexpected error during system startup. Stopped waiting for input or power cycle/reset 1h: Run-time critical stop (aka ‘core dump’ or ‘blue screen’ 2h: OS Graceful stop (system powered up, but normal OS operation has shut down and system is awaiting reset pushbutton, power-cycle or other external input) 3h: OS Graceful Shutdown (system graceful power down by OS) 4h: Soft Shutdown initiated by PEF 5h: Agent Not Responding. Graceful shutdown request to agent via BMC did not occur due to missing or malfunctioning local agent
14 FFh Event Data 2 Not specified per bits 7-6 in event data 1
15 FFh Event Data 3 Not specified per bits 5-4 in event data 1

Type DDh Shutdown Reason OEM Event Record

The IPMI driver reads the shutdown reason code is from the DWORD registry value at

HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/ReasonCode (DWORD)

The reason code is then logged to the SEL with the following OEM Type DDh record:

Bytes Value Field Name Description
1:0
SEL Record ID
2 DDh Record Type OEM Time stamped Record (bytes 7-15 are OEM Defined)DDh: OS Shutdown
6:3
SEL Timestamp
9:7137hIPMI Manufacturer ID 137h (311d) is the IANA enterprise number for Microsoft
10
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
14:11
Shutdown Reason Shutdown Reason which is read from the registry:HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/ReasonCode (DWORD)
1500hReserved

Type DDh Shutdown Comment OEM Event Record

Similarly, the shutdown comment is a REG_SZ value read from the same registry key.

HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/Comment (REG_SZ)

Bytes Value Field Name Description
1:0
SEL Record ID
2 DDh Record Type OEM Time stamped Record (bytes 7-15 are OEM Defined)DDh: OS Shutdown
6:3
SEL Timestamp
9:7137hIPMI Manufacturer ID 137h (311d) is the IANA enterprise number for Microsoft
10
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
14:11
Shutdown Comment Shutdown Comment which is read from the registry:HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/Comment (REG_SZ)
1500h Reserved

Disabling the Type DDh Shutdown Comment records

Because the shutdown comment can take so many records to log, it can cause the SEL to become full very quickly. Microsoft released a hotfix to allow for disabling the shutdown log comments for Windows Server 2008 SP1. This hotfix can be found at:

http://support.microsoft.com/kb/962920

Starting with Windows Server 2008 R2, the functionality is present in the OS without applying the hotfix. So for windows Server 2008 SP1, you must apply the hotfix before modifying the registry, but for Windows Server 2008 SP2 and later you can modify the registry without applying the hotfix.

1.Open regedit and navigate to HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\IPMI
2.Create a new DWORD Value named DisableSELShutdownComment
3.Right-click DisableSELShutdownComment, and then click Modify.
4.In the Value data box, type 1, and then click OK.
5.Close regedit and reboot

Bugcheck Events
A system bugcheck (bluescreen) will cause six records to be written to the event log. A type 02h System Event records is written, followed by five type DEh OEM event records: One for the bugcheck code, and one for each of the four parameters to the bugcheck.

Type 02h Bugcheck System Event Record

Like the other Type 02h System event records logged by the IPMI driver, the relevant information starts after the header at byte 10. In the case of the bugcheck, the sensor type is 20h which is the same as the Shutdown system event record, but the event data byte at byte 13 indicates runtime critical stop.

BytesValue Field Name Description
1:0
SEL Record ID record identifier
2 02hRecord Type 02h indicates a system event record
6:3
SEL Timestamp
8:70041hGenerator ID 0041h indicates the event comes from system software whose ID 20h
9 04h EvMRev IPMI 2.0 Event Message Revision
10 20h Sensor Type: OS Stop/Shutdown Sensor type 1Fh is OS Boot as specified in the IPMI spec
11 00h Sensor Number
12 6FhEvent Type [7]: 0b: indicates an assertion event [6:0]: 6Fh: indicates a Sensor-specific Discreet Type code. This means use the sensor specific offsets to interpret the event data bytes
13 01hEvent Data 1[7:6]: 00b = unspecified byte 2 event data [5:4]: 00b = unspecified byte 3 event data [3:0]: Offset from Event/Reading Code 0h:Critical stop during OS load/initialization. Unexpected error during system startup. Stopped waiting for input or power cycle/reset 1h:Run-time critical stop (aka ‘core dump’ or ‘blue screen’2h:OS Graceful stop (system powered up, but normal OS operation has shut down and system is awaiting reset pushbutton, power-cycle or other external input) 3h:OS Graceful Shutdown (system graceful power down by OS) 4h:Soft Shutdown initiated by PEF 5h:Agent Not Responding. Graceful shutdown request to agent via BMC did not occur due to missing or malfunctioning local agent
14 FFh Event Data 2 Not specified per bits 7-6 in event data 1
15 FFh Event Data 3 Not specified per bits 5-4 in event data 1

Type DEh Bugcheck Code OEM Event Record

The bugcheck code is the stop code displayed on the bluescreen. It is used to indicate the type of failure that caused the bugcheck. The OEM Type DEh event record saves the bugcheck code to the SEL.

Bytes Value Field Name Description
1:0
SEL Record ID
2 DEhRecord Type OEM Time stamped Record (bytes 7-15 are OEM Defined)DEh: OS Bugcheck
6:3
SEL Timestamp
9:7137hIPMI Manufacturer ID 137h (311d) is the IANA enterprise number for Microsoft
10
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
14:11
Bugcheck Stop Code Stop code listed on the BSOD
15
System Architecture 00: 32bit OS01: 64bit OS

Type DEh Bugcheck Parameter OEM Event Record

When the system encounters a condition or error it can’t handle, a system call is made to bugcheck the system. In addition to the bugcheck code described above, four parameters are passed to further describe the failure. This information can be used to debug the system and figure out why the crash occurred. The OEM Type DEh Bugcheck Parameter Event record is described below:

Bytes Value Field Name Description
1:0
SEL Record ID
2 DEhRecord Type OEM Time stamped Record (bytes 7-15 are OEM Defined)DEh: OS Bugcheck
6:3
SEL Timestamp
9:7137hIPMI Manufacturer ID 137h (311d) is the IANA enterprise number for Microsoft
10
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
14:11
Bugcheck Parameter Argument to Bugcheck. These are the same arguments listed on the BSOD
15
System Architecture 00h: 32bit OS01h: 64bit OS

BMC SEL Log

$
0
0
Revision 15 posted to Systems Management - Wiki by Peter Tsai on 10/22/2010 2:39:07 PM
What are all These Baseboard Management Controller (BMC) System Event Log (SEL) Records Logged by Windows?


Introduction
Did you ever notice a bunch of entries in the Baseboard Management Controller (BMC) System Event Log (SEL) that seem to be coming from Windows? Not the Windows system event log, but the SEL that is accessible from the Baseboard Management Controller (BMC).

It may seem that this log is only intended for hardware events and errors, but there is an OS driver that also logs events to it. Starting with Windows Server 2003 R2, Microsoft began shipping the Intelligent Platform Management Interface (IPMI) driver. One of its functions is to log certain OS events to the SEL. The IPMI driver writes multiple records to the SEL for these three types of events: boot up, shutdown and bugcheck events.

The BMC SEL log is accessible via the sideband BMC interface using tools like ipmitool or impish. It is also accessible from OpenManage Server Assistant (OMSA), the Dell Remote Access Controller (DRAC) console, and <CTRL-E> during boot. Many different types of events, which can be useful in troubleshooting, are logged in the SEL. Each SEL record packs a lot of information in only 16 bytes, and given their limited size, they can be hard to decode.

Decoding the SEL Record

Each SEL record is 16 bytes in length and the format is defined in the IPMI spec. The table below summarizes the format of the SEL record, as defined by the IPMI spec. At the highest level, the Record Type field indicates whether it is a System Event Record or an OEM defined event record. System Event records are defined in the IPMI specification, and OEM records are defined by the OEM.

Each event logged by the IPMI driver (whether boot up, shutdown, or bugcheck) will cause one system event record and one or more OEM records to be logged to the SEL. The type 02h system event record format is defined in the table below.

BytesFieldDescription
1:0 SEL Record ID 16 bit record identifier 0000h: Reserved 0001h to FFFEh: SEL Record ID FFFFh: Reserved
2 Record Type 02h: System Event Record C0h to DFh: OEM Time stamped Record Bytes 8-16 are OEM Defined E0h to FFh: OEM Non-Time stamped Record Bytes 4-16 are OEM Defined
6:3 SEL Timestamp Time when event was logged
8:7Generator ID Byte 8: System Software ID or IPMB Slave Address=============[7:1]: System Software ID, or 7-bit I2C slave address[0]: 0b means bits 7-1 are the IPMB Slave Address1b means bits 7-1 are the System Software IDByte 7: Channel/LUN=============[7:4]: Channel Number. Must be 0000b if the event was received via the system interface, primary IPMB, or internally generated by the BMC[3:2]: Reserved. Must be 00b[1:0]: IPMB device LUN if Byte 0 holds a slave address. 00b if Byte 0 holds a System Software ID
9 EvMRev 03h: IPMI 1.0 04h: IPMI 2.0
10 Sensor Type Sensor type code as specified in the IPMI spec
11 Sensor Number Number of the sensor that generated the event
12 Event Type [7]: Event Direction0b: Assertion Event1b: De-assertion Event[6:0]: 7 bit Event/Reading Type Code00h: Event/Reading Type unspecified01h: Threshold02h-0Ch: Generic Discrete6Fh: Sensor-Specific Discrete70h-7Fh: OEM Discrete. Indicates the discrete state info is specific to the OEM identified by the Manufacturer ID for the IPMI device that is providing access to the sensor
13 Event Data 1: Event Field Contents
14 Event Data 2 Event Field Contents
15 Event Data 3 Event Field Contents

Boot Up Events
During a system boot, two records are written to the SEL. The first is a type 02h System Event, and the second is an OEM event.

Type 02h Boot Up Record

The first 10 bytes of the type 02h System boot up record are general header information, and the boot-relevant information starts at byte 10.

BytesValue Field Name Meaning of Value
1:0
SEL Record ID record identifier
2 02h Record Type 02h indicates a system event record
6:3
SEL Timestamp
8:70041hGenerator ID 0041h indicates the event comes from system software whose ID 20h
9 04h EvMRev IPMI 2.0 Event Message Revision
10 1Fh Sensor Type:OS boot Sensor type 1Fh is OS Boot as specified in the IPMI spec
11 00h Sensor Number
12 6FhEvent Type [7]: 0b: indicates an assertion event [6:0]: 6Fh indicates a Sensor-specific Discreet Type code. This means use the sensor specific offsets to interpret the event data bytes
13 01h Event Data 1: C: Boot Completed[7:6]:00b = unspecified byte 2 event data[5:4]: 00b = unspecified byte 3 event data[3:0]: Offset from Event/Reading Code 0h: A: boot completed 1h: C: boot completed 2h: PXE boot completed 3h: Diagnostic boot completed 4h: CD-ROM boot completd 5h: ROM boot completed 6h: boot completed-boot device not specified
14 FFh Event Data 2 Not specified per bits 7-6 in event data 1
15 FFh Event Data 3 Not specified per bits 5-4 in event data 1

Type DCh Boot Up OEM Event Record

The OEM Event record for bootup does not provide much more information. Nevertheless, the type DCh OEM Boot up event record looks similar to this:

Bytes Value Field Name Description
1:0
SEL Record ID
2 DCh Record Type OEM Time stamped Record (bytes 7-15 are OEM Defined)DCh: OS Boot up
6:3
SEL Timestamp
9:7137hIPMI Manufacturer ID 137h (311d) is the IANA enterprise number for Microsoft
10
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
14:11
Boot Time The OS Boot time
1500h Reserved Reserved


Shutdown Events
System shutdown events can cause many records to be logged to the SEL. There is one type 02h System Event record, one OEM type DDh record for the shutdown reason code, and zero or more OEM type DDh records for the shutdown comment.

Whenever a user shuts down a system using shutdown.exe, the reason and comment entered by the user are saved in the registry. Then the IPMI driver reads them from the registry and logs them to the SEL with OEM type DDh records. The shutdown reason is a 4 byte code which fits within SEL entry. The shutdown comment, however, is a user-entered string of variable length.

The IPMI driver saves the comment string to the SEL in multiple OEM type DDh records, concatenated using the sequence number. This can be problematic because there are only 4 bytes available for the comment per SEL entry, and the comment is saved as a Unicode string.

This can quickly fill the SEL log. During a manual shutdown (Start | Shutdown), even though the user is required to enter a reason and comment, the comment is never saved to the registry, and therefore not logged to the SEL. Furthermore, an incorrect reason code is saved. See Microsoft KB200106 (http://support.microsoft.com/kb/2001061).

Type 02h System Shutdown Event Record

Again, the first 10 bytes of the type 02h System Event Record is all header information. The information relevant to the system shutdown starts at byte 10.

BytesValue Field Name Description
1:0
SEL Record ID record identifier
2 02hRecord Type 02h indicates a system event record
6:3
SEL Timestamp
8:70041hGenerator ID 0041h indicates the event comes from system software whose ID 20h
9 04h EvMRev IPMI 2.0 Event Message Revision
10 20h Sensor Type:OS Stop/Shutdown Sensor type 1Fh is OS Boot as specified in the IPMI spec
11 00h Sensor Number
12 6FhEvent Type [7]: 0b: indicates an assertion event [6:0]: 6Fh: indicates a Sensor-specific Discreet Type code. This means use the sensor specific offsets to interpret the event data bytes
13 03hEvent Data 1: [7:6]: 00b = unspecified byte 2 event data[5:4]: 00b = unspecified byte 3 event data[3:0]: Offset from Event/Reading Code 0h: Critical stop during OS load/initialization. Unexpected error during system startup. Stopped waiting for input or power cycle/reset 1h: Run-time critical stop (aka ‘core dump’ or ‘blue screen’ 2h: OS Graceful stop (system powered up, but normal OS operation has shut down and system is awaiting reset pushbutton, power-cycle or other external input) 3h: OS Graceful Shutdown (system graceful power down by OS) 4h: Soft Shutdown initiated by PEF 5h: Agent Not Responding. Graceful shutdown request to agent via BMC did not occur due to missing or malfunctioning local agent
14 FFh Event Data 2 Not specified per bits 7-6 in event data 1
15 FFh Event Data 3 Not specified per bits 5-4 in event data 1

Type DDh Shutdown Reason OEM Event Record

The IPMI driver reads the shutdown reason code is from the DWORD registry value at

HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/ReasonCode (DWORD)

The reason code is then logged to the SEL with the following OEM Type DDh record:

Bytes Value Field Name Description
1:0
SEL Record ID
2 DDh Record Type OEM Time stamped Record (bytes 7-15 are OEM Defined)DDh: OS Shutdown
6:3
SEL Timestamp
9:7137hIPMI Manufacturer ID 137h (311d) is the IANA enterprise number for Microsoft
10
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
14:11
Shutdown Reason Shutdown Reason which is read from the registry:HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/ReasonCode (DWORD)
1500hReserved

Type DDh Shutdown Comment OEM Event Record

Similarly, the shutdown comment is a REG_SZ value read from the same registry key.

HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/Comment (REG_SZ)

Bytes Value Field Name Description
1:0
SEL Record ID
2 DDh Record Type OEM Time stamped Record (bytes 7-15 are OEM Defined)DDh: OS Shutdown
6:3
SEL Timestamp
9:7137hIPMI Manufacturer ID 137h (311d) is the IANA enterprise number for Microsoft
10
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
14:11
Shutdown Comment Shutdown Comment which is read from the registry:HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/Comment (REG_SZ)
1500h Reserved

Disabling the Type DDh Shutdown Comment records

Because the shutdown comment can take so many records to log, it can cause the SEL to become full very quickly. Microsoft released a hotfix to allow for disabling the shutdown log comments for Windows Server 2008 SP1. This hotfix can be found at:

http://support.microsoft.com/kb/962920

Starting with Windows Server 2008 R2, the functionality is present in the OS without applying the hotfix. So for windows Server 2008 SP1, you must apply the hotfix before modifying the registry, but for Windows Server 2008 SP2 and later you can modify the registry without applying the hotfix.

1.Open regedit and navigate to HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\IPMI
2.Create a new DWORD Value named DisableSELShutdownComment
3.Right-click DisableSELShutdownComment, and then click Modify.
4.In the Value data box, type 1, and then click OK.
5.Close regedit and reboot

Bugcheck Events
A system bugcheck (bluescreen) will cause six records to be written to the event log. A type 02h System Event records is written, followed by five type DEh OEM event records: One for the bugcheck code, and one for each of the four parameters to the bugcheck.

Type 02h Bugcheck System Event Record

Like the other Type 02h System event records logged by the IPMI driver, the relevant information starts after the header at byte 10. In the case of the bugcheck, the sensor type is 20h which is the same as the Shutdown system event record, but the event data byte at byte 13 indicates runtime critical stop.

BytesValue Field Name Description
1:0
SEL Record ID record identifier
2 02hRecord Type 02h indicates a system event record
6:3
SEL Timestamp
8:70041hGenerator ID 0041h indicates the event comes from system software whose ID 20h
9 04h EvMRev IPMI 2.0 Event Message Revision
10 20h Sensor Type: OS Stop/Shutdown Sensor type 1Fh is OS Boot as specified in the IPMI spec
11 00h Sensor Number
12 6FhEvent Type [7]: 0b: indicates an assertion event [6:0]: 6Fh: indicates a Sensor-specific Discreet Type code. This means use the sensor specific offsets to interpret the event data bytes
13 01hEvent Data 1[7:6]: 00b = unspecified byte 2 event data [5:4]: 00b = unspecified byte 3 event data [3:0]: Offset from Event/Reading Code 0h:Critical stop during OS load/initialization. Unexpected error during system startup. Stopped waiting for input or power cycle/reset 1h:Run-time critical stop (aka ‘core dump’ or ‘blue screen’2h:OS Graceful stop (system powered up, but normal OS operation has shut down and system is awaiting reset pushbutton, power-cycle or other external input) 3h:OS Graceful Shutdown (system graceful power down by OS) 4h:Soft Shutdown initiated by PEF 5h:Agent Not Responding. Graceful shutdown request to agent via BMC did not occur due to missing or malfunctioning local agent
14 FFh Event Data 2 Not specified per bits 7-6 in event data 1
15 FFh Event Data 3 Not specified per bits 5-4 in event data 1

Type DEh Bugcheck Code OEM Event Record

The bugcheck code is the stop code displayed on the bluescreen. It is used to indicate the type of failure that caused the bugcheck. The OEM Type DEh event record saves the bugcheck code to the SEL.

Bytes Value Field Name Description
1:0
SEL Record ID
2 DEhRecord Type OEM Time stamped Record (bytes 7-15 are OEM Defined)DEh: OS Bugcheck
6:3
SEL Timestamp
9:7137hIPMI Manufacturer ID 137h (311d) is the IANA enterprise number for Microsoft
10
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
14:11
Bugcheck Stop Code Stop code listed on the BSOD
15
System Architecture 00: 32bit OS01: 64bit OS

Type DEh Bugcheck Parameter OEM Event Record

When the system encounters a condition or error it can’t handle, a system call is made to bugcheck the system. In addition to the bugcheck code described above, four parameters are passed to further describe the failure. This information can be used to debug the system and figure out why the crash occurred. The OEM Type DEh Bugcheck Parameter Event record is described below:

Bytes Value Field Name Description
1:0
SEL Record ID
2 DEhRecord Type OEM Time stamped Record (bytes 7-15 are OEM Defined)DEh: OS Bugcheck
6:3
SEL Timestamp
9:7137hIPMI Manufacturer ID 137h (311d) is the IANA enterprise number for Microsoft
10
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
14:11
Bugcheck Parameter Argument to Bugcheck. These are the same arguments listed on the BSOD
15
System Architecture 00h: 32bit OS01h: 64bit OS

BMC SEL Log

$
0
0
Revision 14 posted to Systems Management - Wiki by Peter Tsai on 10/22/2010 2:38:30 PM
What are all These Baseboard Management Controller (BMC) System Event Log (SEL) Records Logged by Windows?
Introduction
Did you ever notice a bunch of entries in the Baseboard Management Controller (BMC) System Event Log (SEL) that seem to be coming from Windows? Not the Windows system event log, but the SEL that is accessible from the Baseboard Management Controller (BMC).

It may seem that this log is only intended for hardware events and errors, but there is an OS driver that also logs events to it. Starting with Windows Server 2003 R2, Microsoft began shipping the Intelligent Platform Management Interface (IPMI) driver. One of its functions is to log certain OS events to the SEL. The IPMI driver writes multiple records to the SEL for these three types of events: boot up, shutdown and bugcheck events.

The BMC SEL log is accessible via the sideband BMC interface using tools like ipmitool or impish. It is also accessible from OpenManage Server Assistant (OMSA), the Dell Remote Access Controller (DRAC) console, and <CTRL-E> during boot. Many different types of events, which can be useful in troubleshooting, are logged in the SEL. Each SEL record packs a lot of information in only 16 bytes, and given their limited size, they can be hard to decode.

Decoding the SEL Record

Each SEL record is 16 bytes in length and the format is defined in the IPMI spec. The table below summarizes the format of the SEL record, as defined by the IPMI spec. At the highest level, the Record Type field indicates whether it is a System Event Record or an OEM defined event record. System Event records are defined in the IPMI specification, and OEM records are defined by the OEM.

Each event logged by the IPMI driver (whether boot up, shutdown, or bugcheck) will cause one system event record and one or more OEM records to be logged to the SEL. The type 02h system event record format is defined in the table below.

BytesFieldDescription
1:0 SEL Record ID 16 bit record identifier 0000h: Reserved 0001h to FFFEh: SEL Record ID FFFFh: Reserved
2 Record Type 02h: System Event Record C0h to DFh: OEM Time stamped Record Bytes 8-16 are OEM Defined E0h to FFh: OEM Non-Time stamped Record Bytes 4-16 are OEM Defined
6:3 SEL Timestamp Time when event was logged
8:7Generator ID Byte 8: System Software ID or IPMB Slave Address=============[7:1]: System Software ID, or 7-bit I2C slave address[0]: 0b means bits 7-1 are the IPMB Slave Address1b means bits 7-1 are the System Software IDByte 7: Channel/LUN=============[7:4]: Channel Number. Must be 0000b if the event was received via the system interface, primary IPMB, or internally generated by the BMC[3:2]: Reserved. Must be 00b[1:0]: IPMB device LUN if Byte 0 holds a slave address. 00b if Byte 0 holds a System Software ID
9 EvMRev 03h: IPMI 1.0 04h: IPMI 2.0
10 Sensor Type Sensor type code as specified in the IPMI spec
11 Sensor Number Number of the sensor that generated the event
12 Event Type [7]: Event Direction0b: Assertion Event1b: De-assertion Event[6:0]: 7 bit Event/Reading Type Code00h: Event/Reading Type unspecified01h: Threshold02h-0Ch: Generic Discrete6Fh: Sensor-Specific Discrete70h-7Fh: OEM Discrete. Indicates the discrete state info is specific to the OEM identified by the Manufacturer ID for the IPMI device that is providing access to the sensor
13 Event Data 1: Event Field Contents
14 Event Data 2 Event Field Contents
15 Event Data 3 Event Field Contents

Boot Up Events
During a system boot, two records are written to the SEL. The first is a type 02h System Event, and the second is an OEM event.

Type 02h Boot Up Record

The first 10 bytes of the type 02h System boot up record are general header information, and the boot-relevant information starts at byte 10.

BytesValue Field Name Meaning of Value
1:0
SEL Record ID record identifier
2 02h Record Type 02h indicates a system event record
6:3
SEL Timestamp
8:70041hGenerator ID 0041h indicates the event comes from system software whose ID 20h
9 04h EvMRev IPMI 2.0 Event Message Revision
10 1Fh Sensor Type:OS boot Sensor type 1Fh is OS Boot as specified in the IPMI spec
11 00h Sensor Number
12 6FhEvent Type [7]: 0b: indicates an assertion event [6:0]: 6Fh indicates a Sensor-specific Discreet Type code. This means use the sensor specific offsets to interpret the event data bytes
13 01h Event Data 1: C: Boot Completed[7:6]:00b = unspecified byte 2 event data[5:4]: 00b = unspecified byte 3 event data[3:0]: Offset from Event/Reading Code 0h: A: boot completed 1h: C: boot completed 2h: PXE boot completed 3h: Diagnostic boot completed 4h: CD-ROM boot completd 5h: ROM boot completed 6h: boot completed-boot device not specified
14 FFh Event Data 2 Not specified per bits 7-6 in event data 1
15 FFh Event Data 3 Not specified per bits 5-4 in event data 1

Type DCh Boot Up OEM Event Record

The OEM Event record for bootup does not provide much more information. Nevertheless, the type DCh OEM Boot up event record looks similar to this:

Bytes Value Field Name Description
1:0
SEL Record ID
2 DCh Record Type OEM Time stamped Record (bytes 7-15 are OEM Defined)DCh: OS Boot up
6:3
SEL Timestamp
9:7137hIPMI Manufacturer ID 137h (311d) is the IANA enterprise number for Microsoft
10
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
14:11
Boot Time The OS Boot time
1500h Reserved Reserved
Shutdown Events
System shutdown events can cause many records to be logged to the SEL. There is one type 02h System Event record, one OEM type DDh record for the shutdown reason code, and zero or more OEM type DDh records for the shutdown comment.

Whenever a user shuts down a system using shutdown.exe, the reason and comment entered by the user are saved in the registry. Then the IPMI driver reads them from the registry and logs them to the SEL with OEM type DDh records. The shutdown reason is a 4 byte code which fits within SEL entry. The shutdown comment, however, is a user-entered string of variable length.

The IPMI driver saves the comment string to the SEL in multiple OEM type DDh records, concatenated using the sequence number. This can be problematic because there are only 4 bytes available for the comment per SEL entry, and the comment is saved as a Unicode string.

This can quickly fill the SEL log. During a manual shutdown (Start | Shutdown), even though the user is required to enter a reason and comment, the comment is never saved to the registry, and therefore not logged to the SEL. Furthermore, an incorrect reason code is saved. See Microsoft KB200106 (http://support.microsoft.com/kb/2001061).

Type 02h System Shutdown Event Record

Again, the first 10 bytes of the type 02h System Event Record is all header information. The information relevant to the system shutdown starts at byte 10.

BytesValue Field Name Description
1:0
SEL Record ID record identifier
2 02hRecord Type 02h indicates a system event record
6:3
SEL Timestamp
8:70041hGenerator ID 0041h indicates the event comes from system software whose ID 20h
9 04h EvMRev IPMI 2.0 Event Message Revision
10 20h Sensor Type:OS Stop/Shutdown Sensor type 1Fh is OS Boot as specified in the IPMI spec
11 00h Sensor Number
12 6FhEvent Type [7]: 0b: indicates an assertion event [6:0]: 6Fh: indicates a Sensor-specific Discreet Type code. This means use the sensor specific offsets to interpret the event data bytes
13 03hEvent Data 1: [7:6]: 00b = unspecified byte 2 event data[5:4]: 00b = unspecified byte 3 event data[3:0]: Offset from Event/Reading Code 0h: Critical stop during OS load/initialization. Unexpected error during system startup. Stopped waiting for input or power cycle/reset 1h: Run-time critical stop (aka ‘core dump’ or ‘blue screen’ 2h: OS Graceful stop (system powered up, but normal OS operation has shut down and system is awaiting reset pushbutton, power-cycle or other external input) 3h: OS Graceful Shutdown (system graceful power down by OS) 4h: Soft Shutdown initiated by PEF 5h: Agent Not Responding. Graceful shutdown request to agent via BMC did not occur due to missing or malfunctioning local agent
14 FFh Event Data 2 Not specified per bits 7-6 in event data 1
15 FFh Event Data 3 Not specified per bits 5-4 in event data 1

Type DDh Shutdown Reason OEM Event Record

The IPMI driver reads the shutdown reason code is from the DWORD registry value at

HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/ReasonCode (DWORD)

The reason code is then logged to the SEL with the following OEM Type DDh record:

Bytes Value Field Name Description
1:0
SEL Record ID
2 DDh Record Type OEM Time stamped Record (bytes 7-15 are OEM Defined)DDh: OS Shutdown
6:3
SEL Timestamp
9:7137hIPMI Manufacturer ID 137h (311d) is the IANA enterprise number for Microsoft
10
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
14:11
Shutdown Reason Shutdown Reason which is read from the registry:HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/ReasonCode (DWORD)
1500hReserved

Type DDh Shutdown Comment OEM Event Record

Similarly, the shutdown comment is a REG_SZ value read from the same registry key.

HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/Comment (REG_SZ)

Bytes Value Field Name Description
1:0
SEL Record ID
2 DDh Record Type OEM Time stamped Record (bytes 7-15 are OEM Defined)DDh: OS Shutdown
6:3
SEL Timestamp
9:7137hIPMI Manufacturer ID 137h (311d) is the IANA enterprise number for Microsoft
10
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
14:11
Shutdown Comment Shutdown Comment which is read from the registry:HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/Comment (REG_SZ)
1500h Reserved

Disabling the Type DDh Shutdown Comment records

Because the shutdown comment can take so many records to log, it can cause the SEL to become full very quickly. Microsoft released a hotfix to allow for disabling the shutdown log comments for Windows Server 2008 SP1. This hotfix can be found at:

http://support.microsoft.com/kb/962920

Starting with Windows Server 2008 R2, the functionality is present in the OS without applying the hotfix. So for windows Server 2008 SP1, you must apply the hotfix before modifying the registry, but for Windows Server 2008 SP2 and later you can modify the registry without applying the hotfix.

1.Open regedit and navigate to HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\IPMI
2.Create a new DWORD Value named DisableSELShutdownComment
3.Right-click DisableSELShutdownComment, and then click Modify.
4.In the Value data box, type 1, and then click OK.
5.Close regedit and reboot

Bugcheck Events
A system bugcheck (bluescreen) will cause six records to be written to the event log. A type 02h System Event records is written, followed by five type DEh OEM event records: One for the bugcheck code, and one for each of the four parameters to the bugcheck.

Type 02h Bugcheck System Event Record

Like the other Type 02h System event records logged by the IPMI driver, the relevant information starts after the header at byte 10. In the case of the bugcheck, the sensor type is 20h which is the same as the Shutdown system event record, but the event data byte at byte 13 indicates runtime critical stop.

BytesValue Field Name Description
1:0
SEL Record ID record identifier
2 02hRecord Type 02h indicates a system event record
6:3
SEL Timestamp
8:70041hGenerator ID 0041h indicates the event comes from system software whose ID 20h
9 04h EvMRev IPMI 2.0 Event Message Revision
10 20h Sensor Type: OS Stop/Shutdown Sensor type 1Fh is OS Boot as specified in the IPMI spec
11 00h Sensor Number
12 6FhEvent Type [7]: 0b: indicates an assertion event [6:0]: 6Fh: indicates a Sensor-specific Discreet Type code. This means use the sensor specific offsets to interpret the event data bytes
13 01hEvent Data 1[7:6]: 00b = unspecified byte 2 event data [5:4]: 00b = unspecified byte 3 event data [3:0]: Offset from Event/Reading Code 0h:Critical stop during OS load/initialization. Unexpected error during system startup. Stopped waiting for input or power cycle/reset 1h:Run-time critical stop (aka ‘core dump’ or ‘blue screen’2h:OS Graceful stop (system powered up, but normal OS operation has shut down and system is awaiting reset pushbutton, power-cycle or other external input) 3h:OS Graceful Shutdown (system graceful power down by OS) 4h:Soft Shutdown initiated by PEF 5h:Agent Not Responding. Graceful shutdown request to agent via BMC did not occur due to missing or malfunctioning local agent
14 FFh Event Data 2 Not specified per bits 7-6 in event data 1
15 FFh Event Data 3 Not specified per bits 5-4 in event data 1

Type DEh Bugcheck Code OEM Event Record

The bugcheck code is the stop code displayed on the bluescreen. It is used to indicate the type of failure that caused the bugcheck. The OEM Type DEh event record saves the bugcheck code to the SEL.

Bytes Value Field Name Description
1:0
SEL Record ID
2 DEhRecord Type OEM Time stamped Record (bytes 7-15 are OEM Defined)DEh: OS Bugcheck
6:3
SEL Timestamp
9:7137hIPMI Manufacturer ID 137h (311d) is the IANA enterprise number for Microsoft
10
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
14:11
Bugcheck Stop Code Stop code listed on the BSOD
15
System Architecture 00: 32bit OS01: 64bit OS

Type DEh Bugcheck Parameter OEM Event Record

When the system encounters a condition or error it can’t handle, a system call is made to bugcheck the system. In addition to the bugcheck code described above, four parameters are passed to further describe the failure. This information can be used to debug the system and figure out why the crash occurred. The OEM Type DEh Bugcheck Parameter Event record is described below:

Bytes Value Field Name Description
1:0
SEL Record ID
2 DEhRecord Type OEM Time stamped Record (bytes 7-15 are OEM Defined)DEh: OS Bugcheck
6:3
SEL Timestamp
9:7137hIPMI Manufacturer ID 137h (311d) is the IANA enterprise number for Microsoft
10
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
14:11
Bugcheck Parameter Argument to Bugcheck. These are the same arguments listed on the BSOD
15
System Architecture 00h: 32bit OS01h: 64bit OS

BMC SEL Log

$
0
0
Revision 13 posted to Systems Management - Wiki by Peter Tsai on 10/22/2010 2:36:39 PM
What are all These Baseboard Management Controller (BMC) System Event Log (SEL) Records Logged by Windows?
Introduction
Did you ever notice a bunch of entries in the Baseboard Management Controller (BMC) System Event Log (SEL) that seem to be coming from Windows? Not the Windows system event log, but the SEL that is accessible from the Baseboard Management Controller (BMC).

It may seem that this log is only intended for hardware events and errors, but there is an OS driver that also logs events to it. Starting with Windows Server 2003 R2, Microsoft began shipping the Intelligent Platform Management Interface (IPMI) driver. One of its functions is to log certain OS events to the SEL. The IPMI driver writes multiple records to the SEL for these three types of events: boot up, shutdown and bugcheck events.

The BMC SEL log is accessible via the sideband BMC interface using tools like ipmitool or impish. It is also accessible from OpenManage Server Assistant (OMSA), the Dell Remote Access Controller (DRAC) console, and <CTRL-E> during boot. Many different types of events, which can be useful in troubleshooting, are logged in the SEL. Each SEL record packs a lot of information in only 16 bytes, and given their limited size, they can be hard to decode.

Decoding the SEL Record

Each SEL record is 16 bytes in length and the format is defined in the IPMI spec. The table below summarizes the format of the SEL record, as defined by the IPMI spec. At the highest level, the Record Type field indicates whether it is a System Event Record or an OEM defined event record. System Event records are defined in the IPMI specification, and OEM records are defined by the OEM.

Each event logged by the IPMI driver (whether boot up, shutdown, or bugcheck) will cause one system event record and one or more OEM records to be logged to the SEL. The type 02h system event record format is defined in the table below.

BytesFieldDescription
1:0 SEL Record ID 16 bit record identifier 0000h: Reserved 0001h to FFFEh: SEL Record ID FFFFh: Reserved
2 Record Type 02h: System Event Record C0h to DFh: OEM Time stamped Record Bytes 8-16 are OEM Defined E0h to FFh: OEM Non-Time stamped Record Bytes 4-16 are OEM Defined
6:3 SEL Timestamp Time when event was logged
8:7Generator ID Byte 8: System Software ID or IPMB Slave Address=============[7:1]: System Software ID, or 7-bit I2C slave address[0]: 0b means bits 7-1 are the IPMB Slave Address1b means bits 7-1 are the System Software IDByte 7: Channel/LUN=============[7:4]: Channel Number. Must be 0000b if the event was received via the system interface, primary IPMB, or internally generated by the BMC[3:2]: Reserved. Must be 00b[1:0]: IPMB device LUN if Byte 0 holds a slave address. 00b if Byte 0 holds a System Software ID
9 EvMRev 03h: IPMI 1.0 04h: IPMI 2.0
10 Sensor Type Sensor type code as specified in the IPMI spec
11 Sensor Number Number of the sensor that generated the event
12 Event Type [7]: Event Direction0b: Assertion Event1b: De-assertion Event[6:0]: 7 bit Event/Reading Type Code00h: Event/Reading Type unspecified01h: Threshold02h-0Ch: Generic Discrete6Fh: Sensor-Specific Discrete70h-7Fh: OEM Discrete. Indicates the discrete state info is specific to the OEM identified by the Manufacturer ID for the IPMI device that is providing access to the sensor
13 Event Data 1: Event Field Contents
14 Event Data 2 Event Field Contents
15 Event Data 3 Event Field Contents

Boot Up Events
During a system boot, two records are written to the SEL. The first is a type 02h System Event, and the second is an OEM event.

Type 02h Boot Up Record

The first 10 bytes of the type 02h System boot up record are general header information, and the boot-relevant information starts at byte 10.

BytesValue Field Name Meaning of Value
1:0
SEL Record ID record identifier
2 02h Record Type 02h indicates a system event record
6:3
SEL Timestamp
8:70041hGenerator ID 0041h indicates the event comes from system software whose ID 20h
9 04h EvMRev IPMI 2.0 Event Message Revision
10 1Fh Sensor Type:OS boot Sensor type 1Fh is OS Boot as specified in the IPMI spec
11 00h Sensor Number
12 6FhEvent Type [7]: 0b: indicates an assertion event [6:0]: 6Fh indicates a Sensor-specific Discreet Type code. This means use the sensor specific offsets to interpret the event data bytes
13 01h Event Data 1: C: Boot Completed[7:6]:00b = unspecified byte 2 event data[5:4]: 00b = unspecified byte 3 event data[3:0]: Offset from Event/Reading Code 0h: A: boot completed 1h: C: boot completed 2h: PXE boot completed 3h: Diagnostic boot completed 4h: CD-ROM boot completd 5h: ROM boot completed 6h: boot completed-boot device not specified
14 FFh Event Data 2 Not specified per bits 7-6 in event data 1
15 FFh Event Data 3 Not specified per bits 5-4 in event data 1

Type DCh Boot Up OEM Event Record

The OEM Event record for bootup does not provide much more information. Nevertheless, the type DCh OEM Boot up event record looks similar to this:

Bytes Value Field Name Description
1:0
SEL Record ID
2 DCh Record Type OEM Time stamped Record (bytes 7-15 are OEM Defined)DCh: OS Boot up
6:3
SEL Timestamp
9:7137hIPMI Manufacturer ID 137h (311d) is the IANA enterprise number for Microsoft
10
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
14:11
Boot Time The OS Boot time
1500h Reserved Reserved
Shutdown Events
System shutdown events can cause many records to be logged to the SEL. There is one type 02h System Event record, one OEM type DDh record for the shutdown reason code, and zero or more OEM type DDh records for the shutdown comment.

Whenever a user shuts down a system using shutdown.exe, the reason and comment entered by the user are saved in the registry. Then the IPMI driver reads them from the registry and logs them to the SEL with OEM type DDh records. The shutdown reason is a 4 byte code which fits within SEL entry. The shutdown comment, however, is a user-entered string of variable length.

The IPMI driver saves the comment string to the SEL in multiple OEM type DDh records, concatenated using the sequence number. This can be problematic because there are only 4 bytes available for the comment per SEL entry, and the comment is saved as a Unicode string.

This can quickly fill the SEL log. During a manual shutdown (Start | Shutdown), even though the user is required to enter a reason and comment, the comment is never saved to the registry, and therefore not logged to the SEL. Furthermore, an incorrect reason code is saved. See Microsoft KB200106 (http://support.microsoft.com/kb/2001061).

Type 02h System Shutdown Event Record

Again, the first 10 bytes of the type 02h System Event Record is all header information. The information relevant to the system shutdown starts at byte 10.

BytesValue Field Name Description
1:0
SEL Record ID record identifier
2 02hRecord Type 02h indicates a system event record
6:3
SEL Timestamp
8:70041hGenerator ID 0041h indicates the event comes from system software whose ID 20h
9 04h EvMRev IPMI 2.0 Event Message Revision
10 20h Sensor Type:OS Stop/Shutdown Sensor type 1Fh is OS Boot as specified in the IPMI spec
11 00h Sensor Number
12 6FhEvent Type [7]: 0b: indicates an assertion event [6:0]: 6Fh: indicates a Sensor-specific Discreet Type code. This means use the sensor specific offsets to interpret the event data bytes
13 03hEvent Data 1: [7:6]: 00b = unspecified byte 2 event data[5:4]: 00b = unspecified byte 3 event data[3:0]: Offset from Event/Reading Code 0h: Critical stop during OS load/initialization. Unexpected error during system startup. Stopped waiting for input or power cycle/reset 1h: Run-time critical stop (aka ‘core dump’ or ‘blue screen’ 2h: OS Graceful stop (system powered up, but normal OS operation has shut down and system is awaiting reset pushbutton, power-cycle or other external input) 3h: OS Graceful Shutdown (system graceful power down by OS) 4h: Soft Shutdown initiated by PEF 5h: Agent Not Responding. Graceful shutdown request to agent via BMC did not occur due to missing or malfunctioning local agent
14 FFh Event Data 2 Not specified per bits 7-6 in event data 1
15 FFh Event Data 3 Not specified per bits 5-4 in event data 1

Type DDh Shutdown Reason OEM Event Record

The IPMI driver reads the shutdown reason code is from the DWORD registry value at

HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/ReasonCode (DWORD)

The reason code is then logged to the SEL with the following OEM Type DDh record:

Bytes Value Field Name Description
1:0
SEL Record ID
2 DDh Record Type OEM Time stamped Record (bytes 7-15 are OEM Defined)DDh: OS Shutdown
6:3
SEL Timestamp
9:7137hIPMI Manufacturer ID 137h (311d) is the IANA enterprise number for Microsoft
10
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
14:11
Shutdown Reason Shutdown Reason which is read from the registry:HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/ReasonCode (DWORD)
1500hReserved

Type DDh Shutdown Comment OEM Event Record

Similarly, the shutdown comment is a REG_SZ value read from the same registry key.

HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/Comment (REG_SZ)

Bytes Value Field Name Description
1:0
SEL Record ID
2 DDh Record Type OEM Time stamped Record (bytes 7-15 are OEM Defined)DDh: OS Shutdown
6:3
SEL Timestamp
9:7137hIPMI Manufacturer ID 137h (311d) is the IANA enterprise number for Microsoft
10
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
14:11
Shutdown Comment Shutdown Comment which is read from the registry:HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/Comment (REG_SZ)
1500h Reserved

Disabling the Type DDh Shutdown Comment records

Because the shutdown comment can take so many records to log, it can cause the SEL to become full very quickly. Microsoft released a hotfix to allow for disabling the shutdown log comments for Windows Server 2008 SP1. This hotfix can be found at:

http://support.microsoft.com/kb/962920

Starting with Windows Server 2008 R2, the functionality is present in the OS without applying the hotfix. So for windows Server 2008 SP1, you must apply the hotfix before modifying the registry, but for Windows Server 2008 SP2 and later you can modify the registry without applying the hotfix.

1.Open regedit and navigate to HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\IPMI
2.Create a new DWORD Value named DisableSELShutdownComment
3.Right-click DisableSELShutdownComment, and then click Modify.
4.In the Value data box, type 1, and then click OK.
5.Close regedit and reboot

Bugcheck Events
A system bugcheck (bluescreen) will cause six records to be written to the event log. A type 02h System Event records is written, followed by five type DEh OEM event records: One for the bugcheck code, and one for each of the four parameters to the bugcheck.

Type 02h Bugcheck System Event Record

Like the other Type 02h System event records logged by the IPMI driver, the relevant information starts after the header at byte 10. In the case of the bugcheck, the sensor type is 20h which is the same as the Shutdown system event record, but the event data byte at byte 13 indicates runtime critical stop.

BytesValue Field Name Description
1:0
SEL Record ID record identifier
2 02hRecord Type 02h indicates a system event record
6:3
SEL Timestamp
8:70041hGenerator ID 0041h indicates the event comes from system software whose ID 20h
9 04h EvMRev IPMI 2.0 Event Message Revision
10 20h Sensor Type: OS Stop/Shutdown Sensor type 1Fh is OS Boot as specified in the IPMI spec
11 00h Sensor Number
12 6FhEvent Type [7]: 0b: indicates an assertion event [6:0]: 6Fh: indicates a Sensor-specific Discreet Type code. This means use the sensor specific offsets to interpret the event data bytes
13 01hEvent Data 1[7:6]: 00b = unspecified byte 2 event data [5:4]: 00b = unspecified byte 3 event data [3:0]: Offset from Event/Reading Code 0h:Critical stop during OS load/initialization. Unexpected error during system startup. Stopped waiting for input or power cycle/reset 1h:Run-time critical stop (aka ‘core dump’ or ‘blue screen’2h:OS Graceful stop (system powered up, but normal OS operation has shut down and system is awaiting reset pushbutton, power-cycle or other external input) 3h:OS Graceful Shutdown (system graceful power down by OS) 4h:Soft Shutdown initiated by PEF 5h:Agent Not Responding. Graceful shutdown request to agent via BMC did not occur due to missing or malfunctioning local agent
14 FFh Event Data 2 Not specified per bits 7-6 in event data 1
15 FFh Event Data 3 Not specified per bits 5-4 in event data 1

Type DEh Bugcheck Code OEM Event Record

The bugcheck code is the stop code displayed on the bluescreen. It is used to indicate the type of failure that caused the bugcheck. The OEM Type DEh event record saves the bugcheck code to the SEL.

Bytes Value Field Name Description
1:0
SEL Record ID
2 DEhRecord Type OEM Time stamped Record (bytes 7-15 are OEM Defined)DEh: OS Bugcheck
6:3
SEL Timestamp
9:7137hIPMI Manufacturer ID 137h (311d) is the IANA enterprise number for Microsoft
10
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
14:11
Bugcheck Stop Code Stop code listed on the BSOD
15
System Architecture 00: 32bit OS01: 64bit OS

Type DEh Bugcheck Parameter OEM Event Record

When the system encounters a condition or error it can’t handle, a system call is made to bugcheck the system. In addition to the bugcheck code described above, four parameters are passed to further describe the failure. This information can be used to debug the system and figure out why the crash occurred. The OEM Type DEh Bugcheck Parameter Event record is described below:

Bytes Value Field Name Description
1:0
SEL Record ID
2 DEhRecord Type OEM Time stamped Record (bytes 7-15 are OEM Defined)DEh: OS Bugcheck
6:3
SEL Timestamp
9:7137hIPMI Manufacturer ID 137h (311d) is the IANA enterprise number for Microsoft
10
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
14:11
Bugcheck Parameter Argument to Bugcheck. These are the same arguments listed on the BSOD
15
System Architecture 00h: 32bit OS01h: 64bit OS

BMC SEL Log

$
0
0
Revision 12 posted to Systems Management - Wiki by DELL-Steven on 10/20/2010 4:49:17 PM
What are all These Baseboard Management Controller (BMC) System Event Log (SEL) Records Logged by Windows?
Introduction
Did you ever notice a bunch of entries in the Baseboard Management Controller (BMC) System Event Log (SEL) that seem to be coming from Windows? Not the Windows system event log, but the SEL that is accessible from the Baseboard Management Controller (BMC). It may seem that this log is only intended for hardware events and errors, but there is an OS driver that also logs events to it. Starting with Windows Server 2003 R2, Microsoft began shipping the Intelligent Platform Management Interface (IPMI) driver. One of its functions is to log certain OS events to the SEL. The IPMI driver writes multiple records to the SEL for these three types of events: boot up, shutdown and bugcheck events.The BMC SEL log is accessible via the sideband BMC interface using tools like ipmitool or impish. It is also accessible from OpenManage Server Assistant (OMSA), the Dell Remote Access Controller (DRAC) console, and <CTRL-E> during boot. Many different types of events, which can be useful in troubleshooting, are logged in the SEL. Each SEL record packs a lot of information in only 16 bytes, and given their limited size, they can be hard to decode.

Decoding the SEL Record

Each SEL record is 16 bytes in length and the format is defined in the IPMI spec. The table below summarizes the format of the SEL record, as defined by the IPMI spec. At the highest level, the Record Type field indicates whether it is a System Event Record or an OEM defined event record. System Event records are defined in the IPMI specification, and OEM records are defined by the OEM. Each event logged by the IPMI driver (whether boot up, shutdown, or bugcheck) will cause one system event record and one or more OEM records to be logged to the SEL. The type 02h system event record format is defined in the table below.

BytesFieldDescription
1:0 SEL Record ID 16 bit record identifier 0000h: Reserved 0001h to FFFEh: SEL Record ID FFFFh: Reserved
2 Record Type 02h: System Event Record C0h to DFh: OEM Time stamped Record Bytes 8-16 are OEM Defined E0h to FFh: OEM Non-Time stamped Record Bytes 4-16 are OEM Defined
6:3 SEL Timestamp Time when event was logged
8:7Generator ID Byte 8: System Software ID or IPMB Slave Address=============[7:1]: System Software ID, or 7-bit I2C slave address[0]: 0b means bits 7-1 are the IPMB Slave Address1b means bits 7-1 are the System Software IDByte 7: Channel/LUN=============[7:4]: Channel Number. Must be 0000b if the event was received via the system interface, primary IPMB, or internally generated by the BMC[3:2]: Reserved. Must be 00b[1:0]: IPMB device LUN if Byte 0 holds a slave address. 00b if Byte 0 holds a System Software ID
9 EvMRev 03h: IPMI 1.0 04h: IPMI 2.0
10 Sensor Type Sensor type code as specified in the IPMI spec
11 Sensor Number Number of the sensor that generated the event
12 Event Type [7]: Event Direction0b: Assertion Event1b: De-assertion Event[6:0]: 7 bit Event/Reading Type Code00h: Event/Reading Type unspecified01h: Threshold02h-0Ch: Generic Discrete6Fh: Sensor-Specific Discrete70h-7Fh: OEM Discrete. Indicates the discrete state info is specific to the OEM identified by the Manufacturer ID for the IPMI device that is providing access to the sensor
13 Event Data 1: Event Field Contents
14 Event Data 2 Event Field Contents
15 Event Data 3 Event Field Contents

Boot Up Events
During a system boot, two records are written to the SEL. The first is a type 02h System Event, and the second is an OEM event.

Type 02h Boot Up Record

The first 10 bytes of the type 02h System boot up record are general header information, and the boot-relevant information starts at byte 10.

BytesValue Field Name Meaning of Value
1:0
SEL Record ID record identifier
2 02h Record Type 02h indicates a system event record
6:3
SEL Timestamp
8:70041hGenerator ID 0041h indicates the event comes from system software whose ID 20h
9 04h EvMRev IPMI 2.0 Event Message Revision
10 1Fh Sensor Type:OS boot Sensor type 1Fh is OS Boot as specified in the IPMI spec
11 00h Sensor Number
12 6FhEvent Type [7]: 0b: indicates an assertion event [6:0]: 6Fh indicates a Sensor-specific Discreet Type code. This means use the sensor specific offsets to interpret the event data bytes
13 01h Event Data 1: C: Boot Completed[7:6]:00b = unspecified byte 2 event data[5:4]: 00b = unspecified byte 3 event data[3:0]: Offset from Event/Reading Code 0h: A: boot completed 1h: C: boot completed 2h: PXE boot completed 3h: Diagnostic boot completed 4h: CD-ROM boot completd 5h: ROM boot completed 6h: boot completed-boot device not specified
14 FFh Event Data 2 Not specified per bits 7-6 in event data 1
15
FFh Event Data 3 Not specified per bits 5-4 in event data 1

Type DCh Boot Up OEM Event Record

The OEM Event record for bootup does not provide much more information. Nevertheless, the type DCh OEM Boot up event record looks similar to this:

Bytes Value Field Name Description
1:0
SEL Record ID
2 DCh Record Type OEM Time stamped Record (bytes 7-15 are OEM Defined)DCh: OS Boot up
6:3
SEL Timestamp
9:7137hIPMI Manufacturer ID 137h (311d) is the IANA enterprise number for Microsoft
10
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
14:11
Boot Time The OS Boot time
15
00h Reserved Reserved
Shutdown Events
System shutdown events can cause many records to be logged to the SEL. There is one type 02h System Event record, one OEM type DDh record for the shutdown reason code, and zero or more OEM type DDh records for the shutdown comment.Whenever a user shuts down a system using shutdown.exe, the reason and comment entered by the user are saved in the registry. Then the IPMI driver reads them from the registry and logs them to the SEL with OEM type DDh records. The shutdown reason is a 4 byte code which fits within SEL entry. The shutdown comment, however, is a user-entered string of variable length. The IPMI driver saves the comment string to the SEL in multiple OEM type DDh records, concatenated using the sequence number. This can be problematic because there are only 4 bytes available for the comment per SEL entry, and the comment is saved as a Unicode string. This can quickly fill the SEL log. During a manual shutdown (Start | Shutdown), even though the user is required to enter a reason and comment, the comment is never saved to the registry, and therefore not logged to the SEL. Furthermore, an incorrect reason code is saved. See Microsoft KB200106 (http://support.microsoft.com/kb/2001061).

Type 02h System Shutdown Event Record

Again, the first 10 bytes of the type 02h System Event Record is all header information. The information relevant to the system shutdown starts at byte 10.

BytesValue Field Name Description
1:0
SEL Record ID record identifier
2 02hRecord Type 02h indicates a system event record
6:3
SEL Timestamp
8:70041hGenerator ID 0041h indicates the event comes from system software whose ID 20h
9 04h EvMRev IPMI 2.0 Event Message Revision
10 20h Sensor Type:OS Stop/Shutdown Sensor type 1Fh is OS Boot as specified in the IPMI spec
11 00h Sensor Number
12 6FhEvent Type [7]: 0b: indicates an assertion event [6:0]: 6Fh: indicates a Sensor-specific Discreet Type code. This means use the sensor specific offsets to interpret the event data bytes
13 03hEvent Data 1: [7:6]: 00b = unspecified byte 2 event data[5:4]: 00b = unspecified byte 3 event data[3:0]: Offset from Event/Reading Code 0h: Critical stop during OS load/initialization. Unexpected error during system startup. Stopped waiting for input or power cycle/reset 1h: Run-time critical stop (aka ‘core dump’ or ‘blue screen’ 2h: OS Graceful stop (system powered up, but normal OS operation has shut down and system is awaiting reset pushbutton, power-cycle or other external input) 3h: OS Graceful Shutdown (system graceful power down by OS) 4h: Soft Shutdown initiated by PEF 5h: Agent Not Responding. Graceful shutdown request to agent via BMC did not occur due to missing or malfunctioning local agent
14 FFh Event Data 2 Not specified per bits 7-6 in event data 1
15
FFh Event Data 3 Not specified per bits 5-4 in event data 1

Type DDh Shutdown Reason OEM Event Record

The IPMI driver reads the shutdown reason code is from the DWORD registry value at HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/ReasonCode (DWORD)The reason code is then logged to the SEL with the following OEM Type DDh record:

Bytes Value Field Name Description
1:0
SEL Record ID
2 DDh Record Type OEM Time stamped Record (bytes 7-15 are OEM Defined)DDh: OS Shutdown
6:3
SEL Timestamp
9:7137hIPMI Manufacturer ID 137h (311d) is the IANA enterprise number for Microsoft
10
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
14:11
Shutdown Reason Shutdown Reason which is read from the registry:HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/ReasonCode (DWORD)
1500hReserved

Type DDh Shutdown Comment OEM Event Record

Similarly, the shutdown comment is a REG_SZ value read from the same registry key. HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/Comment (REG_SZ)

Bytes Value Field Name Description
1:0
SEL Record ID
2 DDh Record Type OEM Time stamped Record (bytes 7-15 are OEM Defined)DDh: OS Shutdown
6:3
SEL Timestamp
9:7137hIPMI Manufacturer ID 137h (311d) is the IANA enterprise number for Microsoft
10
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
14:11
Shutdown Comment Shutdown Comment which is read from the registry:HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/Comment (REG_SZ)
1500h Reserved

Disabling the Type DDh Shutdown Comment records

Because the shutdown comment can take so many records to log, it can cause the SEL to become full very quickly. Microsoft released a hotfix to allow for disabling the shutdown log comments for Windows Server 2008 SP1. This hotfix can be found at http://support.microsoft.com/kb/962920Starting with Windows Server 2008 R2, the functionality is present in the OS without applying the hotfix. So for windows Server 2008 SP1, you must apply the hotfix before modifying the registry, but for Windows Server 2008 SP2 and later you can modify the registry without applying the hotfix.1.Open regedit and navigate to HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\IPMI2.Create a new DWORD Value named DisableSELShutdownComment3.Right-click DisableSELShutdownComment, and then click Modify. 4.In the Value data box, type 1, and then click OK. 5.Close regedit and rebootBugcheck EventsA system bugcheck (bluescreen) will cause six records to be written to the event log. A type 02h System Event records is written, followed by five type DEh OEM event records: One for the bugcheck code, and one for each of the four parameters to the bugcheck.

Type 02h Bugcheck System Event Record

Like the other Type 02h System event records logged by the IPMI driver, the relevant information starts after the header at byte 10. In the case of the bugcheck, the sensor type is 20h which is the same as the Shutdown system event record, but the event data byte at byte 13 indicates runtime critical stop.

BytesValue Field Name Description
1:0
SEL Record ID record identifier
2 02hRecord Type 02h indicates a system event record
6:3
SEL Timestamp
8:70041hGenerator ID 0041h indicates the event comes from system software whose ID 20h
9 04h EvMRev IPMI 2.0 Event Message Revision
10 20h Sensor Type: OS Stop/Shutdown Sensor type 1Fh is OS Boot as specified in the IPMI spec
11 00h Sensor Number
12 6FhEvent Type [7]: 0b: indicates an assertion event [6:0]: 6Fh: indicates a Sensor-specific Discreet Type code. This means use the sensor specific offsets to interpret the event data bytes
13 01hEvent Data 1[7:6]: 00b = unspecified byte 2 event data [5:4]: 00b = unspecified byte 3 event data [3:0]: Offset from Event/Reading Code 0h:Critical stop during OS load/initialization. Unexpected error during system startup. Stopped waiting for input or power cycle/reset 1h:Run-time critical stop (aka ‘core dump’ or ‘blue screen’2h:OS Graceful stop (system powered up, but normal OS operation has shut down and system is awaiting reset pushbutton, power-cycle or other external input) 3h:OS Graceful Shutdown (system graceful power down by OS) 4h:Soft Shutdown initiated by PEF 5h:Agent Not Responding. Graceful shutdown request to agent via BMC did not occur due to missing or malfunctioning local agent
14 FFh Event Data 2 Not specified per bits 7-6 in event data 1
15 FFh Event Data 3 Not specified per bits 5-4 in event data 1

Type DEh Bugcheck Code OEM Event Record

The bugcheck code is the stop code displayed on the bluescreen. It is used to indicate the type of failure that caused the bugcheck. The OEM Type DEh event record saves the bugcheck code to the SEL.

Bytes Value Field Name Description
1:0
SEL Record ID
2 DEhRecord Type OEM Time stamped Record (bytes 7-15 are OEM Defined)DEh: OS Bugcheck
6:3
SEL Timestamp
9:7137hIPMI Manufacturer ID 137h (311d) is the IANA enterprise number for Microsoft
10
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
14:11
Bugcheck Stop Code Stop code listed on the BSOD
15
System Architecture 00: 32bit OS01: 64bit OS

Type DEh Bugcheck Parameter OEM Event Record

When the system encounters a condition or error it can’t handle, a system call is made to bugcheck the system. In addition to the bugcheck code described above, four parameters are passed to further describe the failure. This information can be used to debug the system and figure out why the crash occurred. The OEM Type DEh Bugcheck Parameter Event record is described below:

Bytes Value Field Name Description
1:0
SEL Record ID
2 DEhRecord Type OEM Time stamped Record (bytes 7-15 are OEM Defined)DEh: OS Bugcheck
6:3
SEL Timestamp
9:7137hIPMI Manufacturer ID 137h (311d) is the IANA enterprise number for Microsoft
10
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
14:11
Bugcheck Parameter Argument to Bugcheck. These are the same arguments listed on the BSOD
15
System Architecture 00h: 32bit OS01h: 64bit OS

BMC SEL Log

$
0
0
Revision 11 posted to Systems Management - Wiki by DELL-Steven on 10/20/2010 4:45:59 PM
What are all These Baseboard Management Controller (BMC) System Event Log (SEL) Records Logged by Windows?
Introduction
Did you ever notice a bunch of entries in the Baseboard Management Controller (BMC) System Event Log (SEL) that seem to be coming from Windows? Not the Windows system event log, but the SEL that is accessible from the Baseboard Management Controller (BMC). It may seem that this log is only intended for hardware events and errors, but there is an OS driver that also logs events to it. Starting with Windows Server 2003 R2, Microsoft began shipping the Intelligent Platform Management Interface (IPMI) driver. One of its functions is to log certain OS events to the SEL. The IPMI driver writes multiple records to the SEL for these three types of events: boot up, shutdown and bugcheck events.The BMC SEL log is accessible via the sideband BMC interface using tools like ipmitool or impish. It is also accessible from OpenManage Server Assistant (OMSA), the Dell Remote Access Controller (DRAC) console, and <CTRL-E> during boot. Many different types of events, which can be useful in troubleshooting, are logged in the SEL. Each SEL record packs a lot of information in only 16 bytes, and given their limited size, they can be hard to decode.

Decoding the SEL Record

Each SEL record is 16 bytes in length and the format is defined in the IPMI spec. The table below summarizes the format of the SEL record, as defined by the IPMI spec. At the highest level, the Record Type field indicates whether it is a System Event Record or an OEM defined event record. System Event records are defined in the IPMI specification, and OEM records are defined by the OEM. Each event logged by the IPMI driver (whether boot up, shutdown, or bugcheck) will cause one system event record and one or more OEM records to be logged to the SEL. The type 02h system event record format is defined in the table below.

BytesFieldDescription
1:0 SEL Record ID 16 bit record identifier 0000h: Reserved 0001h to FFFEh: SEL Record ID FFFFh: Reserved
2 Record Type 02h: System Event Record C0h to DFh: OEM Time stamped Record Bytes 8-16 are OEM Defined E0h to FFh: OEM Non-Time stamped Record Bytes 4-16 are OEM Defined
6:3 SEL Timestamp Time when event was logged
8:7Generator ID Byte 8: System Software ID or IPMB Slave Address=============[7:1]: System Software ID, or 7-bit I2C slave address[0]: 0b means bits 7-1 are the IPMB Slave Address1b means bits 7-1 are the System Software IDByte 7: Channel/LUN=============[7:4]: Channel Number. Must be 0000b if the event was received via the system interface, primary IPMB, or internally generated by the BMC[3:2]: Reserved. Must be 00b[1:0]: IPMB device LUN if Byte 0 holds a slave address. 00b if Byte 0 holds a System Software ID
9 EvMRev 03h: IPMI 1.0 04h: IPMI 2.0
10 Sensor Type Sensor type code as specified in the IPMI spec
11 Sensor Number Number of the sensor that generated the event
12 Event Type [7]: Event Direction0b: Assertion Event1b: De-assertion Event[6:0]: 7 bit Event/Reading Type Code00h: Event/Reading Type unspecified01h: Threshold02h-0Ch: Generic Discrete6Fh: Sensor-Specific Discrete70h-7Fh: OEM Discrete. Indicates the discrete state info is specific to the OEM identified by the Manufacturer ID for the IPMI device that is providing access to the sensor
13 Event Data 1: Event Field Contents
14 Event Data 2 Event Field Contents
15 Event Data 3 Event Field Contents
Boot Up Events
During a system boot, two records are written to the SEL. The first is a type 02h System Event, and the second is an OEM event.

Type 02h Boot Up Record

The first 10 bytes of the type 02h System boot up record are general header information, and the boot-relevant information starts at byte 10.

BytesValue Field Name Meaning of Value
1:0
SEL Record ID record identifier
2 02h Record Type 02h indicates a system event record
6:3
SEL Timestamp
8:70041hGenerator ID 0041h indicates the event comes from system software whose ID 20h
9 04h EvMRev IPMI 2.0 Event Message Revision
10 1Fh Sensor Type:OS boot Sensor type 1Fh is OS Boot as specified in the IPMI spec
11 00h Sensor Number
12 6FhEvent Type [7]: 0b: indicates an assertion event [6:0]: 6Fh indicates a Sensor-specific Discreet Type code. This means use the sensor specific offsets to interpret the event data bytes
13 01h Event Data 1: C: Boot Completed[7:6]:00b = unspecified byte 2 event data[5:4]: 00b = unspecified byte 3 event data[3:0]: Offset from Event/Reading Code 0h: A: boot completed 1h: C: boot completed 2h: PXE boot completed 3h: Diagnostic boot completed 4h: CD-ROM boot completd 5h: ROM boot completed 6h: boot completed-boot device not specified
14 FFh Event Data 2 Not specified per bits 7-6 in event data 1
15 FFh Event Data 3 Not specified per bits 5-4 in event data 1

Type DCh Boot Up OEM Event Record

The OEM Event record for bootup does not provide much more information. Nevertheless, the type DCh OEM Boot up event record looks similar to this:

Bytes Value Field Name Description
1:0
SEL Record ID
2 DCh Record Type OEM Time stamped Record (bytes 7-15 are OEM Defined)DCh: OS Boot up
6:3
SEL Timestamp
9:7137hIPMI Manufacturer ID 137h (311d) is the IANA enterprise number for Microsoft
10
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
14:11
Boot Time The OS Boot time
1500h Reserved Reserved
Shutdown Events
System shutdown events can cause many records to be logged to the SEL. There is one type 02h System Event record, one OEM type DDh record for the shutdown reason code, and zero or more OEM type DDh records for the shutdown comment.Whenever a user shuts down a system using shutdown.exe, the reason and comment entered by the user are saved in the registry. Then the IPMI driver reads them from the registry and logs them to the SEL with OEM type DDh records. The shutdown reason is a 4 byte code which fits within SEL entry. The shutdown comment, however, is a user-entered string of variable length. The IPMI driver saves the comment string to the SEL in multiple OEM type DDh records, concatenated using the sequence number. This can be problematic because there are only 4 bytes available for the comment per SEL entry, and the comment is saved as a Unicode string. This can quickly fill the SEL log. During a manual shutdown (Start | Shutdown), even though the user is required to enter a reason and comment, the comment is never saved to the registry, and therefore not logged to the SEL. Furthermore, an incorrect reason code is saved. See Microsoft KB200106 (http://support.microsoft.com/kb/2001061).

Type 02h System Shutdown Event Record

Again, the first 10 bytes of the type 02h System Event Record is all header information. The information relevant to the system shutdown starts at byte 10.

BytesValue Field Name Description
1:0
SEL Record ID record identifier
2 02hRecord Type 02h indicates a system event record
6:3
SEL Timestamp
8:70041hGenerator ID 0041h indicates the event comes from system software whose ID 20h
9 04h EvMRev IPMI 2.0 Event Message Revision
10 20h Sensor Type:OS Stop/Shutdown Sensor type 1Fh is OS Boot as specified in the IPMI spec
11 00h Sensor Number
12 6FhEvent Type [7]: 0b: indicates an assertion event [6:0]: 6Fh: indicates a Sensor-specific Discreet Type code. This means use the sensor specific offsets to interpret the event data bytes
13 03hEvent Data 1: [7:6]: 00b = unspecified byte 2 event data[5:4]: 00b = unspecified byte 3 event data[3:0]: Offset from Event/Reading Code 0h: Critical stop during OS load/initialization. Unexpected error during system startup. Stopped waiting for input or power cycle/reset 1h: Run-time critical stop (aka ‘core dump’ or ‘blue screen’ 2h: OS Graceful stop (system powered up, but normal OS operation has shut down and system is awaiting reset pushbutton, power-cycle or other external input) 3h: OS Graceful Shutdown (system graceful power down by OS) 4h: Soft Shutdown initiated by PEF 5h: Agent Not Responding. Graceful shutdown request to agent via BMC did not occur due to missing or malfunctioning local agent
14 FFh Event Data 2 Not specified per bits 7-6 in event data 1
15 FFh Event Data 3 Not specified per bits 5-4 in event data 1

Type DDh Shutdown Reason OEM Event Record

The IPMI driver reads the shutdown reason code is from the DWORD registry value at HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/ReasonCode (DWORD)The reason code is then logged to the SEL with the following OEM Type DDh record:

Bytes Value Field Name Description
1:0
SEL Record ID
2 DDh Record Type OEM Time stamped Record (bytes 7-15 are OEM Defined)DDh: OS Shutdown
6:3
SEL Timestamp
9:7137hIPMI Manufacturer ID 137h (311d) is the IANA enterprise number for Microsoft
10
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
14:11
Shutdown Reason Shutdown Reason which is read from the registry:HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/ReasonCode (DWORD)
1500hReserved

Type DDh Shutdown Comment OEM Event Record

Similarly, the shutdown comment is a REG_SZ value read from the same registry key. HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/Comment (REG_SZ)

Bytes Value Field Name Description
1:0
SEL Record ID
2 DDh Record Type OEM Time stamped Record (bytes 7-15 are OEM Defined)DDh: OS Shutdown
6:3
SEL Timestamp
9:7137hIPMI Manufacturer ID 137h (311d) is the IANA enterprise number for Microsoft
10
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
14:11
Shutdown Comment Shutdown Comment which is read from the registry:HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/Comment (REG_SZ)
1500h Reserved

Disabling the Type DDh Shutdown Comment records

Because the shutdown comment can take so many records to log, it can cause the SEL to become full very quickly. Microsoft released a hotfix to allow for disabling the shutdown log comments for Windows Server 2008 SP1. This hotfix can be found at http://support.microsoft.com/kb/962920Starting with Windows Server 2008 R2, the functionality is present in the OS without applying the hotfix. So for windows Server 2008 SP1, you must apply the hotfix before modifying the registry, but for Windows Server 2008 SP2 and later you can modify the registry without applying the hotfix.1.Open regedit and navigate to HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\IPMI2.Create a new DWORD Value named DisableSELShutdownComment3.Right-click DisableSELShutdownComment, and then click Modify. 4.In the Value data box, type 1, and then click OK. 5.Close regedit and rebootBugcheck EventsA system bugcheck (bluescreen) will cause six records to be written to the event log. A type 02h System Event records is written, followed by five type DEh OEM event records: One for the bugcheck code, and one for each of the four parameters to the bugcheck.

Type 02h Bugcheck System Event Record

Like the other Type 02h System event records logged by the IPMI driver, the relevant information starts after the header at byte 10. In the case of the bugcheck, the sensor type is 20h which is the same as the Shutdown system event record, but the event data byte at byte 13 indicates runtime critical stop.

BytesValue Field Name Description
1:0
SEL Record ID record identifier
2 02hRecord Type 02h indicates a system event record
6:3
SEL Timestamp
8:70041hGenerator ID 0041h indicates the event comes from system software whose ID 20h
9 04h EvMRev IPMI 2.0 Event Message Revision
10 20h Sensor Type: OS Stop/Shutdown Sensor type 1Fh is OS Boot as specified in the IPMI spec
11 00h Sensor Number
12 6FhEvent Type [7]: 0b: indicates an assertion event [6:0]: 6Fh: indicates a Sensor-specific Discreet Type code. This means use the sensor specific offsets to interpret the event data bytes
13 01hEvent Data 1[7:6]: 00b = unspecified byte 2 event data [5:4]: 00b = unspecified byte 3 event data [3:0]: Offset from Event/Reading Code 0h:Critical stop during OS load/initialization. Unexpected error during system startup. Stopped waiting for input or power cycle/reset 1h:Run-time critical stop (aka ‘core dump’ or ‘blue screen’2h:OS Graceful stop (system powered up, but normal OS operation has shut down and system is awaiting reset pushbutton, power-cycle or other external input) 3h:OS Graceful Shutdown (system graceful power down by OS) 4h:Soft Shutdown initiated by PEF 5h:Agent Not Responding. Graceful shutdown request to agent via BMC did not occur due to missing or malfunctioning local agent
14 FFh Event Data 2 Not specified per bits 7-6 in event data 1
15 FFh Event Data 3 Not specified per bits 5-4 in event data 1

Type DEh Bugcheck Code OEM Event Record

The bugcheck code is the stop code displayed on the bluescreen. It is used to indicate the type of failure that caused the bugcheck. The OEM Type DEh event record saves the bugcheck code to the SEL.

Bytes Value Field Name Description
1:0
SEL Record ID
2 DEhRecord Type OEM Time stamped Record (bytes 7-15 are OEM Defined)DEh: OS Bugcheck
6:3
SEL Timestamp
9:7137hIPMI Manufacturer ID 137h (311d) is the IANA enterprise number for Microsoft
10
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
14:11
Bugcheck Stop Code Stop code listed on the BSOD
15
System Architecture 00: 32bit OS01: 64bit OS

Type DEh Bugcheck Parameter OEM Event Record

When the system encounters a condition or error it can’t handle, a system call is made to bugcheck the system. In addition to the bugcheck code described above, four parameters are passed to further describe the failure. This information can be used to debug the system and figure out why the crash occurred. The OEM Type DEh Bugcheck Parameter Event record is described below:

Bytes Value Field Name Description
1:0
SEL Record ID
2 DEhRecord Type OEM Time stamped Record (bytes 7-15 are OEM Defined)DEh: OS Bugcheck
6:3
SEL Timestamp
9:7137hIPMI Manufacturer ID 137h (311d) is the IANA enterprise number for Microsoft
10
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
14:11
Bugcheck Parameter Argument to Bugcheck. These are the same arguments listed on the BSOD
15
System Architecture 00h: 32bit OS01h: 64bit OS


BMC SEL Log

$
0
0
Revision 10 posted to Systems Management - Wiki by DELL-Steven on 10/20/2010 4:43:01 PM
What are all These Baseboard Management Controller (BMC) System Event Log (SEL) Records Logged by Windows?
IntroductionDid you ever notice a bunch of entries in the Baseboard Management Controller (BMC) System Event Log (SEL) that seem to be coming from Windows? Not the Windows system event log, but the SEL that is accessible from the Baseboard Management Controller (BMC). It may seem that this log is only intended for hardware events and errors, but there is an OS driver that also logs events to it. Starting with Windows Server 2003 R2, Microsoft began shipping the Intelligent Platform Management Interface (IPMI) driver. One of its functions is to log certain OS events to the SEL. The IPMI driver writes multiple records to the SEL for these three types of events: boot up, shutdown and bugcheck events.The BMC SEL log is accessible via the sideband BMC interface using tools like ipmitool or impish. It is also accessible from OpenManage Server Assistant (OMSA), the Dell Remote Access Controller (DRAC) console, and <CTRL-E> during boot. Many different types of events, which can be useful in troubleshooting, are logged in the SEL. Each SEL record packs a lot of information in only 16 bytes, and given their limited size, they can be hard to decode.

Decoding the SEL Record

Each SEL record is 16 bytes in length and the format is defined in the IPMI spec. The table below summarizes the format of the SEL record, as defined by the IPMI spec. At the highest level, the Record Type field indicates whether it is a System Event Record or an OEM defined event record. System Event records are defined in the IPMI specification, and OEM records are defined by the OEM. Each event logged by the IPMI driver (whether boot up, shutdown, or bugcheck) will cause one system event record and one or more OEM records to be logged to the SEL. The type 02h system event record format is defined in the table below.
BytesFieldDescription
1:0 SEL Record ID 16 bit record identifier 0000h: Reserved 0001h to FFFEh: SEL Record ID FFFFh: Reserved
2 Record Type 02h: System Event Record C0h to DFh: OEM Time stamped Record Bytes 8-16 are OEM Defined E0h to FFh: OEM Non-Time stamped Record Bytes 4-16 are OEM Defined
6:3 SEL Timestamp Time when event was logged
8:7Generator ID Byte 8: System Software ID or IPMB Slave Address=============[7:1]: System Software ID, or 7-bit I2C slave address[0]: 0b means bits 7-1 are the IPMB Slave Address 1b means bits 7-1 are the System Software IDByte 7: Channel/LUN=============[7:4]: Channel Number. Must be 0000b if the event was received via the system interface, primary IPMB, or internally generated by the BMC[3:2]: Reserved. Must be 00b[1:0]: IPMB device LUN if Byte 0 holds a slave address. 00b if Byte 0 holds a System Software ID
9 EvMRev 03h: IPMI 1.0 04h: IPMI 2.0
10 Sensor Type Sensor type code as specified in the IPMI spec
11 Sensor Number Number of the sensor that generated the event
12 Event Type [7]: Event Direction 0b: Assertion Event 1b: De-assertion Event[6:0]: 7 bit Event/Reading Type Code 00h: Event/Reading Type unspecified 01h: Threshold 02h-0Ch: Generic Discrete 6Fh: Sensor-Specific Discrete 70h-7Fh: OEM Discrete. Indicates the discrete state info is specific to the OEM identified by the Manufacturer ID for the IPMI device that is providing access to the sensor
13 Event Data 1: Event Field Contents
14 Event Data 2 Event Field Contents
15 Event Data 3 Event Field Contents
Boot Up EventsDuring a system boot, two records are written to the SEL. The first is a type 02h System Event, and the second is an OEM event.

Type 02h Boot Up Record

The first 10 bytes of the type 02h System boot up record are general header information, and the boot-relevant information starts at byte 10.
BytesValue Field Name Meaning of Value
1:0
SEL Record ID record identifier
2 02h Record Type 02h indicates a system event record
6:3
SEL Timestamp
8:70041hGenerator ID 0041h indicates the event comes from system software whose ID 20h
9 04h EvMRev IPMI 2.0 Event Message Revision
10 1Fh Sensor Type:OS boot Sensor type 1Fh is OS Boot as specified in the IPMI spec
11 00h Sensor Number
12 6FhEvent Type [7]: 0b: indicates an assertion event [6:0]: 6Fh indicates a Sensor-specific Discreet Type code. This means use the sensor specific offsets to interpret the event data bytes
13 01h Event Data 1: C: Boot Completed[7:6]:00b = unspecified byte 2 event data[5:4]: 00b = unspecified byte 3 event data[3:0]: Offset from Event/Reading Code 0h: A: boot completed 1h: C: boot completed 2h: PXE boot completed 3h: Diagnostic boot completed 4h: CD-ROM boot completd 5h: ROM boot completed 6h: boot completed-boot device not specified
14 FFh Event Data 2 Not specified per bits 7-6 in event data 1
15 FFh Event Data 3 Not specified per bits 5-4 in event data 1

Type DCh Boot Up OEM Event Record

The OEM Event record for bootup does not provide much more information. Nevertheless, the type DCh OEM Boot up event record looks similar to this:
Bytes Value Field Name Description
1:0
SEL Record ID
2 DCh Record Type OEM Time stamped Record (bytes 7-15 are OEM Defined)DCh: OS Boot up
6:3
SEL Timestamp
9:7137hIPMI Manufacturer ID 137h (311d) is the IANA enterprise number for Microsoft
10
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
14:11
Boot Time The OS Boot time
1500h Reserved Reserved
Shutdown EventsSystem shutdown events can cause many records to be logged to the SEL. There is one type 02h System Event record, one OEM type DDh record for the shutdown reason code, and zero or more OEM type DDh records for the shutdown comment.Whenever a user shuts down a system using shutdown.exe, the reason and comment entered by the user are saved in the registry. Then the IPMI driver reads them from the registry and logs them to the SEL with OEM type DDh records. The shutdown reason is a 4 byte code which fits within SEL entry. The shutdown comment, however, is a user-entered string of variable length. The IPMI driver saves the comment string to the SEL in multiple OEM type DDh records, concatenated using the sequence number. This can be problematic because there are only 4 bytes available for the comment per SEL entry, and the comment is saved as a Unicode string. This can quickly fill the SEL log. During a manual shutdown (Start | Shutdown), even though the user is required to enter a reason and comment, the comment is never saved to the registry, and therefore not logged to the SEL. Furthermore, an incorrect reason code is saved. See Microsoft KB200106 (http://support.microsoft.com/kb/2001061).

Type 02h System Shutdown Event Record

Again, the first 10 bytes of the type 02h System Event Record is all header information. The information relevant to the system shutdown starts at byte 10.
BytesValue Field Name Description
1:0
SEL Record ID record identifier
2 02hRecord Type 02h indicates a system event record
6:3
SEL Timestamp
8:70041hGenerator ID 0041h indicates the event comes from system software whose ID 20h
9 04h EvMRev IPMI 2.0 Event Message Revision
10 20h Sensor Type:OS Stop/Shutdown Sensor type 1Fh is OS Boot as specified in the IPMI spec
11 00h Sensor Number
12 6FhEvent Type [7]: 0b: indicates an assertion event [6:0]: 6Fh: indicates a Sensor-specific Discreet Type code. This means use the sensor specific offsets to interpret the event data bytes
13 03hEvent Data 1: [7:6]: 00b = unspecified byte 2 event data[5:4]: 00b = unspecified byte 3 event data[3:0]: Offset from Event/Reading Code 0h: Critical stop during OS load/initialization. Unexpected error during system startup. Stopped waiting for input or power cycle/reset 1h: Run-time critical stop (aka ‘core dump’ or ‘blue screen’ 2h: OS Graceful stop (system powered up, but normal OS operation has shut down and system is awaiting reset pushbutton, power-cycle or other external input) 3h: OS Graceful Shutdown (system graceful power down by OS) 4h: Soft Shutdown initiated by PEF 5h: Agent Not Responding. Graceful shutdown request to agent via BMC did not occur due to missing or malfunctioning local agent
14 FFh Event Data 2 Not specified per bits 7-6 in event data 1
15 FFh Event Data 3 Not specified per bits 5-4 in event data 1

Type DDh Shutdown Reason OEM Event Record

The IPMI driver reads the shutdown reason code is from the DWORD registry value at HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/ReasonCode (DWORD)The reason code is then logged to the SEL with the following OEM Type DDh record:
Bytes Value Field Name Description
1:0
SEL Record ID
2 DDh Record Type OEM Time stamped Record (bytes 7-15 are OEM Defined)DDh: OS Shutdown
6:3
SEL Timestamp
9:7137hIPMI Manufacturer ID 137h (311d) is the IANA enterprise number for Microsoft
10
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
14:11
Shutdown Reason Shutdown Reason which is read from the registry:HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/ReasonCode (DWORD)
1500hReserved

Type DDh Shutdown Comment OEM Event Record

Similarly, the shutdown comment is a REG_SZ value read from the same registry key. HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/Comment (REG_SZ)
Bytes Value Field Name Description
1:0
SEL Record ID
2 DDh Record Type OEM Time stamped Record (bytes 7-15 are OEM Defined)DDh: OS Shutdown
6:3
SEL Timestamp
9:7137hIPMI Manufacturer ID 137h (311d) is the IANA enterprise number for Microsoft
10
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
14:11
Shutdown Comment Shutdown Comment which is read from the registry:HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/Comment (REG_SZ)
1500h Reserved

Disabling the Type DDh Shutdown Comment records

Because the shutdown comment can take so many records to log, it can cause the SEL to become full very quickly. Microsoft released a hotfix to allow for disabling the shutdown log comments for Windows Server 2008 SP1. This hotfix can be found at http://support.microsoft.com/kb/962920Starting with Windows Server 2008 R2, the functionality is present in the OS without applying the hotfix. So for windows Server 2008 SP1, you must apply the hotfix before modifying the registry, but for Windows Server 2008 SP2 and later you can modify the registry without applying the hotfix.1.Open regedit and navigate to HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\IPMI2.Create a new DWORD Value named DisableSELShutdownComment3.Right-click DisableSELShutdownComment, and then click Modify. 4.In the Value data box, type 1, and then click OK. 5.Close regedit and rebootBugcheck EventsA system bugcheck (bluescreen) will cause six records to be written to the event log. A type 02h System Event records is written, followed by five type DEh OEM event records: One for the bugcheck code, and one for each of the four parameters to the bugcheck.

Type 02h Bugcheck System Event Record

Like the other Type 02h System event records logged by the IPMI driver, the relevant information starts after the header at byte 10. In the case of the bugcheck, the sensor type is 20h which is the same as the Shutdown system event record, but the event data byte at byte 13 indicates runtime critical stop.
BytesValue Field Name Description
1:0
SEL Record ID record identifier
2 02hRecord Type 02h indicates a system event record
6:3
SEL Timestamp
8:70041hGenerator ID 0041h indicates the event comes from system software whose ID 20h
9 04h EvMRev IPMI 2.0 Event Message Revision
10 20h Sensor Type: OS Stop/Shutdown Sensor type 1Fh is OS Boot as specified in the IPMI spec
11 00h Sensor Number
12 6FhEvent Type [7]: 0b: indicates an assertion event [6:0]: 6Fh: indicates a Sensor-specific Discreet Type code. This means use the sensor specific offsets to interpret the event data bytes
13 01hEvent Data 1[7:6]: 00b = unspecified byte 2 event data [5:4]: 00b = unspecified byte 3 event data [3:0]: Offset from Event/Reading Code 0h:Critical stop during OS load/initialization. Unexpected error during system startup. Stopped waiting for input or power cycle/reset 1h:Run-time critical stop (aka ‘core dump’ or ‘blue screen’ 2h:OS Graceful stop (system powered up, but normal OS operation has shut down and system is awaiting reset pushbutton, power-cycle or other external input) 3h:OS Graceful Shutdown (system graceful power down by OS) 4h:Soft Shutdown initiated by PEF 5h:Agent Not Responding. Graceful shutdown request to agent via BMC did not occur due to missing or malfunctioning local agent
14 FFh Event Data 2 Not specified per bits 7-6 in event data 1
15 FFh Event Data 3 Not specified per bits 5-4 in event data 1

Type DEh Bugcheck Code OEM Event Record

The bugcheck code is the stop code displayed on the bluescreen. It is used to indicate the type of failure that caused the bugcheck. The OEM Type DEh event record saves the bugcheck code to the SEL.
Bytes Value Field Name Description
1:0
SEL Record ID
2 DEhRecord Type OEM Time stamped Record (bytes 7-15 are OEM Defined)DEh: OS Bugcheck
6:3
SEL Timestamp
9:7137hIPMI Manufacturer ID 137h (311d) is the IANA enterprise number for Microsoft
10
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
14:11
Bugcheck Stop Code Stop code listed on the BSOD
15
System Architecture 00: 32bit OS01: 64bit OS

Type DEh Bugcheck Parameter OEM Event Record

When the system encounters a condition or error it can’t handle, a system call is made to bugcheck the system. In addition to the bugcheck code described above, four parameters are passed to further describe the failure. This information can be used to debug the system and figure out why the crash occurred. The OEM Type DEh Bugcheck Parameter Event record is described below:
Bytes Value Field Name Description
1:0SEL Record ID
2 DEhRecord Type OEM Time stamped Record (bytes 7-15 are OEM Defined)DEh: OS Bugcheck
6:3 SEL Timestamp
9:7137hIPMI Manufacturer ID 137h (311d) is the IANA enterprise number for Microsoft
10 Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
14:11 Bugcheck Parameter Argument to Bugcheck. These are the same arguments listed on the BSOD
15System Architecture 00h: 32bit OS01h: 64bit OS

BMC SEL Log

$
0
0
Revision 9 posted to Systems Management - Wiki by DELL-Steven on 10/20/2010 4:40:44 PM
What are all These Baseboard Management Controller (BMC) System Event Log (SEL) Records Logged by Windows?
Introduction
Did you ever notice a bunch of entries in the Baseboard Management Controller (BMC) System Event Log (SEL) that seem to be coming from Windows? Not the Windows system event log, but the SEL that is accessible from the Baseboard Management Controller (BMC). It may seem that this log is only intended for hardware events and errors, but there is an OS driver that also logs events to it. Starting with Windows Server 2003 R2, Microsoft began shipping the Intelligent Platform Management Interface (IPMI) driver. One of its functions is to log certain OS events to the SEL. The IPMI driver writes multiple records to the SEL for these three types of events: boot up, shutdown and bugcheck events.The BMC SEL log is accessible via the sideband BMC interface using tools like ipmitool or impish. It is also accessible from OpenManage Server Assistant (OMSA), the Dell Remote Access Controller (DRAC) console, and <CTRL-E> during boot. Many different types of events, which can be useful in troubleshooting, are logged in the SEL. Each SEL record packs a lot of information in only 16 bytes, and given their limited size, they can be hard to decode. Decoding the SEL RecordEach SEL record is 16 bytes in length and the format is defined in the IPMI spec. The table below summarizes the format of the SEL record, as defined by the IPMI spec. At the highest level, the Record Type field indicates whether it is a System Event Record or an OEM defined event record. System Event records are defined in the IPMI specification, and OEM records are defined by the OEM. Each event logged by the IPMI driver (whether boot up, shutdown, or bugcheck) will cause one system event record and one or more OEM records to be logged to the SEL. The type 02h system event record format is defined in the table below.
BytesFieldDescription
1:0 SEL Record ID 16 bit record identifier 0000h: Reserved 0001h to FFFEh: SEL Record ID FFFFh: Reserved
2 Record Type 02h: System Event Record C0h to DFh: OEM Time stamped Record Bytes 8-16 are OEM Defined E0h to FFh: OEM Non-Time stamped Record Bytes 4-16 are OEM Defined
6:3 SEL Timestamp Time when event was logged
8:7Generator ID Byte 8: System Software ID or IPMB Slave Address=============[7:1]: System Software ID, or 7-bit I2C slave address[0]: 0b means bits 7-1 are the IPMB Slave Address 1b means bits 7-1 are the System Software IDByte 7: Channel/LUN=============[7:4]: Channel Number. Must be 0000b if the event was received via the system interface, primary IPMB, or internally generated by the BMC[3:2]: Reserved. Must be 00b[1:0]: IPMB device LUN if Byte 0 holds a slave address. 00b if Byte 0 holds a System Software ID
9 EvMRev 03h: IPMI 1.0 04h: IPMI 2.0
10 Sensor Type Sensor type code as specified in the IPMI spec
11 Sensor Number Number of the sensor that generated the event
12 Event Type [7]: Event Direction 0b: Assertion Event 1b: De-assertion Event[6:0]: 7 bit Event/Reading Type Code 00h: Event/Reading Type unspecified 01h: Threshold 02h-0Ch: Generic Discrete 6Fh: Sensor-Specific Discrete 70h-7Fh: OEM Discrete. Indicates the discrete state info is specific to the OEM identified by the Manufacturer ID for the IPMI device that is providing access to the sensor
13 Event Data 1: Event Field Contents
14 Event Data 2 Event Field Contents
15 Event Data 3 Event Field Contents



Boot Up Events
During a system boot, two records are written to the SEL. The first is a type 02h System Event, and the second is an OEM event. Type 02h Boot Up RecordThe first 10 bytes of the type 02h System boot up record are general header information, and the boot-relevant information starts at byte 10.
BytesValue Field Name Meaning of Value
1:0
SEL Record ID record identifier
2 02h Record Type 02h indicates a system event record
6:3
SEL Timestamp
8:70041hGenerator ID 0041h indicates the event comes from system software whose ID 20h
9 04h EvMRev IPMI 2.0 Event Message Revision
10 1Fh Sensor Type:OS boot Sensor type 1Fh is OS Boot as specified in the IPMI spec
11 00h Sensor Number
12 6FhEvent Type [7]: 0b: indicates an assertion event [6:0]: 6Fh indicates a Sensor-specific Discreet Type code. This means use the sensor specific offsets to interpret the event data bytes
13 01h Event Data 1: C: Boot Completed[7:6]:00b = unspecified byte 2 event data[5:4]: 00b = unspecified byte 3 event data[3:0]: Offset from Event/Reading Code 0h: A: boot completed 1h: C: boot completed 2h: PXE boot completed 3h: Diagnostic boot completed 4h: CD-ROM boot completd 5h: ROM boot completed 6h: boot completed-boot device not specified
14 FFh Event Data 2 Not specified per bits 7-6 in event data 1
15 FFh Event Data 3 Not specified per bits 5-4 in event data 1



Type DCh Boot Up OEM Event Record
The OEM Event record for bootup does not provide much more information. Nevertheless, the type DCh OEM Boot up event record looks similar to this:
Bytes Value Field Name Description
1:0
SEL Record ID
2 DCh Record Type OEM Time stamped Record (bytes 7-15 are OEM Defined)DCh: OS Boot up
6:3
SEL Timestamp
9:7137hIPMI Manufacturer ID 137h (311d) is the IANA enterprise number for Microsoft
10
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
14:11
Boot Time The OS Boot time
1500h Reserved Reserved



Shutdown Events
System shutdown events can cause many records to be logged to the SEL. There is one type 02h System Event record, one OEM type DDh record for the shutdown reason code, and zero or more OEM type DDh records for the shutdown comment.Whenever a user shuts down a system using shutdown.exe, the reason and comment entered by the user are saved in the registry. Then the IPMI driver reads them from the registry and logs them to the SEL with OEM type DDh records. The shutdown reason is a 4 byte code which fits within SEL entry. The shutdown comment, however, is a user-entered string of variable length. The IPMI driver saves the comment string to the SEL in multiple OEM type DDh records, concatenated using the sequence number. This can be problematic because there are only 4 bytes available for the comment per SEL entry, and the comment is saved as a Unicode string. This can quickly fill the SEL log. During a manual shutdown (Start | Shutdown), even though the user is required to enter a reason and comment, the comment is never saved to the registry, and therefore not logged to the SEL. Furthermore, an incorrect reason code is saved. See Microsoft KB200106 (http://support.microsoft.com/kb/2001061). Type 02h System Shutdown Event RecordAgain, the first 10 bytes of the type 02h System Event Record is all header information. The information relevant to the system shutdown starts at byte 10.
BytesValue Field Name Description
1:0
SEL Record ID record identifier
2 02hRecord Type 02h indicates a system event record
6:3
SEL Timestamp
8:70041hGenerator ID 0041h indicates the event comes from system software whose ID 20h
9 04h EvMRev IPMI 2.0 Event Message Revision
10 20h Sensor Type:OS Stop/Shutdown Sensor type 1Fh is OS Boot as specified in the IPMI spec
11 00h Sensor Number
12 6FhEvent Type [7]: 0b: indicates an assertion event [6:0]: 6Fh: indicates a Sensor-specific Discreet Type code. This means use the sensor specific offsets to interpret the event data bytes
13 03hEvent Data 1: [7:6]: 00b = unspecified byte 2 event data[5:4]: 00b = unspecified byte 3 event data[3:0]: Offset from Event/Reading Code 0h: Critical stop during OS load/initialization. Unexpected error during system startup. Stopped waiting for input or power cycle/reset 1h: Run-time critical stop (aka ‘core dump’ or ‘blue screen’ 2h: OS Graceful stop (system powered up, but normal OS operation has shut down and system is awaiting reset pushbutton, power-cycle or other external input) 3h: OS Graceful Shutdown (system graceful power down by OS) 4h: Soft Shutdown initiated by PEF 5h: Agent Not Responding. Graceful shutdown request to agent via BMC did not occur due to missing or malfunctioning local agent
14 FFh Event Data 2 Not specified per bits 7-6 in event data 1
15 FFh Event Data 3 Not specified per bits 5-4 in event data 1


Type DDh Shutdown Reason OEM Event Record
The IPMI driver reads the shutdown reason code is from the DWORD registry value at HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/ReasonCode (DWORD)The reason code is then logged to the SEL with the following OEM Type DDh record:
Bytes Value Field Name Description
1:0
SEL Record ID
2 DDh Record Type OEM Time stamped Record (bytes 7-15 are OEM Defined)DDh: OS Shutdown
6:3
SEL Timestamp
9:7137hIPMI Manufacturer ID 137h (311d) is the IANA enterprise number for Microsoft
10
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
14:11
Shutdown Reason Shutdown Reason which is read from the registry:HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/ReasonCode (DWORD)
1500hReserved
Type DDh Shutdown Comment OEM Event RecordSimilarly, the shutdown comment is a REG_SZ value read from the same registry key. HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/Comment (REG_SZ)
Bytes Value Field Name Description
1:0
SEL Record ID
2 DDh Record Type OEM Time stamped Record (bytes 7-15 are OEM Defined)DDh: OS Shutdown
6:3
SEL Timestamp
9:7137hIPMI Manufacturer ID 137h (311d) is the IANA enterprise number for Microsoft
10
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
14:11
Shutdown Comment Shutdown Comment which is read from the registry:HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/Comment (REG_SZ)
1500h Reserved
Disabling the Type DDh Shutdown Comment recordsBecause the shutdown comment can take so many records to log, it can cause the SEL to become full very quickly. Microsoft released a hotfix to allow for disabling the shutdown log comments for Windows Server 2008 SP1. This hotfix can be found at http://support.microsoft.com/kb/962920Starting with Windows Server 2008 R2, the functionality is present in the OS without applying the hotfix. So for windows Server 2008 SP1, you must apply the hotfix before modifying the registry, but for Windows Server 2008 SP2 and later you can modify the registry without applying the hotfix.1.Open regedit and navigate to HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\IPMI2.Create a new DWORD Value named DisableSELShutdownComment3.Right-click DisableSELShutdownComment, and then click Modify. 4.In the Value data box, type 1, and then click OK. 5.Close regedit and reboot
Bugcheck Events
A system bugcheck (bluescreen) will cause six records to be written to the event log. A type 02h System Event records is written, followed by five type DEh OEM event records: One for the bugcheck code, and one for each of the four parameters to the bugcheck.
Type 02h Bugcheck System Event RecordLike the other Type 02h System event records logged by the IPMI driver, the relevant information starts after the header at byte 10. In the case of the bugcheck, the sensor type is 20h which is the same as the Shutdown system event record, but the event data byte at byte 13 indicates runtime critical stop.
BytesValue Field Name Description
1:0
SEL Record ID record identifier
2 02hRecord Type 02h indicates a system event record
6:3
SEL Timestamp
8:70041hGenerator ID 0041h indicates the event comes from system software whose ID 20h
9 04h EvMRev IPMI 2.0 Event Message Revision
10 20h Sensor Type: OS Stop/Shutdown Sensor type 1Fh is OS Boot as specified in the IPMI spec
11 00h Sensor Number
12 6FhEvent Type [7]: 0b: indicates an assertion event [6:0]: 6Fh: indicates a Sensor-specific Discreet Type code. This means use the sensor specific offsets to interpret the event data bytes
13 01hEvent Data 1[7:6]: 00b = unspecified byte 2 event data [5:4]: 00b = unspecified byte 3 event data [3:0]: Offset from Event/Reading Code 0h:Critical stop during OS load/initialization. Unexpected error during system startup. Stopped waiting for input or power cycle/reset 1h:Run-time critical stop (aka ‘core dump’ or ‘blue screen’ 2h:OS Graceful stop (system powered up, but normal OS operation has shut down and system is awaiting reset pushbutton, power-cycle or other external input) 3h:OS Graceful Shutdown (system graceful power down by OS) 4h:Soft Shutdown initiated by PEF 5h:Agent Not Responding. Graceful shutdown request to agent via BMC did not occur due to missing or malfunctioning local agent
14 FFh Event Data 2 Not specified per bits 7-6 in event data 1
15 FFh Event Data 3 Not specified per bits 5-4 in event data 1

Type DEh Bugcheck Code OEM Event RecordThe bugcheck code is the stop code displayed on the bluescreen. It is used to indicate the type of failure that caused the bugcheck. The OEM Type DEh event record saves the bugcheck code to the SEL.
Bytes Value Field Name Description
1:0
SEL Record ID
2 DEhRecord Type OEM Time stamped Record (bytes 7-15 are OEM Defined)DEh: OS Bugcheck
6:3
SEL Timestamp
9:7137hIPMI Manufacturer ID 137h (311d) is the IANA enterprise number for Microsoft
10
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
14:11
Bugcheck Stop Code Stop code listed on the BSOD
15
System Architecture 00: 32bit OS01: 64bit OS

Type DEh Bugcheck Parameter OEM Event RecordWhen the system encounters a condition or error it can’t handle, a system call is made to bugcheck the system. In addition to the bugcheck code described above, four parameters are passed to further describe the failure. This information can be used to debug the system and figure out why the crash occurred. The OEM Type DEh Bugcheck Parameter Event record is described below:
Bytes Value Field Name Description
1:0SEL Record ID
2 DEhRecord Type OEM Time stamped Record (bytes 7-15 are OEM Defined)DEh: OS Bugcheck
6:3 SEL Timestamp
9:7137hIPMI Manufacturer ID 137h (311d) is the IANA enterprise number for Microsoft
10 Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
14:11 Bugcheck Parameter Argument to Bugcheck. These are the same arguments listed on the BSOD
15System Architecture 00h: 32bit OS01h: 64bit OS


BMC SEL Log

$
0
0
Revision 8 posted to Systems Management - Wiki by DELL-Steven on 10/20/2010 4:29:18 PM
What are all These Baseboard Management Controller (BMC) System Event Log (SEL) Records Logged by Windows?
Introduction
Did you ever notice a bunch of entries in the Baseboard Management Controller (BMC) System Event Log (SEL) that seem to be coming from Windows? Not the Windows system event log, but the SEL that is accessible from the Baseboard Management Controller (BMC). It may seem that this log is only intended for hardware events and errors, but there is an OS driver that also logs events to it. Starting with Windows Server 2003 R2, Microsoft began shipping the Intelligent Platform Management Interface (IPMI) driver. One of its functions is to log certain OS events to the SEL. The IPMI driver writes multiple records to the SEL for these three types of events: boot up, shutdown and bugcheck events.The BMC SEL log is accessible via the sideband BMC interface using tools like ipmitool or impish. It is also accessible from OpenManage Server Assistant (OMSA), the Dell Remote Access Controller (DRAC) console, and <CTRL-E> during boot. Many different types of events, which can be useful in troubleshooting, are logged in the SEL. Each SEL record packs a lot of information in only 16 bytes, and given their limited size, they can be hard to decode.

Decoding the SEL Record

Each SEL record is 16 bytes in length and the format is defined in the IPMI spec. The table below summarizes the format of the SEL record, as defined by the IPMI spec. At the highest level, the Record Type field indicates whether it is a System Event Record or an OEM defined event record. System Event records are defined in the IPMI specification, and OEM records are defined by the OEM. Each event logged by the IPMI driver (whether boot up, shutdown, or bugcheck) will cause one system event record and one or more OEM records to be logged to the SEL. The type 02h system event record format is defined in the table below.
BytesFieldDescription
1:0 SEL Record ID 16 bit record identifier 0000h: Reserved 0001h to FFFEh: SEL Record ID FFFFh: Reserved
2 Record Type 02h: System Event Record C0h to DFh: OEM Time stamped Record Bytes 8-16 are OEM Defined E0h to FFh: OEM Non-Time stamped Record Bytes 4-16 are OEM Defined
6:3 SEL Timestamp Time when event was logged
8:7Generator ID Byte 8: System Software ID or IPMB Slave Address=============[7:1]: System Software ID, or 7-bit I2C slave address[0]: 0b means bits 7-1 are the IPMB Slave Address 1b means bits 7-1 are the System Software IDByte 7: Channel/LUN=============[7:4]: Channel Number. Must be 0000b if the event was received via the system interface, primary IPMB, or internally generated by the BMC[3:2]: Reserved. Must be 00b[1:0]: IPMB device LUN if Byte 0 holds a slave address. 00b if Byte 0 holds a System Software ID
9 EvMRev 03h: IPMI 1.0 04h: IPMI 2.0
10 Sensor Type Sensor type code as specified in the IPMI spec
11 Sensor Number Number of the sensor that generated the event
12 Event Type [7]: Event Direction 0b: Assertion Event 1b: De-assertion Event[6:0]: 7 bit Event/Reading Type Code 00h: Event/Reading Type unspecified 01h: Threshold 02h-0Ch: Generic Discrete 6Fh: Sensor-Specific Discrete 70h-7Fh: OEM Discrete. Indicates the discrete state info is specific to the OEM identified by the Manufacturer ID for the IPMI device that is providing access to the sensor
13 Event Data 1: Event Field Contents
14 Event Data 2 Event Field Contents
15 Event Data 3 Event Field Contents
Boot Up Events
During a system boot, two records are written to the SEL. The first is a type 02h System Event, and the second is an OEM event.

Type 02h Boot Up Record

The first 10 bytes of the type 02h System boot up record are general header information, and the boot-relevant information starts at byte 10.
BytesValue Field Name Meaning of Value
1:0
SEL Record ID record identifier
2 02h Record Type 02h indicates a system event record
6:3
SEL Timestamp
8:70041hGenerator ID 0041h indicates the event comes from system software whose ID 20h
9 04h EvMRev IPMI 2.0 Event Message Revision
10 1Fh Sensor Type:OS boot Sensor type 1Fh is OS Boot as specified in the IPMI spec
11 00h Sensor Number
12 6FhEvent Type [7]: 0b: indicates an assertion event [6:0]: 6Fh indicates a Sensor-specific Discreet Type code. This means use the sensor specific offsets to interpret the event data bytes
13 01h Event Data 1: C: Boot Completed[7:6]: 00b = unspecified byte 2 event data[5:4]: 00b = unspecified byte 3 event data[3:0]: Offset from Event/Reading Code 0h: A: boot completed 1h: C: boot completed 2h: PXE boot completed 3h: Diagnostic boot completed 4h: CD-ROM boot completd 5h: ROM boot completed 6h: boot completed-boot device not specified
14 FFh Event Data 2 Not specified per bits 7-6 in event data 1
15 FFh Event Data 3 Not specified per bits 5-4 in event data 1

Type DCh Boot Up OEM Event Record

The OEM Event record for bootup does not provide much more information. Nevertheless, the type DCh OEM Boot up event record looks similar to this:
Bytes Value Field Name Description
1:0
SEL Record ID
2 DCh Record Type OEM Time stamped Record (bytes 7-15 are OEM Defined)DCh: OS Boot up
6:3
SEL Timestamp
9:7137hIPMI Manufacturer ID 137h (311d) is the IANA enterprise number for Microsoft
10
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
14:11
Boot Time The OS Boot time
1500h Reserved Reserved
Shutdown Events
System shutdown events can cause many records to be logged to the SEL. There is one type 02h System Event record, one OEM type DDh record for the shutdown reason code, and zero or more OEM type DDh records for the shutdown comment.Whenever a user shuts down a system using shutdown.exe, the reason and comment entered by the user are saved in the registry. Then the IPMI driver reads them from the registry and logs them to the SEL with OEM type DDh records. The shutdown reason is a 4 byte code which fits within SEL entry. The shutdown comment, however, is a user-entered string of variable length. The IPMI driver saves the comment string to the SEL in multiple OEM type DDh records, concatenated using the sequence number. This can be problematic because there are only 4 bytes available for the comment per SEL entry, and the comment is saved as a Unicode string. This can quickly fill the SEL log. During a manual shutdown (Start | Shutdown), even though the user is required to enter a reason and comment, the comment is never saved to the registry, and therefore not logged to the SEL. Furthermore, an incorrect reason code is saved. See Microsoft KB200106 (http://support.microsoft.com/kb/2001061).

Type 02h System Shutdown Event Record

Again, the first 10 bytes of the type 02h System Event Record is all header information. The information relevant to the system shutdown starts at byte 10.
BytesValue Field Name Description
1:0
SEL Record ID record identifier
2 02hRecord Type 02h indicates a system event record
6:3
SEL Timestamp
8:70041hGenerator ID 0041h indicates the event comes from system software whose ID 20h
9 04h EvMRev IPMI 2.0 Event Message Revision
10 20h Sensor Type:OS Stop/Shutdown Sensor type 1Fh is OS Boot as specified in the IPMI spec
11 00h Sensor Number
12 6FhEvent Type [7]: 0b: indicates an assertion event [6:0]: 6Fh: indicates a Sensor-specific Discreet Type code. This means use the sensor specific offsets to interpret the event data bytes
13 03hEvent Data 1: [7:6]: 00b = unspecified byte 2 event data[5:4]: 00b = unspecified byte 3 event data[3:0]: Offset from Event/Reading Code 0h: Critical stop during OS load/initialization. Unexpected error during system startup. Stopped waiting for input or power cycle/reset 1h: Run-time critical stop (aka ‘core dump’ or ‘blue screen’ 2h: OS Graceful stop (system powered up, but normal OS operation has shut down and system is awaiting reset pushbutton, power-cycle or other external input) 3h: OS Graceful Shutdown (system graceful power down by OS) 4h: Soft Shutdown initiated by PEF 5h: Agent Not Responding. Graceful shutdown request to agent via BMC did not occur due to missing or malfunctioning local agent
14 FFh Event Data 2 Not specified per bits 7-6 in event data 1
15 FFh Event Data 3 Not specified per bits 5-4 in event data 1

Type DDh Shutdown Reason OEM Event Record

The IPMI driver reads the shutdown reason code is from the DWORD registry value at HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/ReasonCode (DWORD)The reason code is then logged to the SEL with the following OEM Type DDh record:
Bytes Value Field Name Description
1:0
SEL Record ID
2 DDh Record Type OEM Time stamped Record (bytes 7-15 are OEM Defined)DDh: OS Shutdown
6:3
SEL Timestamp
9:7137hIPMI Manufacturer ID 137h (311d) is the IANA enterprise number for Microsoft
10
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
14:11
Shutdown Reason Shutdown Reason which is read from the registry:HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/ReasonCode (DWORD)
1500hReserved

Type DDh Shutdown Comment OEM Event Record

Similarly, the shutdown comment is a REG_SZ value read from the same registry key. HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/Comment (REG_SZ)
Bytes Value Field Name Description
1:0
SEL Record ID
2 DDh Record Type OEM Time stamped Record (bytes 7-15 are OEM Defined)DDh: OS Shutdown
6:3
SEL Timestamp
9:7137hIPMI Manufacturer ID 137h (311d) is the IANA enterprise number for Microsoft
10
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
14:11
Shutdown Comment Shutdown Comment which is read from the registry:HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/Comment (REG_SZ)
1500h Reserved

Disabling the Type DDh Shutdown Comment records

Because the shutdown comment can take so many records to log, it can cause the SEL to become full very quickly. Microsoft released a hotfix to allow for disabling the shutdown log comments for Windows Server 2008 SP1. This hotfix can be found at http://support.microsoft.com/kb/962920Starting with Windows Server 2008 R2, the functionality is present in the OS without applying the hotfix. So for windows Server 2008 SP1, you must apply the hotfix before modifying the registry, but for Windows Server 2008 SP2 and later you can modify the registry without applying the hotfix.1.Open regedit and navigate to HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\IPMI2.Create a new DWORD Value named DisableSELShutdownComment3.Right-click DisableSELShutdownComment, and then click Modify. 4.In the Value data box, type 1, and then click OK. 5.Close regedit and reboot
Bugcheck Events
A system bugcheck (bluescreen) will cause six records to be written to the event log. A type 02h System Event records is written, followed by five type DEh OEM event records: One for the bugcheck code, and one for each of the four parameters to the bugcheck.

Type 02h Bugcheck System Event Record

Like the other Type 02h System event records logged by the IPMI driver, the relevant information starts after the header at byte 10. In the case of the bugcheck, the sensor type is 20h which is the same as the Shutdown system event record, but the event data byte at byte 13 indicates runtime critical stop.
BytesValue Field Name Description
1:0
SEL Record ID record identifier
2 02hRecord Type 02h indicates a system event record
6:3
SEL Timestamp
8:70041hGenerator ID 0041h indicates the event comes from system software whose ID 20h
9 04h EvMRev IPMI 2.0 Event Message Revision
10 20h Sensor Type: OS Stop/Shutdown Sensor type 1Fh is OS Boot as specified in the IPMI spec
11 00h Sensor Number
12 6FhEvent Type [7]: 0b: indicates an assertion event [6:0]: 6Fh: indicates a Sensor-specific Discreet Type code. This means use the sensor specific offsets to interpret the event data bytes
13 01hEvent Data 1[7:6]: 00b = unspecified byte 2 event data [5:4]: 00b = unspecified byte 3 event data [3:0]: Offset from Event/Reading Code 0h:Critical stop during OS load/initialization. Unexpected error during system startup. Stopped waiting for input or power cycle/reset 1h:Run-time critical stop (aka ‘core dump’ or ‘blue screen’ 2h:OS Graceful stop (system powered up, but normal OS operation has shut down and system is awaiting reset pushbutton, power-cycle or other external input) 3h:OS Graceful Shutdown (system graceful power down by OS) 4h:Soft Shutdown initiated by PEF 5h:Agent Not Responding. Graceful shutdown request to agent via BMC did not occur due to missing or malfunctioning local agent
14 FFh Event Data 2 Not specified per bits 7-6 in event data 1
15 FFh Event Data 3 Not specified per bits 5-4 in event data 1

Type DEh Bugcheck Code OEM Event Record

The bugcheck code is the stop code displayed on the bluescreen. It is used to indicate the type of failure that caused the bugcheck. The OEM Type DEh event record saves the bugcheck code to the SEL.
Bytes Value Field Name Description
1:0
SEL Record ID
2 DEhRecord Type OEM Time stamped Record (bytes 7-15 are OEM Defined)DEh: OS Bugcheck
6:3
SEL Timestamp
9:7137hIPMI Manufacturer ID 137h (311d) is the IANA enterprise number for Microsoft
10
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
14:11
Bugcheck Stop Code Stop code listed on the BSOD
15
System Architecture 00: 32bit OS01: 64bit OS

Type DEh Bugcheck Parameter OEM Event Record

When the system encounters a condition or error it can’t handle, a system call is made to bugcheck the system. In addition to the bugcheck code described above, four parameters are passed to further describe the failure. This information can be used to debug the system and figure out why the crash occurred. The OEM Type DEh Bugcheck Parameter Event record is described below:
Bytes Value Field Name Description
1:0SEL Record ID
2 DEhRecord Type OEM Time stamped Record (bytes 7-15 are OEM Defined)DEh: OS Bugcheck
6:3 SEL Timestamp
9:7137hIPMI Manufacturer ID 137h (311d) is the IANA enterprise number for Microsoft
10 Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
14:11 Bugcheck Parameter Argument to Bugcheck. These are the same arguments listed on the BSOD
15System Architecture 00h: 32bit OS01h: 64bit OS

BMC SEL Log

$
0
0
Revision 7 posted to Systems Management - Wiki by DELL-Steven on 10/20/2010 4:21:35 PM
What are all These Baseboard Management Controller (BMC) System Event Log(SEL) Records Logged by Windows?

Introduction Did you ever notice a bunch of entries in the Baseboard Management Controller (BMC) System Event Log (SEL) that seem to be coming from Windows? Not the Windows system event log, but the SEL that is accessible from the Baseboard Management Controller (BMC). It may seem that this log is only intended for hardware events and errors, but there is an OS driver that also logs events to it. Starting with Windows Server 2003 R2, Microsoft began shipping the Intelligent Platform Management Interface (IPMI) driver. One of its functions is to log certain OS events to the SEL. The IPMI driver writes multiple records to the SEL for these three types of events: boot up, shutdown and bugcheck events. The BMC SEL log is accessible via the sideband BMC interface using tools like ipmitool or impish. It is also accessible from OpenManage Server Assistant (OMSA), the Dell Remote Access Controller (DRAC) console, and <CTRL-E> during boot. Many different types of events, which can be useful in troubleshooting, are logged in the SEL. Each SEL record packs a lot of information in only 16 bytes, and given their limited size, they can be hard to decode.

Decoding the SEL Record

Each SEL record is 16 bytes in length and the format is defined in the IPMI spec. The table below summarizes the format of the SEL record, as defined by the IPMI spec. At the highest level, the Record Type field indicates whether it is a System Event Record or an OEM defined event record. System Event records are defined in the IPMI specification, and OEM records are defined by the OEM. Each event logged by the IPMI driver (whether boot up, shutdown, or bugcheck) will cause one system event record and one or more OEM records to be logged to the SEL. The type 02h system event record format is defined in the table below.
BytesFieldDescription
1:0SEL Record ID16 bit record identifier 0000h: Reserved0001h to FFFEh: SEL Record IDFFFFh: Reserved
2Record Type02h: System Event Record C0h to DFh: OEM Time stamped Record Bytes 8-16 are OEM DefinedE0h to FFh: OEM Non-Time stamped Record Bytes 4-16 are OEM Defined
6:3SEL TimestampTime when event was logged
8:7Generator IDByte 8: System Software ID or IPMB Slave Address=============[7:1]: System Software ID, or 7-bit I2C slave address[0]: 0b means bits 7-1 are the IPMB Slave Address 1b means bits 7-1 are the System Software IDByte 7: Channel/LUN=============[7:4]: Channel Number. Must be 0000b if the event was received via the system interface, primary IPMB, or internally generated by the BMC[3:2]: Reserved. Must be 00b[1:0]: IPMB device LUN if Byte 0 holds a slave address. 00b if Byte 0 holds a System Software ID
9EvMRev03h: IPMI 1.0 04h: IPMI 2.0
10Sensor TypeSensor type code as specified in the IPMI spec
11Sensor NumberNumber of the sensor that generated the event
12Event Type[7]: Event Direction 0b: Assertion Event 1b: De-assertion Event[6:0]: 7 bit Event/Reading Type Code 00h: Event/Reading Type unspecified 01h: Threshold 02h-0Ch: Generic Discrete 6Fh: Sensor-Specific Discrete 70h-7Fh: OEM Discrete. Indicates the discrete state info is specific to the OEM identified by the Manufacturer ID for the IPMI device that is providing access to the sensor
13Event Data 1Event Field Contents
14Event Data 2Event Field Contents
15Event Data 3Event Field Contents

Boot Up Events
During an OS system boot, two records are written to the SEL. The first is a type 2 System Event, and the second is an OEM event.

Type 0x02 Boot Up Record

The first 10 bytes of the type 2 System boot up record are general header information, and the boot-relevant information starts at offset 0xA.


Offset Length (bytes) Value Field Name Description
0x0 2
SEL Record ID
0x2 1 0x02 Record Type 2 indicates a system event record
0x3 4
SEL Timestamp
0x7 2 0x0041Generator ID 0x0041 indicates System Software id 0x20
0x9 1 0x04 EvMRev IPMI 2.0 Event Message Revision
0xA 1 0x1F Sensor Type:OS boot Sensor type 0x1f is OS Boot as specified in the IPMI spec
0xB 1 0x00 Sensor Number
0xC 1 0x6FEvent Type [7]: 0b: indicates an assertion event [6:0]: 6Fh: indicates a Sensor-specific Discreet Type code. This means use the sensor specific offsets to interpret the event data bytes
0xD 1 0x01 Event Data 1: C: Boot Completed0000 0001b [7:6]: 00b = unspecified byte 2 event data [5:4]: 00b = unspecified byte 3 event data [3:0]: Offset from Event/Reading Code 0h: A: boot completed 1h: C: boot completed 2h: PXE boot completed 3h: Diagnostic boot completed 4h: CD-ROM boot completd 5h: ROM boot completed 6h: boot completed-boot device not specified
0xE 1 0xFF Event Data 2 Not specified per bits 7-6 in event data 1
0xF 1 0xFF Event Data 3 Not specified per bits 5-4 in event data 1

Type 0xDC Boot Up OEM Event Record

The OEM Event record for bootup does not provide much more information. Nevertheless, the type 0xDC OEM Boot up event record looks similar to this:
Offset Length (bytes) Value Field Name Description
0x0 2
SEL Record ID
0x2 1 0xDC Record Type OEM Time stamped Record (bytes 0x7-0xF are OEM Defined)0xDC: OS Boot up
0x3 4
SEL Timestamp
0x7 3 0x000137IPMI Manufacturer ID 0x137 (311d) is the IANA enterprise number for Microsoft
0xA 1
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
0xB 4
Boot Time The OS Boot time
0xF 1 0x00 Reserved Reserved

Shutdown Events
System shutdown events can cause many records to be logged to the SEL. In fact, shutdown events are usually the reason that SEL logs become unexpectedly full. Again, there is one system event record type 2, one OEM record type 0xDD for the shutdown reason code, and zero or more OEM type 0xDD records for the shutdown comment.


Type 0xDC System Shutdown Event Record


Again, the first 10 bytes of the type 0x02 System Event Record is all header information. The information relevant to the system shutdown starts at offset 0xA.


Offset Length (bytes) Value Field Name Description
0x0 2
SEL Record ID
0x2 1 0x02 Record Type 2 indicates a system event record
0x3 4
SEL Timestamp
0x7 2 0x0041 Generator ID 0x0041 indicates System Software id 0x20
0x9 1 0x04 EvMRev IPMI 2.0 Event Message Revision
0xA 1 0x20 Sensor Type:OS Stop/Shutdown Sensor type 0x20 is OS Stop/Shutdown as specified in the IPMI spec
0xB 1 0x00 Sensor Number
0xC 1 0x6F0101 1111b Event Type [7]: 0b: indicates an assertion event [6:0]: 6Fh: indicates a Sensor-specific Discreet Type code. This means use the sensor specific offsets to interpret the event data bytes
0xD 1 0x030000 0011b Event Data 1: OS Graceful Shutdown [7:6]: 00b = unspecified byte 2 event data [5:4]: 00b = unspecified byte 3 event data [3:0]: Offset from Event/Reading Code 0h: Critical stop during OS load/initialization. Unexpected error during system startup. Stopped waiting for input or power cycle/reset 1h: Run-time critical stop (aka ‘core dump’ or ‘blue screen’ 2h: OS Graceful stop (system powered up, but normal OS operation has shut down and system is awaiting reset pushbutton, power-cycle or other external input) 3h: OS Graceful Shutdown (system graceful power down by OS) 4h: Soft Shutdown initiated by PEF 5h: Agent Not Responding. Graceful shutdown request to agent via BMC did not occur due to missing or malfunctioning local agent
0xE 1 0xFF Event Data 2 Not specified per bits 7-6 in event data 1
0xF 1 0xFF Event Data 3 Not specified per bits 5-4 in event data 1


Type 0xDD Shutdown Reason OEM Event Record

The IPMI driver reads the shutdown reason code is from the DWORD registry value at HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/ReasonCode (DWORD)The reason code is then logged to the SEL with the following OEM Type 0xDD record:


Offset Length (bytes) Value Field Name Description
0x0 2
SEL Record ID
0x2 1 0xDD Record Type OEM Time stamped Record (bytes 0x7-0xF are OEM Defined)0xDD: OS Shutdown
0x3 4
SEL Timestamp
0x7 3 0x000137IPMI Manufacturer ID 0x137 (311d) is the IANA enterprise number for Microsoft
0xA 1
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
0xB 4
Shutdown Reason Shutdown Reason which is read from the registry:HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/ReasonCode (DWORD)
0xF 1 0x00 Reserved

Type 0xDD Shutdown Comment OEM Event Record

Similarly, the shutdown comment is a REG_SZ value read from the same registry key.

HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/ReasonCode (DWORD)

Whenever a user shuts down a system interactively (Start | Shutdown), the reason and comment entered are saved in the registry, and the IPMI driver logs them to the SEL. This can become problematic because as you can see below, there are only 4 bytes available for the comment per SEL entry, and the comment is a Unicode string, so it can take a lot of SEL records to save the whole comment. The sequence number is used to concatenate all the SEL records used to save the comment.


Offset Length (bytes) Value Field Name Description
0x0 2
SEL Record ID
0x2 1 0xDD Record Type OEM Time stamped Record (bytes 0x7-0xF are OEM Defined)0xDD: OS Shutdown
0x3 4
SEL Timestamp
0x7 3 0x000137IPMI Manufacturer ID 0x137 (311d) is the IANA enterprise number for Microsoft
0xA 1
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
0xB 4
Shutdown Reason Shutdown Comment which is read from the registry:HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/Comment (REG_SZ)
0xF 1 0x00 Reserved

Disabling the Type 0xDD Shutdown Comment records

Because the shutdown comment can take so many records to log, it can cause the SEL to become full very quickly. Microsoft released a hotfix to allow for disabling the shutdown log comments for Windows Server 2008 SP1.

This hotfix can be found at http://support.microsoft.com/kb/962920

Starting with Windows Server 2008 R2, the functionality is present in the OS without applying the hotfix. So for windows Server 2008 SP1, you must apply the hotfix before modifying the registry, but for Windows Server 2008 SP2 and later you can modify the registry without applying the hotfix.

1.Open regedit and navigate to HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\IPMI
2.Create a new DWORD Value named DisableSELShutdownComment
3.Right-click DisableSELShutdownComment, and then click Modify.
4.In the Value data box, type 1, and then click OK.
5.Close regedit and reboot


Bugcheck Events

A system bugcheck (bluescreen) will cause six records to be written to the event log. A type 0x2 System Event records is written, followed by five type 0xDE OEM event records: One for the bugcheck code, and one for each of the four parameters to the bugcheck.




Type 0x02 Bugcheck System Event Record

Like the other Type 0x02 System event records logged by the IPMI driver, the relevant information starts after the header at offset 0xA. In the case of the bugcheck, the sensor type is 0x20 which is the same as the Shutdown system event record, but the event data byte at offset 0xD indicates runtime critical stop.


Offset Length (bytes) Value Field Name Description
0x0 2
SEL Record ID
0x2 1 0x02 Record Type 2 indicates a system event record
0x3 4
SEL Timestamp
0x7 2 0x0041 Generator ID 0x0041 indicates System Software id 0x20
0x9 1 0x04 EvMRev IPMI 2.0 Event Message Revision
0xA 1 0x20 Sensor Type: OS Stop/Shutdown Sensor type 0x20 is OS Stop/Shutdown as specified in the IPMI spec
0xB 1 0x00 Sensor Number
0xC 1 0x6F0101 1111b Event Type [7] 0b: indicates an assertion event [6:0] 6Fh: indicates a Sensor-specific Discreet Type code. This means use the sensor specific offsets to interpret the event data bytes
0xD 1 0x010000 0001b Event Data 1: Run-time Critical Stop [7:6]: 00b = unspecified byte 2 event data [5:4]: 00b = unspecified byte 3 event data [3:0]: Offset from Event/Reading Code 0h: Critical stop during OS load/initialization. Unexpected error during system startup. Stopped waiting for input or power cycle/reset 1h: Run-time critical stop (aka ‘core dump’ or ‘blue screen’ 2h: OS Graceful stop (system powered up, but normal OS operation has shut down and system is awaiting reset pushbutton, power-cycle or other external input) 3h: OS Graceful Shutdown (system graceful power down by OS) 4h: Soft Shutdown initiated by PEF 5h: Agent Not Responding. Graceful shutdown request to agent via BMC did not occur due to missing or malfunctioning local agent
0xE 1 0xFF Event Data 2 Not specified per bits 7-6 in event data 1
0xF 1 0xFF Event Data 3 Not specified per bits 5-4 in event data 1

Type 0xDE Bugcheck Code OEM Event Record


The bugcheck code is the stop code displayed on the bluescreen. It is used to indicate the type of failure that caused the bugcheck. The OEM Type 0xDE event record saves the bugcheck code to the SEL.


Offset Length (bytes) Value Field Name Description
0x0 2
SEL Record ID
0x2 1 0xDE Record Type OEM Time stamped Record (bytes 0x7-0xF are OEM Defined)0xDE: OS Bugcheck
0x3 4
SEL Timestamp
0x7 3 0x000137IPMI Manufacturer ID 0x137 (311d) is the IANA enterprise number for Microsoft
0xA 1
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
0xB 4
Bugcheck Stop Code Stop code listed on the BSOD
0xF 1
System Architecture 0x00: 32bit OS0x01: 64bit OS

Type 0xDE Bugcheck Parameter OEM Event Record


When the system encounters a condition or error it can’t handle, a system call is made to bugcheck the system. In addition to the bugcheck code described above, four parameters are passed to further describe the failure. This information can be used to debug the system and figure out why the crash occurred. The OEM Type 0xDE Bugcheck Parameter Event record is described below:


Offset Length (bytes) Value Field Name Description
0x0 2
SEL Record ID
0x2 1 0xDE Record Type OEM Time stamped Record (bytes 0x7-0xF are OEM Defined)0xDE: OS Bugcheck
0x3 4
SEL Timestamp
0x7 3 0x000137IPMI Manufacturer ID 0x137 (311d) is the IANA enterprise number for Microsoft
0xA 1
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
0xB 4
Bugcheck Parameter Argument to Bugcheck. These are the same arguments listed on the BSOD
0xF 1
System Architecture 0x00: 32bit OS0x01: 64bit OS

BMC SEL Log

$
0
0
Revision 6 posted to Systems Management - Wiki by Peter Tsai on 10/20/2010 2:25:48 PM
What are all These Baseboard Management Controller (BMC) System Event Log(SEL) Records Logged by Windows?

Introduction
Did you ever notice a bunch of entries in the Baseboard Management Controller’s (BMC) System Event Log (SEL) that seem to be coming from Windows? Not the Windows system event log, but rather the SEL that is accessible from the Baseboard Management Controller (BMC).

It may seem that this log is only intended for hardware events and errors, but there is an OS driver that also logs events to it. Starting with Windows Server 2003 R2, Microsoft began shipping the Intelligent Platform Management Interface (IPMI) driver. One of its functions is to log certain OS events to the SEL. The IPMI driver writes multiple records to the SEL for these three types of events: boot up, shutdown and bugcheck events.

The BMC SEL log is accessible via the sideband BMC interface or the Dell Remote Access Controller (DRAC) console and these log records can be useful in troubleshooting a failed system. Each SEL record packs a lot of information in only 16 bytes, and given their limited size, the abbreviated identifiers can be hard to decode.


Decoding the SEL Record


Each SEL record is 16 bytes in length and the format is defined in the IPMI spec. The table below summarizes the format of records in the SEL log. Each record contains information relevant to the OS events. For example, the Record Type field indicates whether a record is a System Event Record or an OEM defined event record. System Event records are defined in the IPMI Specification, and OEM records are defined by the OEM.

Each event logged by the IPMI driver (whether boot up, shutdown, or bugcheck) will cause one system event record and one or more OEM record to be logged to the SEL. You have to decode the whole record (using Record Type, Sensor Type, Event Type, and Event Data fields to decode) to determine what you are looking at. There are many types of records logged by the BMC, but the IPMI driver only logs 4 record types for 3 categories of events:Bootup Event==============Type 2 System Event RecordType DC OEM Timestamped Event RecordShutdown Event================Type 2 System Event RecordType DD OEM Timestamped Event Record for Shutdown Reason Type DD OEM Timestamped Event Record for Shotdown CommentsBugcheck Event================Type 2 System Event RecordType DE OEM Timestamped Event Record for the Bugcheck code Type DE OEM Timestamped Event Records for the bugcheck parameters

The system event record format is defined in the table below.


OffsetLength(bytes) FieldDescription
0x0 2 SEL Record ID 16 bit identifier 0000h: Reserved 0001h to FFFEh: SEL Record ID FFFFh: Reserved
0x2 1 Record Type 02h: System Event Record C0h to DFh: OEM Time stamped Record (bytes 8-16 are OEM Defined) E0h to FFh: OEM Non-Time stamped Record (bytes 4-16 are OEM Defined)
0x3 4 SEL Timestamp Time when event was logged. Least Significant byte first
0x72 Generator ID Byte 0 (LSB): System Software ID or IPMB Slave Address=============[7:1]: System Software ID, or7-bit I2C slave address[0]: 0b means bits 7-1 are the IPMB Slave Address1b means bits 7-1 are the System Software IDByte 1 (MSB): Channel/LUN==============[7:4]: Channel Number. Must be 0000b if the event was received via the system interface, primary IPMB, or internally generated by the BMC[3:2]: Reserved. Must be 00b[1:0]: IPMB device LUN if Byte 0 holds a slave address00b if Byte 0 holds a System Software ID
0x9 1 EvMRev 03h: IPMI 1.0 04h: IPMI 2.0
0xA 1 Sensor Type Sensor type code as specified in the IPMI spec
0xB 1 Sensor Number Number of the sensor that generated the event
0xC 1 Event Type [7]: Event Direction0b: Assertion Event1b: De-assertion Event[6:0]: 7 bit Event/Reading Type Code(See Table 42-1 in IPMI spec)00h: Event/Reading Type unspecified01h: Threshold(See Table 42-2 in IPMI spec)02h-0Ch: Generic Discrete(See Table 42-2 in IPMI spec)6Fh: Sensor-Specific Discrete(See table 42-3 in IPMI spec)70h-7Fh: OEM Discrete. Indicates the discrete state info is specific to the OEM identified by the Manufacturer ID for the IPMI device that is providing access to the sensor
0xD 1 Event Data 1: Event Field Contents. See Table 29-6 in IPMI spec
0xE
Event Data 2 Event Field Contents. See Table 29-6 in IPMI spec
0xF
Event Data 3 Event Field Contents. See Table 29-6 in IPMI spec

Boot Up Events
During an OS system boot, two records are written to the SEL. The first is a type 2 System Event, and the second is an OEM event.

Type 0x02 Boot Up Record

The first 10 bytes of the type 2 System boot up record are general header information, and the boot-relevant information starts at offset 0xA.


Offset Length (bytes) Value Field Name Description
0x0 2
SEL Record ID
0x2 1 0x02 Record Type 2 indicates a system event record
0x3 4
SEL Timestamp
0x7 2 0x0041Generator ID 0x0041 indicates System Software id 0x20
0x9 1 0x04 EvMRev IPMI 2.0 Event Message Revision
0xA 1 0x1F Sensor Type:OS boot Sensor type 0x1f is OS Boot as specified in the IPMI spec
0xB 1 0x00 Sensor Number
0xC 1 0x6FEvent Type [7]: 0b: indicates an assertion event [6:0]: 6Fh: indicates a Sensor-specific Discreet Type code. This means use the sensor specific offsets to interpret the event data bytes
0xD 1 0x01 Event Data 1: C: Boot Completed0000 0001b [7:6]: 00b = unspecified byte 2 event data [5:4]: 00b = unspecified byte 3 event data [3:0]: Offset from Event/Reading Code 0h: A: boot completed 1h: C: boot completed 2h: PXE boot completed 3h: Diagnostic boot completed 4h: CD-ROM boot completd 5h: ROM boot completed 6h: boot completed-boot device not specified
0xE 1 0xFF Event Data 2 Not specified per bits 7-6 in event data 1
0xF 1 0xFF Event Data 3 Not specified per bits 5-4 in event data 1

Type 0xDC Boot Up OEM Event Record

The OEM Event record for bootup does not provide much more information. Nevertheless, the type 0xDC OEM Boot up event record looks similar to this:
Offset Length (bytes) Value Field Name Description
0x0 2
SEL Record ID
0x2 1 0xDC Record Type OEM Time stamped Record (bytes 0x7-0xF are OEM Defined)0xDC: OS Boot up
0x3 4
SEL Timestamp
0x7 3 0x000137IPMI Manufacturer ID 0x137 (311d) is the IANA enterprise number for Microsoft
0xA 1
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
0xB 4
Boot Time The OS Boot time
0xF 1 0x00 Reserved Reserved

Shutdown Events
System shutdown events can cause many records to be logged to the SEL. In fact, shutdown events are usually the reason that SEL logs become unexpectedly full. Again, there is one system event record type 2, one OEM record type 0xDD for the shutdown reason code, and zero or more OEM type 0xDD records for the shutdown comment.


Type 0xDC System Shutdown Event Record


Again, the first 10 bytes of the type 0x02 System Event Record is all header information. The information relevant to the system shutdown starts at offset 0xA.


Offset Length (bytes) Value Field Name Description
0x0 2
SEL Record ID
0x2 1 0x02 Record Type 2 indicates a system event record
0x3 4
SEL Timestamp
0x7 2 0x0041 Generator ID 0x0041 indicates System Software id 0x20
0x9 1 0x04 EvMRev IPMI 2.0 Event Message Revision
0xA 1 0x20 Sensor Type:OS Stop/Shutdown Sensor type 0x20 is OS Stop/Shutdown as specified in the IPMI spec
0xB 1 0x00 Sensor Number
0xC 1 0x6F0101 1111b Event Type [7]: 0b: indicates an assertion event [6:0]: 6Fh: indicates a Sensor-specific Discreet Type code. This means use the sensor specific offsets to interpret the event data bytes
0xD 1 0x030000 0011b Event Data 1: OS Graceful Shutdown [7:6]: 00b = unspecified byte 2 event data [5:4]: 00b = unspecified byte 3 event data [3:0]: Offset from Event/Reading Code 0h: Critical stop during OS load/initialization. Unexpected error during system startup. Stopped waiting for input or power cycle/reset 1h: Run-time critical stop (aka ‘core dump’ or ‘blue screen’ 2h: OS Graceful stop (system powered up, but normal OS operation has shut down and system is awaiting reset pushbutton, power-cycle or other external input) 3h: OS Graceful Shutdown (system graceful power down by OS) 4h: Soft Shutdown initiated by PEF 5h: Agent Not Responding. Graceful shutdown request to agent via BMC did not occur due to missing or malfunctioning local agent
0xE 1 0xFF Event Data 2 Not specified per bits 7-6 in event data 1
0xF 1 0xFF Event Data 3 Not specified per bits 5-4 in event data 1


Type 0xDD Shutdown Reason OEM Event Record

The IPMI driver reads the shutdown reason code is from the DWORD registry value at HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/ReasonCode (DWORD)The reason code is then logged to the SEL with the following OEM Type 0xDD record:


Offset Length (bytes) Value Field Name Description
0x0 2
SEL Record ID
0x2 1 0xDD Record Type OEM Time stamped Record (bytes 0x7-0xF are OEM Defined)0xDD: OS Shutdown
0x3 4
SEL Timestamp
0x7 3 0x000137IPMI Manufacturer ID 0x137 (311d) is the IANA enterprise number for Microsoft
0xA 1
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
0xB 4
Shutdown Reason Shutdown Reason which is read from the registry:HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/ReasonCode (DWORD)
0xF 1 0x00 Reserved

Type 0xDD Shutdown Comment OEM Event Record

Similarly, the shutdown comment is a REG_SZ value read from the same registry key.

HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/ReasonCode (DWORD)

Whenever a user shuts down a system interactively (Start | Shutdown), the reason and comment entered are saved in the registry, and the IPMI driver logs them to the SEL. This can become problematic because as you can see below, there are only 4 bytes available for the comment per SEL entry, and the comment is a Unicode string, so it can take a lot of SEL records to save the whole comment. The sequence number is used to concatenate all the SEL records used to save the comment.


Offset Length (bytes) Value Field Name Description
0x0 2
SEL Record ID
0x2 1 0xDD Record Type OEM Time stamped Record (bytes 0x7-0xF are OEM Defined)0xDD: OS Shutdown
0x3 4
SEL Timestamp
0x7 3 0x000137IPMI Manufacturer ID 0x137 (311d) is the IANA enterprise number for Microsoft
0xA 1
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
0xB 4
Shutdown Reason Shutdown Comment which is read from the registry:HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/Comment (REG_SZ)
0xF 1 0x00 Reserved

Disabling the Type 0xDD Shutdown Comment records

Because the shutdown comment can take so many records to log, it can cause the SEL to become full very quickly. Microsoft released a hotfix to allow for disabling the shutdown log comments for Windows Server 2008 SP1.

This hotfix can be found at http://support.microsoft.com/kb/962920

Starting with Windows Server 2008 R2, the functionality is present in the OS without applying the hotfix. So for windows Server 2008 SP1, you must apply the hotfix before modifying the registry, but for Windows Server 2008 SP2 and later you can modify the registry without applying the hotfix.

1.Open regedit and navigate to HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\IPMI
2.Create a new DWORD Value named DisableSELShutdownComment
3.Right-click DisableSELShutdownComment, and then click Modify.
4.In the Value data box, type 1, and then click OK.
5.Close regedit and reboot


Bugcheck Events

A system bugcheck (bluescreen) will cause six records to be written to the event log. A type 0x2 System Event records is written, followed by five type 0xDE OEM event records: One for the bugcheck code, and one for each of the four parameters to the bugcheck.




Type 0x02 Bugcheck System Event Record

Like the other Type 0x02 System event records logged by the IPMI driver, the relevant information starts after the header at offset 0xA. In the case of the bugcheck, the sensor type is 0x20 which is the same as the Shutdown system event record, but the event data byte at offset 0xD indicates runtime critical stop.


Offset Length (bytes) Value Field Name Description
0x0 2
SEL Record ID
0x2 1 0x02 Record Type 2 indicates a system event record
0x3 4
SEL Timestamp
0x7 2 0x0041 Generator ID 0x0041 indicates System Software id 0x20
0x9 1 0x04 EvMRev IPMI 2.0 Event Message Revision
0xA 1 0x20 Sensor Type: OS Stop/Shutdown Sensor type 0x20 is OS Stop/Shutdown as specified in the IPMI spec
0xB 1 0x00 Sensor Number
0xC 1 0x6F0101 1111b Event Type [7] 0b: indicates an assertion event [6:0] 6Fh: indicates a Sensor-specific Discreet Type code. This means use the sensor specific offsets to interpret the event data bytes
0xD 1 0x010000 0001b Event Data 1: Run-time Critical Stop [7:6]: 00b = unspecified byte 2 event data [5:4]: 00b = unspecified byte 3 event data [3:0]: Offset from Event/Reading Code 0h: Critical stop during OS load/initialization. Unexpected error during system startup. Stopped waiting for input or power cycle/reset 1h: Run-time critical stop (aka ‘core dump’ or ‘blue screen’ 2h: OS Graceful stop (system powered up, but normal OS operation has shut down and system is awaiting reset pushbutton, power-cycle or other external input) 3h: OS Graceful Shutdown (system graceful power down by OS) 4h: Soft Shutdown initiated by PEF 5h: Agent Not Responding. Graceful shutdown request to agent via BMC did not occur due to missing or malfunctioning local agent
0xE 1 0xFF Event Data 2 Not specified per bits 7-6 in event data 1
0xF 1 0xFF Event Data 3 Not specified per bits 5-4 in event data 1

Type 0xDE Bugcheck Code OEM Event Record


The bugcheck code is the stop code displayed on the bluescreen. It is used to indicate the type of failure that caused the bugcheck. The OEM Type 0xDE event record saves the bugcheck code to the SEL.


Offset Length (bytes) Value Field Name Description
0x0 2
SEL Record ID
0x2 1 0xDE Record Type OEM Time stamped Record (bytes 0x7-0xF are OEM Defined)0xDE: OS Bugcheck
0x3 4
SEL Timestamp
0x7 3 0x000137IPMI Manufacturer ID 0x137 (311d) is the IANA enterprise number for Microsoft
0xA 1
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
0xB 4
Bugcheck Stop Code Stop code listed on the BSOD
0xF 1
System Architecture 0x00: 32bit OS0x01: 64bit OS

Type 0xDE Bugcheck Parameter OEM Event Record


When the system encounters a condition or error it can’t handle, a system call is made to bugcheck the system. In addition to the bugcheck code described above, four parameters are passed to further describe the failure. This information can be used to debug the system and figure out why the crash occurred. The OEM Type 0xDE Bugcheck Parameter Event record is described below:


Offset Length (bytes) Value Field Name Description
0x0 2
SEL Record ID
0x2 1 0xDE Record Type OEM Time stamped Record (bytes 0x7-0xF are OEM Defined)0xDE: OS Bugcheck
0x3 4
SEL Timestamp
0x7 3 0x000137IPMI Manufacturer ID 0x137 (311d) is the IANA enterprise number for Microsoft
0xA 1
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
0xB 4
Bugcheck Parameter Argument to Bugcheck. These are the same arguments listed on the BSOD
0xF 1
System Architecture 0x00: 32bit OS0x01: 64bit OS

BMC SEL Log

$
0
0
Revision 5 posted to Systems Management - Wiki by Peter Tsai on 10/20/2010 2:18:41 PM
What are all These Baseboard Management Controller (BMC) System Event Log(SEL) Records Logged by Windows?

Introduction
Did you ever notice a bunch of entries in the Baseboard Management Controller’s (BMC) System Event Log (SEL) that seem to be coming from Windows? Not the Windows system event log, but rather the SEL that is accessible from the Baseboard Management Controller (BMC).

It may seem that this log is only intended for hardware events and errors, but there is an OS driver that also logs events to it. Starting with Windows Server 2003 R2, Microsoft began shipping the Intelligent Platform Management Interface (IPMI) driver. One of its functions is to log certain OS events to the SEL. The IPMI driver writes multiple records to the SEL for these three types of events: boot up, shutdown and bugcheck events.

The BMC SEL log is accessible via the sideband BMC interface or the Dell Remote Access Controller (DRAC) console and these log records can be useful in troubleshooting a failed system. Each SEL record packs a lot of information in only 16 bytes, and given their limited size, the abbreviated identifiers can be hard to decode.


Decoding the SEL Record


Each SEL record is 16 bytes in length and the format is defined in the IPMI spec. The table below summarizes the format of records in the SEL log. Each record contains nformation relevant to the OS events. For example, the Record Type field indicates whether a record is a System Event Record or an OEM defined event record. System Event records are defined in the IPMI Specification, and OEM records are defined by the OEM.

Each event logged by the IPMI driver (whether boot up, shutdown, or bugcheck) will cause one system event record and one or more OEM record to be logged to the SEL. The system event record format is defined in the table below.



OffsetLength(bytes) FieldDescription
0x0 2 SEL Record ID 16 bit identifier 0000h: Reserved 0001h to FFFEh: SEL Record ID FFFFh: Reserved
0x2 1 Record Type 02h: System Event Record C0h to DFh: OEM Time stamped Record (bytes 8-16 are OEM Defined) E0h to FFh: OEM Non-Time stamped Record (bytes 4-16 are OEM Defined)
0x3 4 SEL Timestamp Time when event was logged. Least Significant byte first
0x72 Generator ID Byte 0 (LSB): System Software ID or IPMB Slave Address=============[7:1]: System Software ID, or7-bit I2C slave address[0]: 0b means bits 7-1 are the IPMB Slave Address1b means bits 7-1 are the System Software IDByte 1 (MSB): Channel/LUN==============[7:4]: Channel Number. Must be 0000b if the event was received via the system interface, primary IPMB, or internally generated by the BMC[3:2]: Reserved. Must be 00b[1:0]: IPMB device LUN if Byte 0 holds a slave address00b if Byte 0 holds a System Software ID
0x9 1 EvMRev 03h: IPMI 1.0 04h: IPMI 2.0
0xA 1 Sensor Type Sensor type code as specified in the IPMI spec
0xB 1 Sensor Number Number of the sensor that generated the event
0xC 1 Event Type [7]: Event Direction0b: Assertion Event1b: De-assertion Event[6:0]: 7 bit Event/Reading Type Code(See Table 42-1 in IPMI spec)00h: Event/Reading Type unspecified01h: Threshold(See Table 42-2 in IPMI spec)02h-0Ch: Generic Discrete(See Table 42-2 in IPMI spec)6Fh: Sensor-Specific Discrete(See table 42-3 in IPMI spec)70h-7Fh: OEM Discrete. Indicates the discrete state info is specific to the OEM identified by the Manufacturer ID for the IPMI device that is providing access to the sensor
0xD 1 Event Data 1: Event Field Contents. See Table 29-6 in IPMI spec
0xE
Event Data 2 Event Field Contents. See Table 29-6 in IPMI spec
0xF
Event Data 3 Event Field Contents. See Table 29-6 in IPMI spec

Boot Up Events
During an OS system boot, two records are written to the SEL. The first is a type 2 System Event, and the second is an OEM event.

Type 0x02 Boot Up Record

The first 10 bytes of the type 2 System boot up record are general header information, and the boot-relevant information starts at offset 0xA.


Offset Length (bytes) Value Field Name Description
0x0 2
SEL Record ID
0x2 1 0x02 Record Type 2 indicates a system event record
0x3 4
SEL Timestamp
0x7 2 0x0041Generator ID 0x0041 indicates System Software id 0x20
0x9 1 0x04 EvMRev IPMI 2.0 Event Message Revision
0xA 1 0x1F Sensor Type:OS boot Sensor type 0x1f is OS Boot as specified in the IPMI spec
0xB 1 0x00 Sensor Number
0xC 1 0x6FEvent Type [7]: 0b: indicates an assertion event [6:0]: 6Fh: indicates a Sensor-specific Discreet Type code. This means use the sensor specific offsets to interpret the event data bytes
0xD 1 0x01 Event Data 1: C: Boot Completed0000 0001b [7:6]: 00b = unspecified byte 2 event data [5:4]: 00b = unspecified byte 3 event data [3:0]: Offset from Event/Reading Code 0h: A: boot completed 1h: C: boot completed 2h: PXE boot completed 3h: Diagnostic boot completed 4h: CD-ROM boot completd 5h: ROM boot completed 6h: boot completed-boot device not specified
0xE 1 0xFF Event Data 2 Not specified per bits 7-6 in event data 1
0xF 1 0xFF Event Data 3 Not specified per bits 5-4 in event data 1

Type 0xDC Boot Up OEM Event Record

The OEM Event record for bootup does not provide much more information. Nevertheless, the type 0xDC OEM Boot up event record looks similar to this:
Offset Length (bytes) Value Field Name Description
0x0 2
SEL Record ID
0x2 1 0xDC Record Type OEM Time stamped Record (bytes 0x7-0xF are OEM Defined)0xDC: OS Boot up
0x3 4
SEL Timestamp
0x7 3 0x000137IPMI Manufacturer ID 0x137 (311d) is the IANA enterprise number for Microsoft
0xA 1
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
0xB 4
Boot Time The OS Boot time
0xF 1 0x00 Reserved Reserved

Shutdown Events
System shutdown events can cause many records to be logged to the SEL. In fact, shutdown events are usually the reason that SEL logs become unexpectedly full. Again, there is one system event record type 2, one OEM record type 0xDD for the shutdown reason code, and zero or more OEM type 0xDD records for the shutdown comment.


Type 0xDC System Shutdown Event Record


Again, the first 10 bytes of the type 0x02 System Event Record is all header information. The information relevant to the system shutdown starts at offset 0xA.


Offset Length (bytes) Value Field Name Description
0x0 2
SEL Record ID
0x2 1 0x02 Record Type 2 indicates a system event record
0x3 4
SEL Timestamp
0x7 2 0x0041 Generator ID 0x0041 indicates System Software id 0x20
0x9 1 0x04 EvMRev IPMI 2.0 Event Message Revision
0xA 1 0x20 Sensor Type:OS Stop/Shutdown Sensor type 0x20 is OS Stop/Shutdown as specified in the IPMI spec
0xB 1 0x00 Sensor Number
0xC 1 0x6F0101 1111b Event Type [7]: 0b: indicates an assertion event [6:0]: 6Fh: indicates a Sensor-specific Discreet Type code. This means use the sensor specific offsets to interpret the event data bytes
0xD 1 0x030000 0011b Event Data 1: OS Graceful Shutdown [7:6]: 00b = unspecified byte 2 event data [5:4]: 00b = unspecified byte 3 event data [3:0]: Offset from Event/Reading Code 0h: Critical stop during OS load/initialization. Unexpected error during system startup. Stopped waiting for input or power cycle/reset 1h: Run-time critical stop (aka ‘core dump’ or ‘blue screen’ 2h: OS Graceful stop (system powered up, but normal OS operation has shut down and system is awaiting reset pushbutton, power-cycle or other external input) 3h: OS Graceful Shutdown (system graceful power down by OS) 4h: Soft Shutdown initiated by PEF 5h: Agent Not Responding. Graceful shutdown request to agent via BMC did not occur due to missing or malfunctioning local agent
0xE 1 0xFF Event Data 2 Not specified per bits 7-6 in event data 1
0xF 1 0xFF Event Data 3 Not specified per bits 5-4 in event data 1


Type 0xDD Shutdown Reason OEM Event Record

The IPMI driver reads the shutdown reason code is from the DWORD registry value at HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/ReasonCode (DWORD)The reason code is then logged to the SEL with the following OEM Type 0xDD record:


Offset Length (bytes) Value Field Name Description
0x0 2
SEL Record ID
0x2 1 0xDD Record Type OEM Time stamped Record (bytes 0x7-0xF are OEM Defined)0xDD: OS Shutdown
0x3 4
SEL Timestamp
0x7 3 0x000137IPMI Manufacturer ID 0x137 (311d) is the IANA enterprise number for Microsoft
0xA 1
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
0xB 4
Shutdown Reason Shutdown Reason which is read from the registry:HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/ReasonCode (DWORD)
0xF 1 0x00 Reserved

Type 0xDD Shutdown Comment OEM Event Record

Similarly, the shutdown comment is a REG_SZ value read from the same registry key.

HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/ReasonCode (DWORD)

Whenever a user shuts down a system interactively (Start | Shutdown), the reason and comment entered are saved in the registry, and the IPMI driver logs them to the SEL. This can become problematic because as you can see below, there are only 4 bytes available for the comment per SEL entry, and the comment is a Unicode string, so it can take a lot of SEL records to save the whole comment. The sequence number is used to concatenate all the SEL records used to save the comment.


Offset Length (bytes) Value Field Name Description
0x0 2
SEL Record ID
0x2 1 0xDD Record Type OEM Time stamped Record (bytes 0x7-0xF are OEM Defined)0xDD: OS Shutdown
0x3 4
SEL Timestamp
0x7 3 0x000137IPMI Manufacturer ID 0x137 (311d) is the IANA enterprise number for Microsoft
0xA 1
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
0xB 4
Shutdown Reason Shutdown Comment which is read from the registry:HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/Comment (REG_SZ)
0xF 1 0x00 Reserved

Disabling the Type 0xDD Shutdown Comment records

Because the shutdown comment can take so many records to log, it can cause the SEL to become full very quickly. Microsoft released a hotfix to allow for disabling the shutdown log comments for Windows Server 2008 SP1.

This hotfix can be found at http://support.microsoft.com/kb/962920

Starting with Windows Server 2008 R2, the functionality is present in the OS without applying the hotfix. So for windows Server 2008 SP1, you must apply the hotfix before modifying the registry, but for Windows Server 2008 SP2 and later you can modify the registry without applying the hotfix.

1.Open regedit and navigate to HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\IPMI
2.Create a new DWORD Value named DisableSELShutdownComment
3.Right-click DisableSELShutdownComment, and then click Modify.
4.In the Value data box, type 1, and then click OK.
5.Close regedit and reboot


Bugcheck Events

A system bugcheck (bluescreen) will cause six records to be written to the event log. A type 0x2 System Event records is written, followed by five type 0xDE OEM event records: One for the bugcheck code, and one for each of the four parameters to the bugcheck.




Type 0x02 Bugcheck System Event Record

Like the other Type 0x02 System event records logged by the IPMI driver, the relevant information starts after the header at offset 0xA. In the case of the bugcheck, the sensor type is 0x20 which is the same as the Shutdown system event record, but the event data byte at offset 0xD indicates runtime critical stop.


Offset Length (bytes) Value Field Name Description
0x0 2
SEL Record ID
0x2 1 0x02 Record Type 2 indicates a system event record
0x3 4
SEL Timestamp
0x7 2 0x0041 Generator ID 0x0041 indicates System Software id 0x20
0x9 1 0x04 EvMRev IPMI 2.0 Event Message Revision
0xA 1 0x20 Sensor Type: OS Stop/Shutdown Sensor type 0x20 is OS Stop/Shutdown as specified in the IPMI spec
0xB 1 0x00 Sensor Number
0xC 1 0x6F0101 1111b Event Type [7] 0b: indicates an assertion event [6:0] 6Fh: indicates a Sensor-specific Discreet Type code. This means use the sensor specific offsets to interpret the event data bytes
0xD 1 0x010000 0001b Event Data 1: Run-time Critical Stop [7:6]: 00b = unspecified byte 2 event data [5:4]: 00b = unspecified byte 3 event data [3:0]: Offset from Event/Reading Code 0h: Critical stop during OS load/initialization. Unexpected error during system startup. Stopped waiting for input or power cycle/reset 1h: Run-time critical stop (aka ‘core dump’ or ‘blue screen’ 2h: OS Graceful stop (system powered up, but normal OS operation has shut down and system is awaiting reset pushbutton, power-cycle or other external input) 3h: OS Graceful Shutdown (system graceful power down by OS) 4h: Soft Shutdown initiated by PEF 5h: Agent Not Responding. Graceful shutdown request to agent via BMC did not occur due to missing or malfunctioning local agent
0xE 1 0xFF Event Data 2 Not specified per bits 7-6 in event data 1
0xF 1 0xFF Event Data 3 Not specified per bits 5-4 in event data 1

Type 0xDE Bugcheck Code OEM Event Record


The bugcheck code is the stop code displayed on the bluescreen. It is used to indicate the type of failure that caused the bugcheck. The OEM Type 0xDE event record saves the bugcheck code to the SEL.


Offset Length (bytes) Value Field Name Description
0x0 2
SEL Record ID
0x2 1 0xDE Record Type OEM Time stamped Record (bytes 0x7-0xF are OEM Defined)0xDE: OS Bugcheck
0x3 4
SEL Timestamp
0x7 3 0x000137IPMI Manufacturer ID 0x137 (311d) is the IANA enterprise number for Microsoft
0xA 1
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
0xB 4
Bugcheck Stop Code Stop code listed on the BSOD
0xF 1
System Architecture 0x00: 32bit OS0x01: 64bit OS

Type 0xDE Bugcheck Parameter OEM Event Record


When the system encounters a condition or error it can’t handle, a system call is made to bugcheck the system. In addition to the bugcheck code described above, four parameters are passed to further describe the failure. This information can be used to debug the system and figure out why the crash occurred. The OEM Type 0xDE Bugcheck Parameter Event record is described below:


Offset Length (bytes) Value Field Name Description
0x0 2
SEL Record ID
0x2 1 0xDE Record Type OEM Time stamped Record (bytes 0x7-0xF are OEM Defined)0xDE: OS Bugcheck
0x3 4
SEL Timestamp
0x7 3 0x000137IPMI Manufacturer ID 0x137 (311d) is the IANA enterprise number for Microsoft
0xA 1
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
0xB 4
Bugcheck Parameter Argument to Bugcheck. These are the same arguments listed on the BSOD
0xF 1
System Architecture 0x00: 32bit OS0x01: 64bit OS

BMC SEL Log

$
0
0
Revision 4 posted to Systems Management - Wiki by Peter Tsai on 10/20/2010 2:17:57 PM
What are all These Baseboard Management Controller (BMC) System Event Log(SEL) Records Logged by Windows?
Introduction
Did you ever notice a bunch of entries in the Baseboard Management Controller’s (BMC) System Event Log (SEL) that seem to be coming from Windows? Not the Windows system event log, but rather the SEL that is accessible from the Baseboard Management Controller (BMC).

It may seem that this log is only intended for hardware events and errors, but there is an OS driver that also logs events to it. Starting with Windows Server 2003 R2, Microsoft began shipping the Intelligent Platform Management Interface (IPMI) driver. One of its functions is to log certain OS events to the SEL. The IPMI driver writes multiple records to the SEL for these three types of events: boot up, shutdown and bugcheck events.

The BMC SEL log is accessible via the sideband BMC interface or the Dell Remote Access Controller (DRAC) console and these log records can be useful in troubleshooting a failed system. Each SEL record packs a lot of information in only 16 bytes, and given their limited size, the abbreviated identifiers can be hard to decode.


Decoding the SEL Record


Each SEL record is 16 bytes in length and the format is defined in the IPMI spec. The table below summarizes the format of records in the SEL log. Each record contains nformation relevant to the OS events. For example, the Record Type field indicates whether a record is a System Event Record or an OEM defined event record. System Event records are defined in the IPMI Specification, and OEM records are defined by the OEM.

Each event logged by the IPMI driver (whether boot up, shutdown, or bugcheck) will cause one system event record and one or more OEM record to be logged to the SEL. The system event record format is defined in the table below.



OffsetLength(bytes) FieldDescription
0x0 2 SEL Record ID 16 bit identifier 0000h: Reserved 0001h to FFFEh: SEL Record ID FFFFh: Reserved
0x2 1 Record Type 02h: System Event Record C0h to DFh: OEM Time stamped Record (bytes 8-16 are OEM Defined) E0h to FFh: OEM Non-Time stamped Record (bytes 4-16 are OEM Defined)
0x3 4 SEL Timestamp Time when event was logged. Least Significant byte first
0x72 Generator ID Byte 0 (LSB): System Software ID or IPMB Slave Address=============[7:1]: System Software ID, or7-bit I2C slave address[0]: 0b means bits 7-1 are the IPMB Slave Address1b means bits 7-1 are the System Software IDByte 1 (MSB): Channel/LUN==============[7:4]: Channel Number. Must be 0000b if the event was received via the system interface, primary IPMB, or internally generated by the BMC[3:2]: Reserved. Must be 00b[1:0]: IPMB device LUN if Byte 0 holds a slave address00b if Byte 0 holds a System Software ID
0x9 1 EvMRev 03h: IPMI 1.0 04h: IPMI 2.0
0xA 1 Sensor Type Sensor type code as specified in the IPMI spec
0xB 1 Sensor Number Number of the sensor that generated the event
0xC 1 Event Type [7]: Event Direction0b: Assertion Event1b: De-assertion Event[6:0]: 7 bit Event/Reading Type Code(See Table 42-1 in IPMI spec)00h: Event/Reading Type unspecified01h: Threshold(See Table 42-2 in IPMI spec)02h-0Ch: Generic Discrete(See Table 42-2 in IPMI spec)6Fh: Sensor-Specific Discrete(See table 42-3 in IPMI spec)70h-7Fh: OEM Discrete. Indicates the discrete state info is specific to the OEM identified by the Manufacturer ID for the IPMI device that is providing access to the sensor
0xD 1 Event Data 1: Event Field Contents. See Table 29-6 in IPMI spec
0xE
Event Data 2 Event Field Contents. See Table 29-6 in IPMI spec
0xF
Event Data 3 Event Field Contents. See Table 29-6 in IPMI spec

Boot Up Events
During an OS system boot, two records are written to the SEL. The first is a type 2 System Event, and the second is an OEM event.

Type 0x02 Boot Up Record

The first 10 bytes of the type 2 System boot up record are general header information, and the boot-relevant information starts at offset 0xA.


Offset Length (bytes) Value Field Name Description
0x0 2
SEL Record ID
0x2 1 0x02 Record Type 2 indicates a system event record
0x3 4
SEL Timestamp
0x7 2 0x0041Generator ID 0x0041 indicates System Software id 0x20
0x9 1 0x04 EvMRev IPMI 2.0 Event Message Revision
0xA 1 0x1F Sensor Type:OS boot Sensor type 0x1f is OS Boot as specified in the IPMI spec
0xB 1 0x00 Sensor Number
0xC 1 0x6FEvent Type [7]: 0b: indicates an assertion event [6:0]: 6Fh: indicates a Sensor-specific Discreet Type code. This means use the sensor specific offsets to interpret the event data bytes
0xD 1 0x01 Event Data 1: C: Boot Completed0000 0001b [7:6]: 00b = unspecified byte 2 event data [5:4]: 00b = unspecified byte 3 event data [3:0]: Offset from Event/Reading Code 0h: A: boot completed 1h: C: boot completed 2h: PXE boot completed 3h: Diagnostic boot completed 4h: CD-ROM boot completd 5h: ROM boot completed 6h: boot completed-boot device not specified
0xE 1 0xFF Event Data 2 Not specified per bits 7-6 in event data 1
0xF 1 0xFF Event Data 3 Not specified per bits 5-4 in event data 1

Type 0xDC Boot Up OEM Event Record

The OEM Event record for bootup does not provide much more information. Nevertheless, the type 0xDC OEM Boot up event record looks similar to this:
Offset Length (bytes) Value Field Name Description
0x0 2
SEL Record ID
0x2 1 0xDC Record Type OEM Time stamped Record (bytes 0x7-0xF are OEM Defined)0xDC: OS Boot up
0x3 4
SEL Timestamp
0x7 3 0x000137IPMI Manufacturer ID 0x137 (311d) is the IANA enterprise number for Microsoft
0xA 1
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
0xB 4
Boot Time The OS Boot time
0xF 1 0x00 Reserved Reserved

Shutdown Events
System shutdown events can cause many records to be logged to the SEL. In fact, shutdown events are usually the reason that SEL logs become unexpectedly full. Again, there is one system event record type 2, one OEM record type 0xDD for the shutdown reason code, and zero or more OEM type 0xDD records for the shutdown comment.


Type 0xDC System Shutdown Event Record


Again, the first 10 bytes of the type 0x02 System Event Record is all header information. The information relevant to the system shutdown starts at offset 0xA.


Offset Length (bytes) Value Field Name Description
0x0 2
SEL Record ID
0x2 1 0x02 Record Type 2 indicates a system event record
0x3 4
SEL Timestamp
0x7 2 0x0041 Generator ID 0x0041 indicates System Software id 0x20
0x9 1 0x04 EvMRev IPMI 2.0 Event Message Revision
0xA 1 0x20 Sensor Type:OS Stop/Shutdown Sensor type 0x20 is OS Stop/Shutdown as specified in the IPMI spec
0xB 1 0x00 Sensor Number
0xC 1 0x6F0101 1111b Event Type [7]: 0b: indicates an assertion event [6:0]: 6Fh: indicates a Sensor-specific Discreet Type code. This means use the sensor specific offsets to interpret the event data bytes
0xD 1 0x030000 0011b Event Data 1: OS Graceful Shutdown [7:6]: 00b = unspecified byte 2 event data [5:4]: 00b = unspecified byte 3 event data [3:0]: Offset from Event/Reading Code 0h: Critical stop during OS load/initialization. Unexpected error during system startup. Stopped waiting for input or power cycle/reset 1h: Run-time critical stop (aka ‘core dump’ or ‘blue screen’ 2h: OS Graceful stop (system powered up, but normal OS operation has shut down and system is awaiting reset pushbutton, power-cycle or other external input) 3h: OS Graceful Shutdown (system graceful power down by OS) 4h: Soft Shutdown initiated by PEF 5h: Agent Not Responding. Graceful shutdown request to agent via BMC did not occur due to missing or malfunctioning local agent
0xE 1 0xFF Event Data 2 Not specified per bits 7-6 in event data 1
0xF 1 0xFF Event Data 3 Not specified per bits 5-4 in event data 1


Type 0xDD Shutdown Reason OEM Event Record

The IPMI driver reads the shutdown reason code is from the DWORD registry value at HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/ReasonCode (DWORD)The reason code is then logged to the SEL with the following OEM Type 0xDD record:


Offset Length (bytes) Value Field Name Description
0x0 2
SEL Record ID
0x2 1 0xDD Record Type OEM Time stamped Record (bytes 0x7-0xF are OEM Defined)0xDD: OS Shutdown
0x3 4
SEL Timestamp
0x7 3 0x000137IPMI Manufacturer ID 0x137 (311d) is the IANA enterprise number for Microsoft
0xA 1
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
0xB 4
Shutdown Reason Shutdown Reason which is read from the registry:HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/ReasonCode (DWORD)
0xF 1 0x00 Reserved

Type 0xDD Shutdown Comment OEM Event Record

Similarly, the shutdown comment is a REG_SZ value read from the same registry key.

HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/ReasonCode (DWORD)

Whenever a user shuts down a system interactively (Start | Shutdown), the reason and comment entered are saved in the registry, and the IPMI driver logs them to the SEL. This can become problematic because as you can see below, there are only 4 bytes available for the comment per SEL entry, and the comment is a Unicode string, so it can take a lot of SEL records to save the whole comment. The sequence number is used to concatenate all the SEL records used to save the comment.


Offset Length (bytes) Value Field Name Description
0x0 2
SEL Record ID
0x2 1 0xDD Record Type OEM Time stamped Record (bytes 0x7-0xF are OEM Defined)0xDD: OS Shutdown
0x3 4
SEL Timestamp
0x7 3 0x000137IPMI Manufacturer ID 0x137 (311d) is the IANA enterprise number for Microsoft
0xA 1
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
0xB 4
Shutdown Reason Shutdown Comment which is read from the registry:HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/Comment (REG_SZ)
0xF 1 0x00 Reserved

Disabling the Type 0xDD Shutdown Comment records

Because the shutdown comment can take so many records to log, it can cause the SEL to become full very quickly. Microsoft released a hotfix to allow for disabling the shutdown log comments for Windows Server 2008 SP1.

This hotfix can be found at http://support.microsoft.com/kb/962920

Starting with Windows Server 2008 R2, the functionality is present in the OS without applying the hotfix. So for windows Server 2008 SP1, you must apply the hotfix before modifying the registry, but for Windows Server 2008 SP2 and later you can modify the registry without applying the hotfix.

1.Open regedit and navigate to HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\IPMI
2.Create a new DWORD Value named DisableSELShutdownComment
3.Right-click DisableSELShutdownComment, and then click Modify.
4.In the Value data box, type 1, and then click OK.
5.Close regedit and reboot


Bugcheck Events

A system bugcheck (bluescreen) will cause six records to be written to the event log. A type 0x2 System Event records is written, followed by five type 0xDE OEM event records: One for the bugcheck code, and one for each of the four parameters to the bugcheck.




Type 0x02 Bugcheck System Event Record

Like the other Type 0x02 System event records logged by the IPMI driver, the relevant information starts after the header at offset 0xA. In the case of the bugcheck, the sensor type is 0x20 which is the same as the Shutdown system event record, but the event data byte at offset 0xD indicates runtime critical stop.


Offset Length (bytes) Value Field Name Description
0x0 2
SEL Record ID
0x2 1 0x02 Record Type 2 indicates a system event record
0x3 4
SEL Timestamp
0x7 2 0x0041 Generator ID 0x0041 indicates System Software id 0x20
0x9 1 0x04 EvMRev IPMI 2.0 Event Message Revision
0xA 1 0x20 Sensor Type: OS Stop/Shutdown Sensor type 0x20 is OS Stop/Shutdown as specified in the IPMI spec
0xB 1 0x00 Sensor Number
0xC 1 0x6F0101 1111b Event Type [7] 0b: indicates an assertion event [6:0] 6Fh: indicates a Sensor-specific Discreet Type code. This means use the sensor specific offsets to interpret the event data bytes
0xD 1 0x010000 0001b Event Data 1: Run-time Critical Stop [7:6]: 00b = unspecified byte 2 event data [5:4]: 00b = unspecified byte 3 event data [3:0]: Offset from Event/Reading Code 0h: Critical stop during OS load/initialization. Unexpected error during system startup. Stopped waiting for input or power cycle/reset 1h: Run-time critical stop (aka ‘core dump’ or ‘blue screen’ 2h: OS Graceful stop (system powered up, but normal OS operation has shut down and system is awaiting reset pushbutton, power-cycle or other external input) 3h: OS Graceful Shutdown (system graceful power down by OS) 4h: Soft Shutdown initiated by PEF 5h: Agent Not Responding. Graceful shutdown request to agent via BMC did not occur due to missing or malfunctioning local agent
0xE 1 0xFF Event Data 2 Not specified per bits 7-6 in event data 1
0xF 1 0xFF Event Data 3 Not specified per bits 5-4 in event data 1

Type 0xDE Bugcheck Code OEM Event Record


The bugcheck code is the stop code displayed on the bluescreen. It is used to indicate the type of failure that caused the bugcheck. The OEM Type 0xDE event record saves the bugcheck code to the SEL.


Offset Length (bytes) Value Field Name Description
0x0 2
SEL Record ID
0x2 1 0xDE Record Type OEM Time stamped Record (bytes 0x7-0xF are OEM Defined)0xDE: OS Bugcheck
0x3 4
SEL Timestamp
0x7 3 0x000137IPMI Manufacturer ID 0x137 (311d) is the IANA enterprise number for Microsoft
0xA 1
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
0xB 4
Bugcheck Stop Code Stop code listed on the BSOD
0xF 1
System Architecture 0x00: 32bit OS0x01: 64bit OS

Type 0xDE Bugcheck Parameter OEM Event Record


When the system encounters a condition or error it can’t handle, a system call is made to bugcheck the system. In addition to the bugcheck code described above, four parameters are passed to further describe the failure. This information can be used to debug the system and figure out why the crash occurred. The OEM Type 0xDE Bugcheck Parameter Event record is described below:


Offset Length (bytes) Value Field Name Description
0x0 2
SEL Record ID
0x2 1 0xDE Record Type OEM Time stamped Record (bytes 0x7-0xF are OEM Defined)0xDE: OS Bugcheck
0x3 4
SEL Timestamp
0x7 3 0x000137IPMI Manufacturer ID 0x137 (311d) is the IANA enterprise number for Microsoft
0xA 1
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
0xB 4
Bugcheck Parameter Argument to Bugcheck. These are the same arguments listed on the BSOD
0xF 1
System Architecture 0x00: 32bit OS0x01: 64bit OS


BMC SEL Log

$
0
0
Revision 3 posted to Systems Management - Wiki by Peter Tsai on 10/20/2010 2:13:01 PM
What are all These Baseboard Management Controller (BMC) System Event Log(SEL) Records Logged by Windows?
Introduction
Did you ever notice a bunch of entries in the Baseboard Management Controller’s (BMC) System Event Log (SEL) that seem to be coming from Windows? Not the Windows system event log, but rather the SEL that is accessible from the Baseboard Management Controller (BMC).It may seem that this log is only intended for hardware events and errors, but there is an OS driver that also logs events to it. Starting with Windows Server 2003 R2, Microsoft began shipping the Intelligent Platform Management Interface (IPMI) driver. One of its functions is to log certain OS events to the SEL. The IPMI driver writes multiple records to the SEL for these three types of events: boot up, shutdown and bugcheck events.The BMC SEL log is accessible via the sideband BMC interface or the Dell Remote Access Controller (DRAC) console and these log records can be useful in troubleshooting a failed system. Each SEL record packs a lot of information in only 16 bytes, and given their limited size, the abbreviated identifiers can be hard to decode.


Decoding the SEL Record

Each SEL record is 16 bytes in length and the format is defined in the IPMI spec. The table below summarizes the format of records in the SEL log. Each record contains nformation relevant to the OS events. For example, the Record Type field indicates whether a record is a System Event Record or an OEM defined event record. System Event records are defined in the IPMI Specification, and OEM records are defined by the OEM. Each event logged by the IPMI driver (whether boot up, shutdown, or bugcheck) will cause one system event record and one or more OEM record to be logged to the SEL. The system event record format is defined in the table below.


OffsetLength(bytes) FieldDescription
0x0 2 SEL Record ID 16 bit identifier 0000h: Reserved 0001h to FFFEh: SEL Record ID FFFFh: Reserved
0x2 1 Record Type 02h: System Event Record C0h to DFh: OEM Time stamped Record (bytes 8-16 are OEM Defined) E0h to FFh: OEM Non-Time stamped Record (bytes 4-16 are OEM Defined)
0x3 4 SEL Timestamp Time when event was logged. Least Significant byte first
0x72 Generator ID Byte 0 (LSB): System Software ID or IPMB Slave Address=============[7:1]: System Software ID, or7-bit I2C slave address[0]: 0b means bits 7-1 are the IPMB Slave Address1b means bits 7-1 are the System Software IDByte 1 (MSB): Channel/LUN==============[7:4]: Channel Number. Must be 0000b if the event was received via the system interface, primary IPMB, or internally generated by the BMC[3:2]: Reserved. Must be 00b[1:0]: IPMB device LUN if Byte 0 holds a slave address00b if Byte 0 holds a System Software ID
0x9 1 EvMRev 03h: IPMI 1.0 04h: IPMI 2.0
0xA 1 Sensor Type Sensor type code as specified in the IPMI spec
0xB 1 Sensor Number Number of the sensor that generated the event
0xC 1 Event Type [7]: Event Direction0b: Assertion Event1b: De-assertion Event[6:0]: 7 bit Event/Reading Type Code(See Table 42-1 in IPMI spec)00h: Event/Reading Type unspecified01h: Threshold(See Table 42-2 in IPMI spec)02h-0Ch: Generic Discrete(See Table 42-2 in IPMI spec)6Fh: Sensor-Specific Discrete(See table 42-3 in IPMI spec)70h-7Fh: OEM Discrete. Indicates the discrete state info is specific to the OEM identified by the Manufacturer ID for the IPMI device that is providing access to the sensor
0xD 1 Event Data 1: Event Field Contents. See Table 29-6 in IPMI spec
0xE
Event Data 2 Event Field Contents. See Table 29-6 in IPMI spec
0xF
Event Data 3 Event Field Contents. See Table 29-6 in IPMI spec

Boot Up Events
During an OS system boot, two records are written to the SEL. The first is a type 2 System Event, and the second is an OEM event.

Type 0x02 Boot Up Record

The first 10 bytes of the type 2 System boot up record are general header information, and the boot-relevant information starts at offset 0xA.


Offset Length (bytes) Value Field Name Description
0x0 2
SEL Record ID
0x2 1 0x02 Record Type 2 indicates a system event record
0x3 4
SEL Timestamp
0x7 2 0x0041Generator ID 0x0041 indicates System Software id 0x20
0x9 1 0x04 EvMRev IPMI 2.0 Event Message Revision
0xA 1 0x1F Sensor Type:OS boot Sensor type 0x1f is OS Boot as specified in the IPMI spec
0xB 1 0x00 Sensor Number
0xC 1 0x6FEvent Type [7]: 0b: indicates an assertion event [6:0]: 6Fh: indicates a Sensor-specific Discreet Type code. This means use the sensor specific offsets to interpret the event data bytes
0xD 1 0x01 Event Data 1: C: Boot Completed0000 0001b [7:6]: 00b = unspecified byte 2 event data [5:4]: 00b = unspecified byte 3 event data [3:0]: Offset from Event/Reading Code 0h: A: boot completed 1h: C: boot completed 2h: PXE boot completed 3h: Diagnostic boot completed 4h: CD-ROM boot completd 5h: ROM boot completed 6h: boot completed-boot device not specified
0xE 1 0xFF Event Data 2 Not specified per bits 7-6 in event data 1
0xF 1 0xFF Event Data 3 Not specified per bits 5-4 in event data 1

Type 0xDC Boot Up OEM Event Record

The OEM Event record for bootup does not provide much more information. Nevertheless, the type 0xDC OEM Boot up event record looks similar to this:
Offset Length (bytes) Value Field Name Description
0x0 2
SEL Record ID
0x2 1 0xDC Record Type OEM Time stamped Record (bytes 0x7-0xF are OEM Defined)0xDC: OS Boot up
0x3 4
SEL Timestamp
0x7 3 0x000137IPMI Manufacturer ID 0x137 (311d) is the IANA enterprise number for Microsoft
0xA 1
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
0xB 4
Boot Time The OS Boot time
0xF 1 0x00 Reserved Reserved

Shutdown Events
System shutdown events can cause many records to be logged to the SEL. In fact, shutdown events are usually the reason that SEL logs become unexpectedly full. Again, there is one system event record type 2, one OEM record type 0xDD for the shutdown reason code, and zero or more OEM type 0xDD records for the shutdown comment.


Type 0xDC System Shutdown Event Record

Again, the first 10 bytes of the type 0x02 System Event Record is all header information. The information relevant to the system shutdown starts at offset 0xA.
Offset Length (bytes) Value Field Name Description
0x0 2
SEL Record ID
0x2 1 0x02 Record Type 2 indicates a system event record
0x3 4
SEL Timestamp
0x7 2 0x0041 Generator ID 0x0041 indicates System Software id 0x20
0x9 1 0x04 EvMRev IPMI 2.0 Event Message Revision
0xA 1 0x20 Sensor Type:OS Stop/Shutdown Sensor type 0x20 is OS Stop/Shutdown as specified in the IPMI spec
0xB 1 0x00 Sensor Number
0xC 1 0x6F0101 1111b Event Type [7]: 0b: indicates an assertion event [6:0]: 6Fh: indicates a Sensor-specific Discreet Type code. This means use the sensor specific offsets to interpret the event data bytes
0xD 1 0x030000 0011b Event Data 1: OS Graceful Shutdown [7:6]: 00b = unspecified byte 2 event data [5:4]: 00b = unspecified byte 3 event data [3:0]: Offset from Event/Reading Code 0h: Critical stop during OS load/initialization. Unexpected error during system startup. Stopped waiting for input or power cycle/reset 1h: Run-time critical stop (aka ‘core dump’ or ‘blue screen’ 2h: OS Graceful stop (system powered up, but normal OS operation has shut down and system is awaiting reset pushbutton, power-cycle or other external input) 3h: OS Graceful Shutdown (system graceful power down by OS) 4h: Soft Shutdown initiated by PEF 5h: Agent Not Responding. Graceful shutdown request to agent via BMC did not occur due to missing or malfunctioning local agent
0xE 1 0xFF Event Data 2 Not specified per bits 7-6 in event data 1
0xF 1 0xFF Event Data 3 Not specified per bits 5-4 in event data 1


Type 0xDD Shutdown Reason OEM Event Record

The IPMI driver reads the shutdown reason code is from the DWORD registry value at HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/ReasonCode (DWORD)The reason code is then logged to the SEL with the following OEM Type 0xDD record:


Offset Length (bytes) Value Field Name Description
0x0 2
SEL Record ID
0x2 1 0xDD Record Type OEM Time stamped Record (bytes 0x7-0xF are OEM Defined)0xDD: OS Shutdown
0x3 4
SEL Timestamp
0x7 3 0x000137IPMI Manufacturer ID 0x137 (311d) is the IANA enterprise number for Microsoft
0xA 1
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
0xB 4
Shutdown Reason Shutdown Reason which is read from the registry:HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/ReasonCode (DWORD)
0xF 1 0x00 Reserved

Type 0xDD Shutdown Comment OEM Event Record

Similarly, the shutdown comment is a REG_SZ value read from the same registry key.

HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/ReasonCode (DWORD)Whenever a user shuts down a system interactively (Start | Shutdown), the reason and comment entered are saved in the registry, and the IPMI driver logs them to the SEL. This can become problematic because as you can see below, there are only 4 bytes available for the comment per SEL entry, and the comment is a Unicode string, so it can take a lot of SEL records to save the whole comment. The sequence number is used to concatenate all the SEL records used to save the comment.


Offset Length (bytes) Value Field Name Description
0x0 2
SEL Record ID
0x2 1 0xDD Record Type OEM Time stamped Record (bytes 0x7-0xF are OEM Defined)0xDD: OS Shutdown
0x3 4
SEL Timestamp
0x7 3 0x000137IPMI Manufacturer ID 0x137 (311d) is the IANA enterprise number for Microsoft
0xA 1
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
0xB 4
Shutdown Reason Shutdown Comment which is read from the registry:HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/Comment (REG_SZ)
0xF 1 0x00 Reserved

Disabling the Type 0xDD Shutdown Comment records

Because the shutdown comment can take so many records to log, it can cause the SEL to become full very quickly. Microsoft released a hotfix to allow for disabling the shutdown log comments for Windows Server 2008 SP1. This hotfix can be found at http://support.microsoft.com/kb/962920Starting with Windows Server 2008 R2, the functionality is present in the OS without applying the hotfix. So for windows Server 2008 SP1, you must apply the hotfix before modifying the registry, but for Windows Server 2008 SP2 and later you can modify the registry without applying the hotfix.1.Open regedit and navigate to HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\IPMI2.Create a new DWORD Value named DisableSELShutdownComment3.Right-click DisableSELShutdownComment, and then click Modify. 4.In the Value data box, type 1, and then click OK. 5.Close regedit and rebootBugcheck EventsA system bugcheck (bluescreen) will cause six records to be written to the event log. A type 0x2 System Event records is written, followed by five type 0xDE OEM event records: One for the bugcheck code, and one for each of the four parameters to the bugcheck.



Type 0x02 Bugcheck System Event Record

Like the other Type 0x02 System event records logged by the IPMI driver, the relevant information starts after the header at offset 0xA. In the case of the bugcheck, the sensor type is 0x20 which is the same as the Shutdown system event record, but the event data byte at offset 0xD indicates runtime critical stop.


Offset Length (bytes) Value Field Name Description
0x0 2
SEL Record ID
0x2 1 0x02 Record Type 2 indicates a system event record
0x3 4
SEL Timestamp
0x7 2 0x0041 Generator ID 0x0041 indicates System Software id 0x20
0x9 1 0x04 EvMRev IPMI 2.0 Event Message Revision
0xA 1 0x20 Sensor Type: OS Stop/Shutdown Sensor type 0x20 is OS Stop/Shutdown as specified in the IPMI spec
0xB 1 0x00 Sensor Number
0xC 1 0x6F0101 1111b Event Type [7] 0b: indicates an assertion event [6:0] 6Fh: indicates a Sensor-specific Discreet Type code. This means use the sensor specific offsets to interpret the event data bytes
0xD 1 0x010000 0001b Event Data 1: Run-time Critical Stop [7:6]: 00b = unspecified byte 2 event data [5:4]: 00b = unspecified byte 3 event data [3:0]: Offset from Event/Reading Code 0h: Critical stop during OS load/initialization. Unexpected error during system startup. Stopped waiting for input or power cycle/reset 1h: Run-time critical stop (aka ‘core dump’ or ‘blue screen’ 2h: OS Graceful stop (system powered up, but normal OS operation has shut down and system is awaiting reset pushbutton, power-cycle or other external input) 3h: OS Graceful Shutdown (system graceful power down by OS) 4h: Soft Shutdown initiated by PEF 5h: Agent Not Responding. Graceful shutdown request to agent via BMC did not occur due to missing or malfunctioning local agent
0xE 1 0xFF Event Data 2 Not specified per bits 7-6 in event data 1
0xF 1 0xFF Event Data 3 Not specified per bits 5-4 in event data 1

Type 0xDE Bugcheck Code OEM Event Record


The bugcheck code is the stop code displayed on the bluescreen. It is used to indicate the type of failure that caused the bugcheck. The OEM Type 0xDE event record saves the bugcheck code to the SEL.


Offset Length (bytes) Value Field Name Description
0x0 2
SEL Record ID
0x2 1 0xDE Record Type OEM Time stamped Record (bytes 0x7-0xF are OEM Defined)0xDE: OS Bugcheck
0x3 4
SEL Timestamp
0x7 3 0x000137IPMI Manufacturer ID 0x137 (311d) is the IANA enterprise number for Microsoft
0xA 1
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
0xB 4
Bugcheck Stop Code Stop code listed on the BSOD
0xF 1
System Architecture 0x00: 32bit OS0x01: 64bit OS

Type 0xDE Bugcheck Parameter OEM Event Record


When the system encounters a condition or error it can’t handle, a system call is made to bugcheck the system. In addition to the bugcheck code described above, four parameters are passed to further describe the failure. This information can be used to debug the system and figure out why the crash occurred. The OEM Type 0xDE Bugcheck Parameter Event record is described below:


Offset Length (bytes) Value Field Name Description
0x0 2
SEL Record ID
0x2 1 0xDE Record Type OEM Time stamped Record (bytes 0x7-0xF are OEM Defined)0xDE: OS Bugcheck
0x3 4
SEL Timestamp
0x7 3 0x000137IPMI Manufacturer ID 0x137 (311d) is the IANA enterprise number for Microsoft
0xA 1
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
0xB 4
Bugcheck Parameter Argument to Bugcheck. These are the same arguments listed on the BSOD
0xF 1
System Architecture 0x00: 32bit OS0x01: 64bit OS

BMC SEL Log

$
0
0
Revision 2 posted to Systems Management - Wiki by Peter Tsai on 10/20/2010 1:58:08 PM
What are all These Baseboard Management Controller (BMC) System Event Log(SEL) Records Logged by Windows?
IntroductionDid you ever notice a bunch of entries in the Baseboard Management Controller’s (BMC) System Event Log (SEL) that seem to be coming from Windows? Not the Windows system event log, but rather the SEL that is accessible from the Baseboard Management Controller (BMC).It may seem that this log is only intended for hardware events and errors, but there is an OS driver that also logs events to it. Starting with Windows Server 2003 R2, Microsoft began shipping the Intelligent Platform Management Interface (IPMI) driver. One of its functions is to log certain OS events to the SEL. The IPMI driver writes multiple records to the SEL for these three types of events: boot up, shutdown and bugcheck events.The BMC SEL log is accessible via the sideband BMC interface or the Dell Remote Access Controller (DRAC) console and these log records can be useful in troubleshooting a failed system. Each SEL record packs a lot of information in only 16 bytes, and given their limited size, the abbreviated identifiers can be hard to decode.

Decoding the SEL Record

Each SEL record is 16 bytes in length and the format is defined in the IPMI spec. The table below summarizes the format of records in the SEL log. Each record contains nformation relevant to the OS events. For example, the Record Type field indicates whether a record is a System Event Record or an OEM defined event record. System Event records are defined in the IPMI Specification, and OEM records are defined by the OEM. Each event logged by the IPMI driver (whether boot up, shutdown, or bugcheck) will cause one system event record and one or more OEM record to be logged to the SEL. The system event record format is defined in the table below.
OffsetLength(bytes) FieldDescription
0x0 2 SEL Record ID 16 bit identifier 0000h: Reserved 0001h to FFFEh: SEL Record ID FFFFh: Reserved
0x2 1 Record Type 02h: System Event Record C0h to DFh: OEM Time stamped Record (bytes 8-16 are OEM Defined) E0h to FFh: OEM Non-Time stamped Record (bytes 4-16 are OEM Defined)
0x3 4 SEL Timestamp Time when event was logged. Least Significant byte first
0x72 Generator ID Byte 0 (LSB): System Software ID or IPMB Slave Address=============[7:1]: System Software ID, or 7-bit I2C slave address[0]: 0b means bits 7-1 are the IPMB Slave Address 1b means bits 7-1 are the System Software IDByte 1 (MSB): Channel/LUN==============[7:4]: Channel Number. Must be 0000b if the event was received via the system interface, primary IPMB, or internally generated by the BMC[3:2]: Reserved. Must be 00b[1:0]: IPMB device LUN if Byte 0 holds a slave address 00b if Byte 0 holds a System Software ID
0x9 1 EvMRev 03h: IPMI 1.0 04h: IPMI 2.0
0xA 1 Sensor Type Sensor type code as specified in the IPMI spec
0xB 1 Sensor Number Number of the sensor that generated the event
0xC 1 Event Type [7]: Event Direction 0b: Assertion Event 1b: De-assertion Event[6:0]: 7 bit Event/Reading Type Code(See Table 42-1 in IPMI spec) 00h: Event/Reading Type unspecified 01h: Threshold(See Table 42-2 in IPMI spec) 02h-0Ch: Generic Discrete(See Table 42-2 in IPMI spec) 6Fh: Sensor-Specific Discrete(See table 42-3 in IPMI spec) 70h-7Fh: OEM Discrete. Indicates the discrete state info is specific to the OEM identified by the Manufacturer ID for the IPMI device that is providing access to the sensor
0xD 1 Event Data 1: Event Field Contents. See Table 29-6 in IPMI spec
0xE
Event Data 2 Event Field Contents. See Table 29-6 in IPMI spec
0xF
Event Data 3 Event Field Contents. See Table 29-6 in IPMI spec
Boot Up EventsDuring an OS system boot, two records are written to the SEL. The first is a type 2 System Event, and the second is an OEM event.

Type 0x02 Boot Up Record

The first 10 bytes of the type 2 System boot up record are general header information, and the boot-relevant information starts at offset 0xA.
Offset Length (bytes) Value Field Name Description
0x0 2
SEL Record ID
0x2 1 0x02 Record Type 2 indicates a system event record
0x3 4
SEL Timestamp
0x7 2 0x0041Generator ID 0x0041 indicates System Software id 0x20
0x9 1 0x04 EvMRev IPMI 2.0 Event Message Revision
0xA 1 0x1F Sensor Type:OS boot Sensor type 0x1f is OS Boot as specified in the IPMI spec
0xB 1 0x00 Sensor Number
0xC 1 0x6FEvent Type [7]: 0b: indicates an assertion event [6:0]: 6Fh: indicates a Sensor-specific Discreet Type code. This means use the sensor specific offsets to interpret the event data bytes
0xD 1 0x01 Event Data 1: C: Boot Completed0000 0001b [7:6]: 00b = unspecified byte 2 event data [5:4]: 00b = unspecified byte 3 event data [3:0]: Offset from Event/Reading Code 0h: A: boot completed 1h: C: boot completed 2h: PXE boot completed 3h: Diagnostic boot completed 4h: CD-ROM boot completd 5h: ROM boot completed 6h: boot completed-boot device not specified
0xE 1 0xFF Event Data 2 Not specified per bits 7-6 in event data 1
0xF 1 0xFF Event Data 3 Not specified per bits 5-4 in event data 1

Type 0xDC Boot Up OEM Event Record

The OEM Event record for bootup does not provide much more information. Nevertheless, the type 0xDC OEM Boot up event record looks similar to this:
Offset Length (bytes) Value Field Name Description
0x0 2
SEL Record ID
0x2 1 0xDC Record Type OEM Time stamped Record (bytes 0x7-0xF are OEM Defined)0xDC: OS Boot up
0x3 4
SEL Timestamp
0x7 3 0x000137IPMI Manufacturer ID 0x137 (311d) is the IANA enterprise number for Microsoft
0xA 1
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
0xB 4
Boot Time The OS Boot time
0xF 1 0x00 Reserved Reserved
Shutdown EventsSystem shutdown events can cause many records to be logged to the SEL. In fact, shutdown events are usually the reason that SEL logs become unexpectedly full. Again, there is one system event record type 2, one OEM record type 0xDD for the shutdown reason code, and zero or more OEM type 0xDD records for the shutdown comment.

Type 0xDC System Shutdown Event Record

Again, the first 10 bytes of the type 0x02 System Event Record is all header information. The information relevant to the system shutdown starts at offset 0xA.
Offset Length (bytes) Value Field Name Description
0x0 2
SEL Record ID
0x2 1 0x02 Record Type 2 indicates a system event record
0x3 4
SEL Timestamp
0x7 2 0x0041 Generator ID 0x0041 indicates System Software id 0x20
0x9 1 0x04 EvMRev IPMI 2.0 Event Message Revision
0xA 1 0x20 Sensor Type:OS Stop/Shutdown Sensor type 0x20 is OS Stop/Shutdown as specified in the IPMI spec
0xB 1 0x00 Sensor Number
0xC 1 0x6F0101 1111b Event Type [7]: 0b: indicates an assertion event [6:0]: 6Fh: indicates a Sensor-specific Discreet Type code. This means use the sensor specific offsets to interpret the event data bytes
0xD 1 0x030000 0011b Event Data 1: OS Graceful Shutdown [7:6]: 00b = unspecified byte 2 event data [5:4]: 00b = unspecified byte 3 event data [3:0]: Offset from Event/Reading Code 0h: Critical stop during OS load/initialization. Unexpected error during system startup. Stopped waiting for input or power cycle/reset 1h: Run-time critical stop (aka ‘core dump’ or ‘blue screen’ 2h: OS Graceful stop (system powered up, but normal OS operation has shut down and system is awaiting reset pushbutton, power-cycle or other external input) 3h: OS Graceful Shutdown (system graceful power down by OS) 4h: Soft Shutdown initiated by PEF 5h: Agent Not Responding. Graceful shutdown request to agent via BMC did not occur due to missing or malfunctioning local agent
0xE 1 0xFF Event Data 2 Not specified per bits 7-6 in event data 1
0xF 1 0xFF Event Data 3 Not specified per bits 5-4 in event data 1

Type 0xDD Shutdown Reason OEM Event Record

The IPMI driver reads the shutdown reason code is from the DWORD registry value at HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/ReasonCode (DWORD)The reason code is then logged to the SEL with the following OEM Type 0xDD record:
Offset Length (bytes) Value Field Name Description
0x0 2
SEL Record ID
0x2 1 0xDD Record Type OEM Time stamped Record (bytes 0x7-0xF are OEM Defined)0xDD: OS Shutdown
0x3 4
SEL Timestamp
0x7 3 0x000137IPMI Manufacturer ID 0x137 (311d) is the IANA enterprise number for Microsoft
0xA 1
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
0xB 4
Shutdown Reason Shutdown Reason which is read from the registry:HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/ReasonCode (DWORD)
0xF 1 0x00 Reserved

Type 0xDD Shutdown Comment OEM Event Record

Similarly, the shutdown comment is a REG_SZ value read from the same registry key. HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/ReasonCode (DWORD)Whenever a user shuts down a system interactively (Start | Shutdown), the reason and comment entered are saved in the registry, and the IPMI driver logs them to the SEL. This can become problematic because as you can see below, there are only 4 bytes available for the comment per SEL entry, and the comment is a Unicode string, so it can take a lot of SEL records to save the whole comment. The sequence number is used to concatenate all the SEL records used to save the comment.
Offset Length (bytes) Value Field Name Description
0x0 2
SEL Record ID
0x2 1 0xDD Record Type OEM Time stamped Record (bytes 0x7-0xF are OEM Defined)0xDD: OS Shutdown
0x3 4
SEL Timestamp
0x7 3 0x000137IPMI Manufacturer ID 0x137 (311d) is the IANA enterprise number for Microsoft
0xA 1
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
0xB 4
Shutdown Reason Shutdown Comment which is read from the registry:HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/Comment (REG_SZ)
0xF 1 0x00 Reserved

Disabling the Type 0xDD Shutdown Comment records

Because the shutdown comment can take so many records to log, it can cause the SEL to become full very quickly. Microsoft released a hotfix to allow for disabling the shutdown log comments for Windows Server 2008 SP1. This hotfix can be found at http://support.microsoft.com/kb/962920Starting with Windows Server 2008 R2, the functionality is present in the OS without applying the hotfix. So for windows Server 2008 SP1, you must apply the hotfix before modifying the registry, but for Windows Server 2008 SP2 and later you can modify the registry without applying the hotfix.1.Open regedit and navigate to HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\IPMI2.Create a new DWORD Value named DisableSELShutdownComment3.Right-click DisableSELShutdownComment, and then click Modify. 4.In the Value data box, type 1, and then click OK. 5.Close regedit and rebootBugcheck EventsA system bugcheck (bluescreen) will cause six records to be written to the event log. A type 0x2 System Event records is written, followed by five type 0xDE OEM event records: One for the bugcheck code, and one for each of the four parameters to the bugcheck.

Type 0x02 Bugcheck System Event Record

Like the other Type 0x02 System event records logged by the IPMI driver, the relevant information starts after the header at offset 0xA. In the case of the bugcheck, the sensor type is 0x20 which is the same as the Shutdown system event record, but the event data byte at offset 0xD indicates runtime critical stop.
Offset Length (bytes) Value Field Name Description
0x0 2
SEL Record ID
0x2 1 0x02 Record Type 2 indicates a system event record
0x3 4
SEL Timestamp
0x7 2 0x0041 Generator ID 0x0041 indicates System Software id 0x20
0x9 1 0x04 EvMRev IPMI 2.0 Event Message Revision
0xA 1 0x20 Sensor Type: OS Stop/Shutdown Sensor type 0x20 is OS Stop/Shutdown as specified in the IPMI spec
0xB 1 0x00 Sensor Number
0xC 1 0x6F0101 1111b Event Type [7] 0b: indicates an assertion event [6:0] 6Fh: indicates a Sensor-specific Discreet Type code. This means use the sensor specific offsets to interpret the event data bytes
0xD 1 0x010000 0001b Event Data 1: Run-time Critical Stop [7:6]: 00b = unspecified byte 2 event data [5:4]: 00b = unspecified byte 3 event data [3:0]: Offset from Event/Reading Code 0h: Critical stop during OS load/initialization. Unexpected error during system startup. Stopped waiting for input or power cycle/reset 1h: Run-time critical stop (aka ‘core dump’ or ‘blue screen’ 2h: OS Graceful stop (system powered up, but normal OS operation has shut down and system is awaiting reset pushbutton, power-cycle or other external input) 3h: OS Graceful Shutdown (system graceful power down by OS) 4h: Soft Shutdown initiated by PEF 5h: Agent Not Responding. Graceful shutdown request to agent via BMC did not occur due to missing or malfunctioning local agent
0xE 1 0xFF Event Data 2 Not specified per bits 7-6 in event data 1
0xF 1 0xFF Event Data 3 Not specified per bits 5-4 in event data 1

Type 0xDE Bugcheck Code OEM Event Record

The bugcheck code is the stop code displayed on the bluescreen. It is used to indicate the type of failure that caused the bugcheck. The OEM Type 0xDE event record saves the bugcheck code to the SEL.
Offset Length (bytes) Value Field Name Description
0x0 2
SEL Record ID
0x2 1 0xDE Record Type OEM Time stamped Record (bytes 0x7-0xF are OEM Defined)0xDE: OS Bugcheck
0x3 4
SEL Timestamp
0x7 3 0x000137IPMI Manufacturer ID 0x137 (311d) is the IANA enterprise number for Microsoft
0xA 1
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
0xB 4
Bugcheck Stop Code Stop code listed on the BSOD
0xF 1
System Architecture 0x00: 32bit OS0x01: 64bit OS

Type 0xDE Bugcheck Parameter OEM Event Record

When the system encounters a condition or error it can’t handle, a system call is made to bugcheck the system. In addition to the bugcheck code described above, four parameters are passed to further describe the failure. This information can be used to debug the system and figure out why the crash occurred. The OEM Type 0xDE Bugcheck Parameter Event record is described below:
Offset Length (bytes) Value Field Name Description
0x0 2
SEL Record ID
0x2 1 0xDE Record Type OEM Time stamped Record (bytes 0x7-0xF are OEM Defined)0xDE: OS Bugcheck
0x3 4
SEL Timestamp
0x7 3 0x000137IPMI Manufacturer ID 0x137 (311d) is the IANA enterprise number for Microsoft
0xA 1
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
0xB 4
Bugcheck Parameter Argument to Bugcheck. These are the same arguments listed on the BSOD
0xF 1
System Architecture 0x00: 32bit OS0x01: 64bit OS

BMC SEL Log

$
0
0
Revision 1 posted to Systems Management - Wiki by Peter Tsai on 10/20/2010 1:56:51 PM

BMC SEL Log

$
0
0
Revision 29 posted to Systems Management - Wiki by Nikhil.Waghuskar on 11/2/2011 10:00:04 AM
What are These Baseboard Management Controller (BMC) System Event Log (SEL) Records Logged by Windows?
By Steven Grigsby
iDRAC6 SEL Log
Introduction
Did you ever notice a bunch of entries in the Baseboard Management Controller (BMC) System Event Log (SEL) that seem to be coming from Windows? Not the Windows system event log, but the SEL that is accessible from the Baseboard Management Controller (BMC).

It may seem that this log is only intended for hardware events and errors, but there is an OS driver that also logs events to it. Starting with Windows Server 2003 R2, Microsoft began shipping the Intelligent Platform Management Interface (IPMI) driver. One of its functions is to log certain OS events to the SEL. The IPMI driver writes multiple records to the SEL for these three types of events: boot up, shutdown and bugcheck events.

The BMC SEL log is accessible via the sideband BMC interface using tools like ipmitool or impish. It is also accessible from OpenManage Server Assistant (OMSA), the Dell Remote Access Controller (DRAC) console, and <CTRL-E> during boot. Many different types of events, which can be useful in troubleshooting, are logged in the SEL. Each SEL record packs a lot of information in only 16 bytes, and given their limited size, they can be hard to decode.

Decoding the SEL Record


Dell BMC SEL record, pulled by racadm command line tool
The SEL record above was pulled using the Dell racadm command line tool available on the Dell Systems Management Tools and Documentation DVD.


Each SEL record is 16 bytes in length and the format is defined in the IPMI spec. The table below summarizes the format of the SEL record, as
defined by the IPMI spec. At the highest level, the Record Type field indicates whether it is a System Event Record or an OEM defined event record. System Event records are defined in the IPMI specification, and OEM records are defined by the OEM.

Each event logged by the IPMI driver (whether boot up, shutdown, or bugcheck) will cause one system event record and one or more OEM records to be logged to the SEL. The type 02h system event record format is defined in the table below.

BytesFieldDescription
1:0 SEL Record ID 16 bit record identifier

0000h: Reserved
0001h to FFFEh: SEL Record ID
FFFFh: Reserved
2 Record Type 02h: System Event Record

C0h to DFh: OEM Time stamped Record
Bytes 8-16 are OEM Defined

E0h to FFh: OEM Non-Time stamped Record
Bytes 4-16 are OEM Defined
6:3 SEL Timestamp Time when event was logged
8:7Generator ID Byte 8: System Software ID or IPMB Slave Address=============

[7:1]: System Software ID, or 7-bit I2C slave address
[0]: 0b means bits 7-1 are the IPMB Slave Address
1b means bits 7-1 are the System Software ID

Byte 7: Channel/LUN=============

[7:4]: Channel Number. Must be 0000b if the event was received via the system interface, primary IPMB, or internally generated by the BMC

[3:2]: Reserved. Must be 00b

[1:0]: IPMB device LUN if Byte 0 holds a slave address. 00b if Byte 0 holds a System Software ID
9 EvMRev 03h: IPMI 1.0 0

4h: IPMI 2.0
10 Sensor Type Sensor type code as specified in the IPMI spec
11 Sensor Number Number of the sensor that generated the event
12 Event Type [7]: Event Direction
0b: Assertion Event
1b: De-assertion Event


[6:0]: 7 bit Event/Reading Type Code
00h: Event/Reading Type unspecified
01h: Threshold
02h-0Ch: Generic Discrete
6Fh: Sensor-Specific Discrete
70h-7Fh: OEM Discrete. Indicates the discrete state info is specific to the OEM identified by the Manufacturer ID for the IPMI device that is providing access to the sensor
13 Event Data 1: Event Field Contents
14 Event Data 2 Event Field Contents
15 Event Data 3 Event Field Contents
Boot Up Events
During a system boot, two records are written to the SEL. The first is a type 02h System Event, and the second is an OEM event.

Type 02h Boot Up Record

The first 10 bytes of the type 02h System boot up record are general header information, and the boot-relevant information starts at byte 10.

BytesValue Field Name Meaning of Value
1:0
SEL Record ID record identifier
2 02h Record Type 02h indicates a system event record
6:3
SEL Timestamp
8:70041hGenerator ID 0041h indicates the event comes from system software whose ID 20h
9 04h EvMRev IPMI 2.0 Event Message Revision
10 1Fh Sensor Type:OS boot Sensor type 1Fh is OS Boot as specified in the IPMI spec
11 00h Sensor Number
12 6FhEvent Type [7]: 0b: indicates an assertion event

[6:0]: 6Fh indicates a Sensor-specific Discreet Type code. This means use the sensor specific offsets to interpret the event data bytes
13 01h Event Data 1: C: Boot Completed[7:6]:00b = unspecified byte 2 event data

[5:4]: 00b = unspecified byte 3 event data

[3:0]: Offset from Event/Reading Code
0h: A: boot completed 1h: C: boot completed
2h: PXE boot completed
3h: Diagnostic boot completed
4h: CD-ROM boot completd
5h: ROM boot completed
6h: boot completed-boot device not specified
14 FFh Event Data 2 Not specified per bits 7-6 in event data 1
15 FFh Event Data 3 Not specified per bits 5-4 in event data 1

Type DCh Boot Up OEM Event Record

The OEM Event record for bootup does not provide much more information. Nevertheless, the type DCh OEM Boot up event record looks similar to this:

Bytes Value Field Name Description
1:0
SEL Record ID
2 DCh Record Type OEM Time stamped Record (bytes 7-15 are OEM Defined)DCh: OS Boot up
6:3
SEL Timestamp
9:7137hIPMI Manufacturer ID 137h (311d) is the IANA enterprise number for Microsoft
10
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
14:11
Boot Time The OS Boot time
1500h Reserved Reserved

Shutdown Events
System shutdown events can cause many records to be logged to the SEL. There is one type 02h System Event record, one OEM type DDh record for the shutdown reason code, and zero or more OEM type DDh records for the shutdown comment.

Whenever a user shuts down a system using shutdown.exe, the reason and comment entered by the user are saved in the registry. Then the IPMI driver reads them from the registry and logs them to the SEL with OEM type DDh records. The shutdown reason is a 4 byte code which fits within SEL entry. The shutdown comment, however, is a user-entered string of variable length.

The IPMI driver saves the comment string to the SEL in multiple OEM type DDh records, concatenated using the sequence number. This can be problematic because there are only 4 bytes available for the comment per SEL entry, and the comment is saved as a Unicode string.

This can quickly fill the SEL log. During a manual shutdown (Start | Shutdown), even though the user is required to enter a reason and comment, the comment is never saved to the registry, and therefore not logged to the SEL. Furthermore, an incorrect reason code is saved. See Microsoft KB200106 (http://support.microsoft.com/kb/2001061).

Type 02h System Shutdown Event Record

Again, the first 10 bytes of the type 02h System Event Record is all header information. The information relevant to the system shutdown starts at byte 10.

BytesValue Field Name Description
1:0
SEL Record ID record identifier
2 02hRecord Type 02h indicates a system event record
6:3
SEL Timestamp
8:70041hGenerator ID 0041h indicates the event comes from system software whose ID 20h
9 04h EvMRev IPMI 2.0 Event Message Revision
10 20h Sensor Type:OS Stop/Shutdown Sensor type 1Fh is OS Boot as specified in the IPMI spec
11 00h Sensor Number
12 6FhEvent Type [7]: 0b: indicates an assertion event
[6:0]: 6Fh: indicates a Sensor-specific Discreet Type code. This means use the sensor specific offsets to interpret the event data bytes
13 03hEvent Data 1: [7:6]: 00b = unspecified byte 2 event data

[5:4]: 00b = unspecified byte 3 event data

[3:0]: Offset from Event/Reading Code
0h: Critical stop during OS load/initialization. Unexpected error during system startup. Stopped waiting for input or power cycle/reset
1h: Run-time critical stop (aka ‘core dump’ or ‘blue screen’
2h: OS Graceful stop (system powered up, but normal OS operation has shut down and system is awaiting reset pushbutton, power-cycle or other external input) 3h: OS Graceful Shutdown (system graceful power down by OS)
4h: Soft Shutdown initiated by PEF
5h: Agent Not Responding. Graceful shutdown request to agent via BMC did not occur due to missing or malfunctioning local agent
14 FFh Event Data 2 Not specified per bits 7-6 in event data 1
15 FFh Event Data 3 Not specified per bits 5-4 in event data 1

Type DDh Shutdown Reason OEM Event Record

The IPMI driver reads the shutdown reason code is from the DWORD registry value at

HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/ReasonCode (DWORD)

The reason code is then logged to the SEL with the following OEM Type DDh record:

Bytes Value Field Name Description
1:0
SEL Record ID
2 DDh Record Type OEM Time stamped Record (bytes 7-15 are OEM Defined)DDh: OS Shutdown
6:3
SEL Timestamp
9:7137hIPMI Manufacturer ID 137h (311d) is the IANA enterprise number for Microsoft
10
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
14:11
Shutdown Reason Shutdown Reason which is read from the registry:HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/ReasonCode (DWORD)
1500hReserved

Type DDh Shutdown Comment OEM Event Record

Similarly, the shutdown comment is a REG_SZ value read from the same registry key.

HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/Comment (REG_SZ)

Bytes Value Field Name Description
1:0
SEL Record ID
2 DDh Record Type OEM Time stamped Record (bytes 7-15 are OEM Defined)DDh: OS Shutdown
6:3
SEL Timestamp
9:7137hIPMI Manufacturer ID 137h (311d) is the IANA enterprise number for Microsoft
10
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
14:11
Shutdown Comment Shutdown Comment which is read from the registry:HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/Comment (REG_SZ)
1500h Reserved

Disabling the Type DDh Shutdown Comment records

Because the shutdown comment can take so many records to log, it can cause the SEL to become full very quickly. Microsoft released a hotfix to allow for disabling the shutdown log comments for Windows Server 2008 SP1. This hotfix can be found at:

http://support.microsoft.com/kb/962920

Starting with Windows Server 2008 R2, the functionality is present in the OS without applying the hotfix. So for windows Server 2008 SP1, you must apply the hotfix before modifying the registry, but for Windows Server 2008 SP2 and later you can modify the registry without applying the hotfix.

1.Open regedit and navigate to HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\IPMI
2.Create a new DWORD Value named DisableSELShutdownComment
3.Right-click DisableSELShutdownComment, and then click Modify.
4.In the Value data box, type 1, and then click OK.
5.Close regedit and reboot

Bugcheck Events
A system bugcheck (bluescreen) will cause six records to be written to the event log. A type 02h System Event records is written, followed by five type DEh OEM event records: One for the bugcheck code, and one for each of the four parameters to the bugcheck.

Type 02h Bugcheck System Event Record

Like the other Type 02h System event records logged by the IPMI driver, the relevant information starts after the header at byte 10. In the case of the bugcheck, the sensor type is 20h which is the same as the Shutdown system event record, but the event data byte at byte 13 indicates runtime critical stop.

BytesValue Field Name Description
1:0
SEL Record ID record identifier
2 02hRecord Type 02h indicates a system event record
6:3
SEL Timestamp
8:70041hGenerator ID 0041h indicates the event comes from system software whose ID 20h
9 04h EvMRev IPMI 2.0 Event Message Revision
10 20h Sensor Type: OS Stop/Shutdown Sensor type 1Fh is OS Boot as specified in the IPMI spec
11 00h Sensor Number
12 6FhEvent Type [7]: 0b: indicates an assertion event

[6:0]: 6Fh: indicates a Sensor-specific Discreet Type code. This means use the sensor specific offsets to interpret the event data bytes
13 01hEvent Data 1[7:6]: 00b = unspecified byte 2 event data

[5:4]: 00b = unspecified byte 3 event data

[3:0]: Offset from Event/Reading Code 0h:Critical stop during OS load/initialization. Unexpected error during system startup. Stopped waiting for input or power cycle/reset

1h:Run-time critical stop (aka ‘core dump’ or ‘blue screen’

2h:OS Graceful stop (system powered up, but normal OS operation has shut down and system is awaiting reset pushbutton, power-cycle or other external input)

3h:OS Graceful Shutdown (system graceful power down by OS)

4h:Soft Shutdown initiated by PEF

5h:Agent Not Responding. Graceful shutdown request to agent via BMC did not occur due to missing or malfunctioning local agent
14 FFh Event Data 2 Not specified per bits 7-6 in event data 1
15 FFh Event Data 3 Not specified per bits 5-4 in event data 1

Type DEh Bugcheck Code OEM Event Record

The bugcheck code is the stop code displayed on the bluescreen. It is used to indicate the type of failure that caused the bugcheck. The OEM Type DEh event record saves the bugcheck code to the SEL.

Bytes Value Field Name Description
1:0
SEL Record ID
2 DEhRecord Type OEM Time stamped Record (bytes 7-15 are OEM Defined)DEh: OS Bugcheck
6:3
SEL Timestamp
9:7137hIPMI Manufacturer ID 137h (311d) is the IANA enterprise number for Microsoft
10
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
14:11
Bugcheck Stop Code Stop code listed on the BSOD
15
System Architecture 00: 32bit OS
01: 64bit OS

Type DEh Bugcheck Parameter OEM Event Record

When the system encounters a condition or error it can’t handle, a system call is made to bugcheck the system. In addition to the bugcheck code described above, four parameters are passed to further describe the failure. This information can be used to debug the system and figure out why the crash occurred. The OEM Type DEh Bugcheck Parameter Event record is described below:

Bytes Value Field Name Description
1:0
SEL Record ID
2 DEhRecord Type OEM Time stamped Record (bytes 7-15 are OEM Defined)

DEh: OS Bugcheck
6:3
SEL Timestamp
9:7137hIPMI Manufacturer ID 137h (311d) is the IANA enterprise number for Microsoft
10
Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
14:11
Bugcheck Parameter Argument to Bugcheck. These are the same arguments listed on the BSOD
15
System Architecture 00h: 32bit OS
01h: 64bit OS

This document is also available in Microsoft Word format as well, and it can be downloaded by clicking here.
Tags: bmc

BMC SEL Log

$
0
0
Revision 30 posted to Systems Management - Wiki by Peter Tsai on 11/7/2011 5:59:39 PM
What are These Baseboard Management Controller (BMC) System Event Log (SEL) Records Logged by Windows?
By Steven Grigsby
iDRAC6 SEL Log
Introduction
Did you ever notice a bunch of entries in the Baseboard Management Controller (BMC) System Event Log (SEL) that seem to be coming from Windows? Not the Windows system event log, but the SEL that is accessible from the Baseboard Management Controller (BMC).

It may seem that this log is only intended for hardware events and errors, but there is an OS driver that also logs events to it. Starting with Windows Server 2003 R2, Microsoft began shipping the Intelligent Platform Management Interface (IPMI) driver. One of its functions is to log certain OS events to the SEL. The IPMI driver writes multiple records to the SEL for these three types of events: boot up, shutdown and bugcheck events.

The BMC SEL log is accessible via the sideband BMC interface using tools like ipmitool or impish. It is also accessible from OpenManage Server Assistant (OMSA), the Dell Remote Access Controller (DRAC) console, and <CTRL-E> during boot. Many different types of events, which can be useful in troubleshooting, are logged in the SEL. Each SEL record packs a lot of information in only 16 bytes, and given their limited size, they can be hard to decode.

Decoding the SEL Record


Dell BMC SEL record, pulled by racadm command line tool
The SEL record above was pulled using the Dell racadm command line tool available on the Dell Systems Management Tools and Documentation DVD.


Each SEL record is 16 bytes in length and the format is defined in the IPMI spec. The table below summarizes the format of the SEL record, as
defined by the IPMI spec. At the highest level, the Record Type field indicates whether it is a System Event Record or an OEM defined event record. System Event records are defined in the IPMI specification, and OEM records are defined by the OEM.

Each event logged by the IPMI driver (whether boot up, shutdown, or bugcheck) will cause one system event record and one or more OEM records to be logged to the SEL. The type 02h system event record format is defined in the table below.

BytesFieldDescription
1:0SEL Record ID16 bit record identifier

0000h: Reserved
0001h to FFFEh: SEL Record ID
FFFFh: Reserved
2Record Type02h: System Event Record

C0h to DFh: OEM Time stamped Record
Bytes 8-16 are OEM Defined

E0h to FFh: OEM Non-Time stamped Record
Bytes 4-16 are OEM Defined
6:3SEL TimestampTime when event was logged
8:7Generator ID Byte 8: System Software ID or IPMB Slave Address=============

[7:1]: System Software ID, or 7-bit I2C slave address
[0]: 0b means bits 7-1 are the IPMB Slave Address
1b means bits 7-1 are the System Software ID

Byte 7: Channel/LUN=============

[7:4]: Channel Number. Must be 0000b if the event was received via the system interface, primary IPMB, or internally generated by the BMC

[3:2]: Reserved. Must be 00b

[1:0]: IPMB device LUN if Byte 0 holds a slave address. 00b if Byte 0 holds a System Software ID
9 EvMRev 03h: IPMI 1.0 0

4h: IPMI 2.0
10 Sensor Type Sensor type code as specified in the IPMI spec
11 Sensor Number Number of the sensor that generated the event
12 Event Type [7]: Event Direction
0b: Assertion Event
1b: De-assertion Event


[6:0]: 7 bit Event/Reading Type Code
00h: Event/Reading Type unspecified
01h: Threshold
02h-0Ch: Generic Discrete
6Fh: Sensor-Specific Discrete
70h-7Fh: OEM Discrete. Indicates the discrete state info is specific to the OEM identified by the Manufacturer ID for the IPMI device that is providing access to the sensor
13 Event Data 1: Event Field Contents
14 Event Data 2 Event Field Contents
15 Event Data 3 Event Field Contents
Boot Up Events
During a system boot, two records are written to the SEL. The first is a type 02h System Event, and the second is an OEM event.

Type 02h Boot Up Record

The first 10 bytes of the type 02h System boot up record are general header information, and the boot-relevant information starts at byte 10.

BytesValue Field Name Meaning of Value
1:0SEL Record ID record identifier
202h Record Type 02h indicates a system event record
6:3SEL Timestamp
8:70041hGenerator ID 0041h indicates the event comes from system software whose ID 20h
9 04h EvMRev IPMI 2.0 Event Message Revision
10 1Fh Sensor Type:OS boot Sensor type 1Fh is OS Boot as specified in the IPMI spec
11 00h Sensor Number
12 6FhEvent Type [7]: 0b: indicates an assertion event

[6:0]: 6Fh indicates a Sensor-specific Discreet Type code. This means use the sensor specific offsets to interpret the event data bytes
13 01h Event Data 1: C: Boot Completed[7:6]:00b = unspecified byte 2 event data

[5:4]: 00b = unspecified byte 3 event data

[3:0]: Offset from Event/Reading Code
0h: A: boot completed 1h: C: boot completed
2h: PXE boot completed
3h: Diagnostic boot completed
4h: CD-ROM boot completd
5h: ROM boot completed
6h: boot completed-boot device not specified
14 FFh Event Data 2 Not specified per bits 7-6 in event data 1
15 FFh Event Data 3 Not specified per bits 5-4 in event data 1

Type DCh Boot Up OEM Event Record

The OEM Event record for bootup does not provide much more information. Nevertheless, the type DCh OEM Boot up event record looks similar to this:

Bytes Value Field Name Description
1:0SEL Record ID
2 DCh Record Type OEM Time stamped Record (bytes 7-15 are OEM Defined)DCh: OS Boot up
6:3 SEL Timestamp
9:7137hIPMI Manufacturer ID 137h (311d) is the IANA enterprise number for Microsoft
10 Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
14:11 Boot Time The OS Boot time
1500h Reserved Reserved
Shutdown Events
System shutdown events can cause many records to be logged to the SEL. There is one type 02h System Event record, one OEM type DDh record for the shutdown reason code, and zero or more OEM type DDh records for the shutdown comment.

Whenever a user shuts down a system using shutdown.exe, the reason and comment entered by the user are saved in the registry. Then the IPMI driver reads them from the registry and logs them to the SEL with OEM type DDh records. The shutdown reason is a 4 byte code which fits within SEL entry. The shutdown comment, however, is a user-entered string of variable length.

The IPMI driver saves the comment string to the SEL in multiple OEM type DDh records, concatenated using the sequence number. This can be problematic because there are only 4 bytes available for the comment per SEL entry, and the comment is saved as a Unicode string.

This can quickly fill the SEL log. During a manual shutdown (Start | Shutdown), even though the user is required to enter a reason and comment, the comment is never saved to the registry, and therefore not logged to the SEL. Furthermore, an incorrect reason code is saved. See Microsoft KB200106 (http://support.microsoft.com/kb/2001061).

Type 02h System Shutdown Event Record

Again, the first 10 bytes of the type 02h System Event Record is all header information. The information relevant to the system shutdown starts at byte 10.

BytesValue Field Name Description
1:0SEL Record ID record identifier
202hRecord Type 02h indicates a system event record
6:3SEL Timestamp
8:70041hGenerator ID 0041h indicates the event comes from system software whose ID 20h
9 04h EvMRev IPMI 2.0 Event Message Revision
10 20h Sensor Type:OS Stop/Shutdown Sensor type 1Fh is OS Boot as specified in the IPMI spec
11 00h Sensor Number
12 6FhEvent Type [7]: 0b: indicates an assertion event
[6:0]: 6Fh: indicates a Sensor-specific Discreet Type code. This means use the sensor specific offsets to interpret the event data bytes
13 03hEvent Data 1: [7:6]: 00b = unspecified byte 2 event data

[5:4]: 00b = unspecified byte 3 event data

[3:0]: Offset from Event/Reading Code
0h: Critical stop during OS load/initialization. Unexpected error during system startup. Stopped waiting for input or power cycle/reset
1h: Run-time critical stop (aka ‘core dump’ or ‘blue screen’
2h: OS Graceful stop (system powered up, but normal OS operation has shut down and system is awaiting reset pushbutton, power-cycle or other external input) 3h: OS Graceful Shutdown (system graceful power down by OS)
4h: Soft Shutdown initiated by PEF
5h: Agent Not Responding. Graceful shutdown request to agent via BMC did not occur due to missing or malfunctioning local agent
14 FFh Event Data 2 Not specified per bits 7-6 in event data 1
15 FFh Event Data 3 Not specified per bits 5-4 in event data 1

Type DDh Shutdown Reason OEM Event Record

The IPMI driver reads the shutdown reason code is from the DWORD registry value at

HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/ReasonCode (DWORD)

The reason code is then logged to the SEL with the following OEM Type DDh record:

Bytes Value Field Name Description
1:0SEL Record ID
2 DDh Record Type OEM Time stamped Record (bytes 7-15 are OEM Defined)DDh: OS Shutdown
6:3 SEL Timestamp
9:7137hIPMI Manufacturer ID 137h (311d) is the IANA enterprise number for Microsoft
10 Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
14:11 Shutdown Reason Shutdown Reason which is read from the registry:HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/ReasonCode (DWORD)
1500hReserved

Type DDh Shutdown Comment OEM Event Record

Similarly, the shutdown comment is a REG_SZ value read from the same registry key.

HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/Comment (REG_SZ)

Bytes Value Field Name Description
1:0SEL Record ID
2 DDh Record Type OEM Time stamped Record (bytes 7-15 are OEM Defined)DDh: OS Shutdown
6:3 SEL Timestamp
9:7137hIPMI Manufacturer ID 137h (311d) is the IANA enterprise number for Microsoft
10 Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
14:11 Shutdown Comment Shutdown Comment which is read from the registry:HKLM/Software/Microsoft/Windows/CurrentVersion/Reliability/shutdown/Comment (REG_SZ)
1500h Reserved

Disabling the Type DDh Shutdown Comment records

Because the shutdown comment can take so many records to log, it can cause the SEL to become full very quickly. Microsoft released a hotfix to allow for disabling the shutdown log comments for Windows Server 2008 SP1. This hotfix can be found at:

http://support.microsoft.com/kb/962920

Starting with Windows Server 2008 R2, the functionality is present in the OS without applying the hotfix. So for windows Server 2008 SP1, you must apply the hotfix before modifying the registry, but for Windows Server 2008 SP2 and later you can modify the registry without applying the hotfix.

1.Open regedit and navigate to HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\IPMI
2.Create a new DWORD Value named DisableSELShutdownComment
3.Right-click DisableSELShutdownComment, and then click Modify.
4.In the Value data box, type 1, and then click OK.
5.Close regedit and reboot

Bugcheck Events
A system bugcheck (bluescreen) will cause six records to be written to the event log. A type 02h System Event records is written, followed by five type DEh OEM event records: One for the bugcheck code, and one for each of the four parameters to the bugcheck.

Type 02h Bugcheck System Event Record

Like the other Type 02h System event records logged by the IPMI driver, the relevant information starts after the header at byte 10. In the case of the bugcheck, the sensor type is 20h which is the same as the Shutdown system event record, but the event data byte at byte 13 indicates runtime critical stop.

BytesValue Field Name Description
1:0SEL Record ID record identifier
202hRecord Type 02h indicates a system event record
6:3SEL Timestamp
8:70041hGenerator ID 0041h indicates the event comes from system software whose ID 20h
9 04h EvMRev IPMI 2.0 Event Message Revision
10 20h Sensor Type: OS Stop/Shutdown Sensor type 1Fh is OS Boot as specified in the IPMI spec
11 00h Sensor Number
12 6FhEvent Type [7]: 0b: indicates an assertion event

[6:0]: 6Fh: indicates a Sensor-specific Discreet Type code. This means use the sensor specific offsets to interpret the event data bytes
13 01hEvent Data 1[7:6]: 00b = unspecified byte 2 event data

[5:4]: 00b = unspecified byte 3 event data

[3:0]: Offset from Event/Reading Code 0h:Critical stop during OS load/initialization. Unexpected error during system startup. Stopped waiting for input or power cycle/reset

1h:Run-time critical stop (aka ‘core dump’ or ‘blue screen’

2h:OS Graceful stop (system powered up, but normal OS operation has shut down and system is awaiting reset pushbutton, power-cycle or other external input)

3h:OS Graceful Shutdown (system graceful power down by OS)

4h:Soft Shutdown initiated by PEF

5h:Agent Not Responding. Graceful shutdown request to agent via BMC did not occur due to missing or malfunctioning local agent
14 FFh Event Data 2 Not specified per bits 7-6 in event data 1
15 FFh Event Data 3 Not specified per bits 5-4 in event data 1

Type DEh Bugcheck Code OEM Event Record

The bugcheck code is the stop code displayed on the bluescreen. It is used to indicate the type of failure that caused the bugcheck. The OEM Type DEh event record saves the bugcheck code to the SEL.

Bytes Value Field Name Description
1:0SEL Record ID
2 DEhRecord Type OEM Time stamped Record (bytes 7-15 are OEM Defined)DEh: OS Bugcheck
6:3 SEL Timestamp
9:7137hIPMI Manufacturer ID 137h (311d) is the IANA enterprise number for Microsoft
10 Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
14:11 Bugcheck Stop Code Stop code listed on the BSOD
15System Architecture 00: 32bit OS
01: 64bit OS

Type DEh Bugcheck Parameter OEM Event Record

When the system encounters a condition or error it can’t handle, a system call is made to bugcheck the system. In addition to the bugcheck code described above, four parameters are passed to further describe the failure. This information can be used to debug the system and figure out why the crash occurred. The OEM Type DEh Bugcheck Parameter Event record is described below:

Bytes Value Field Name Description
1:0SEL Record ID
2 DEhRecord Type OEM Time stamped Record (bytes 7-15 are OEM Defined)

DEh: OS Bugcheck
6:3 SEL Timestamp
9:7137hIPMI Manufacturer ID 137h (311d) is the IANA enterprise number for Microsoft
10 Sequence Number Sequence number used to concatenate the OEM Data bytes from multiple SEL entries
14:11 Bugcheck Parameter Argument to Bugcheck. These are the same arguments listed on the BSOD
15System Architecture 00h: 32bit OS
01h: 64bit OS


This document is also available in Microsoft Word format as well, and it can be downloaded by clicking here.

Tags: bmc
Viewing all 335 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>