Applications connect to the Intel MEI host driver through an IOCTL interface. The interface supports the following operations:
• Open client
• Read from client
• Write to client
• Close client
An IOCTL Write operation returns without waiting for a response. An IOCTL Read operation blocks until data is ready.
The Remote Configuration sample agent demonstrates how to connect to the MEI driver and use the IOCTL commands. See the HECIWin class in the sample for specific details. The sample uses Microsoft Device IO Control library functions to create a handle and connect to the MEI driver.
The Intel AMT firmware and other firmware executing on the Intel Management Engine is divided into Clients. Each client responds to a subset of commands. The commands in this appendix are part of two different clients:
• The command client, which processes most of the commands and is part of Intel AMT
• The Watchdog (WD) client, which executes even when Intel AMT is not active or even installed. Special commands within the WD client (the STATE_INDEPENDENCE commands, described above) allow changing a platform so that Intel AMT is enabled.
A local agent must connect to each of these two clients separately. Each has a separate pre-defined GUID and each requires a handle to connect to it.
The following summarizes the steps used to connect to the Intel MEI using IOCTL:
1. Find the Intel MEI device.
• Enumerate PCI devices.
• Use the GUID E2D1FF34-3458-49A9-88DA-8E6915CE9BE5 for the command client (the symbol in the sample GUID_DEVINTERFACE_HECI is set to this value).
2. Create a handle to the device.
3. Obtain the device detail including the version and message buffer sizes.
To connect to the Watchdog (WD) client, perform the same steps using the GUID 05B79A6F-4628-4D7F-899D-A91514CB32AB (the symbol in the sample HECI_WATCHDOG_GUID is set to this value).
Copyright © 2006-2022, Intel Corporation. All rights reserved.