What about those PET events?

By Gael Holmes (Intel) (91 posts) on March 6, 2008 at 3:58 pm

... And all about great knowledge sharing on our Manageability Community Developer's Forum!

Nope, I'm not talking about the Westminster Kennel Club Dog Show.... I'm talking about Platform Event Traps and how they relate to managed systems.

Intel AMT Remote Management provides always-available access to event logs of the following: PC Sensors, effectors, and other non-volatile data. It also has the ability to generate out-of-band alerts (PETs) based on sensor events.Platform Event Trap is a specification defining the format for managed systems to alert a remote console.

Knowledge of deciphering these Events comes in handy when trying to display the content of event logs from an Intel® AMT system in a human readable format and from time to time we get questions on the Forum asking "how the heck are we supposed to decipher these events??" In one such thread, the user actually took a lot of time to go through the IPMI specification and provided the community with a code snippet to help them decipher the events (pertaining to the AMT DTK code.)

He reported the following: "For anyone else looking for this information it can be found in section 4.2 Sensor and Event Code Tables....

It seems as though Intel AMT only uses the "system firmware progress" sensor type as I'm unable to generate any other type of message...

Anyone using the DTK who wishes to get a more detailed error message such as shown in the web interface can achieve this by modifying the AmtEventManager.cs file as shown below. Hope this helps anyone with the same problem as me :- "

======================================================================

public class AmtEventData
{
private static string[] SystemFirmwareError =
{
"Unspecified.",
"No system memory is physically installed in the system.",
"No usable system memory, all installed memory has experienced an unrecoverable failure.",
"Unrecoverable hard-disk/ATAPI/IDE device failure.",
"Unrecoverable system-board failure.",
"Unrecoverable diskette subsystem failure.",
"Unrecoverable hard-disk controller failure.",
"Unrecoverable PS/2 or USB keyboard failure.",
"Removable boot media not found",
"Unrecoverable video controller failure",
"No video device detected",
"Firmware (BIOS) ROM corruption detected",
"CPU voltage mismatch processors that share same supply have mismatched voltage requirements)",
"CPU speed matching failure"
};
private static string[] m_SystemFirmwareProgress =
{
"Unspecified.",
"Memory initialization.",
"Hard-disk initialization",
"Secondary processor(s) initialization",
"User authentication",
"User-initiated system setup",
"USB resource configuration",
"PCI resource configuration",
"Option ROM initialization",
"Video initialization",
"Cache initialization",
"SM Bus initialization",
"Keyboard controller initialization",
"Embedded controller/management controller initialization",
"Docking station attachment",
"Enabling docking station",
"Docking station ejection",
"Disabling docking station",
"Calling operating system wake-up vector",
"Starting operating system boot process",
"Baseboard or motherboard initialization",
"reserved",
"Floppy initialization",
"Keyboard test",
"Pointing device test",
"Primary processor initialization"
};
public static string GetEventDetailStr(byte eventSensorType, byte eventOffset, byte[] eventDataField)
{
if (15 != eventSensorType) return "Unknown Event Type";

try
{
if (0 == eventOffset) return SystemFirmwareError[eventDataField[1]];
else return m_SystemFirmwareProgress[eventDataField[1]];
}
catch (IndexOutOfRangeException)
{
return "Unknown Event Type";
}
}
==========================================================
public class AmtEvent
{
private EventLogRecordType evt
public string EventDetailStr{ get { return AmtEventData.GetEventDetailStr

(evt.EventSensorType, evt.EventOffset, evt.EventData); }

===========================================================

That's it for the code snippet. For more detailed information on PET Events, here are some links to the specification docs and forum threads that are applicable:

Happy PETting!!

Categories: Manageability

Comments (0)

Trackbacks (0)


Leave a comment  

To obtain technical support, please go to Software Support.
Name (required)*

Email (required; will not be displayed on this page)*

Your URL (optional)


Comment*