123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190 |
- Intel MEI
- =======================
- Introduction
- =======================
- The Intel Management Engine (Intel ME) is an isolated and
- protected computing resource (Coprocessor) residing inside
- Intel chipsets. The Intel ME provides support for computer/IT
- management features.
- The Feature set depends on the Intel chipset SKU.
- The Intel Management Engine Interface (Intel MEI, previously known
- as HECI) is the interface between the Host and Intel ME.
- This interface is exposed to the host as a PCI device.
- The Intel MEI Driver is in charge of the communication channel
- between a host application and the ME feature.
- Each Intel ME feature (Intel ME Client) is addressed by
- GUID/UUID and each feature defines its own protocol.
- The protocol is message-based with a header and payload up to
- 512 bytes.
- [place holder to URL to protocol definitions]
- Prominent usage of the Interface is to communicate with
- Intel Active Management Technology (Intel AMT)
- implemented in firmware running on the Intel ME.
- Intel AMT provides the ability to manage a host remotely out-of-band (OOB)
- even when the host processor has crashed or is in a sleep state.
- Some examples of Intel AMT usage are:
- - Monitoring hardware state and platform components
- - Remote power off/on (useful for green computing or overnight IT maintenance)
- - OS updates
- - Storage of useful platform information such as software assets
- - built-in hardware KVM
- - selective network isolation of Ethernet and IP protocol flows based on
- policies set by a remote management console
- - IDE device redirection from remote management console
- Intel AMT (OOB) communication is based on SOAP (deprecated
- starting with Release 6.0) over HTTP/HTTPS or WS-Management protocol
- over HTTP and HTTPS that are received from a remote
- management console application.
- For more information about Intel AMT:
- http://software.intel.com/sites/manageability/AMT_Implementation_and_Reference_Guide/WordDocuments/aboutintelamt.htm
- MEI Driver
- =======================
- The driver exposes a character device called /dev/mei.
- An application maintains communication with an ME feature while
- /dev/mei is open. The binding to a specific features is performed
- by calling MEI_CONNECT_CLIENT_IOCTL, which passes the desired UUID.
- The number of instances of an ME feature that can be opened
- at the same time depends on the ME feature, but most of the
- features allow only a single instance.
- The Intel AMT Host Interface (AMTHI) feature requires multiple
- simultaneous user applications, therefore the MEI driver handles
- this internally by maintaining request queues for the applications.
- The driver is oblivious to data that are passed between
- Because some of the ME features can change the system
- configuration, the driver by default allows only privileged
- user to access it.
- A Code snippet for application communicating with AMTHI client:
- struct mei_connect_client_data data;
- fd = open(MEI_DEVICE);
- data.d.in_client_uuid = AMTHI_UUID;
- ioctl(fd, IOCTL_MEI_CONNECT_CLIENT, &data);
- printf(“Ver=%d, MaxLen=%ld\n”,
- data.d.in_client_uuid.protocol_version,
- data.d.in_client_uuid.max_msg_length);
- [...]
- write(fd, amthi_req_data, amthi_req_data_len);
- [...]
- read(fd, &amthi_res_data, amthi_res_data_len);
- [...]
- close(fd);
- ME Applications:
- ==============
- 1) Intel Local Management Service (Intel LMS)
- Applications running locally on the platform communicate with
- Intel AMT Release 2.0 and later releases in the same way
- that network applications do via SOAP over HTTP (deprecated
- starting with Release 6.0) or with WS-Management over SOAP over
- HTTP. which means that some Intel AMT feature can be access
- from a local application using same Network interface as for
- remote application.
- When a local application sends a message addressed to the local
- Intel AMT host name, the Local Manageability Service (LMS),
- which listens for traffic directed to the host name, intercepts
- the message and routes it to the Intel Management Engine Interface.
- For more information:
- http://software.intel.com/sites/manageability/AMT_Implementation_and_
- Reference_Guide/WordDocuments/localaccess1.htm
- The LMS opens a connection using the MEI driver to the LMS
- FW feature using a defined UUID and then communicates with the
- feature using a protocol
- called Intel(R) AMT Port Forwarding Protocol (APF protocol).
- The protocol is used to maintain multiple sessions with
- Intel AMT from a single application.
- See the protocol specification in
- the Intel(R) AMT Implementation and Reference Guide
- http://software.intel.com/sites/manageability/AMT_Implementation_and_Reference_Guide/HTMLDocuments/MPSDocuments/Intel%20AMT%20Port%20Forwarding%20Protocol%20Reference%20Manual.pdf
- 2) Intel AMT Remote configuration using a Local Agent:
- A Local Agent enables IT personnel to configure Intel AMT out-of-the-box
- without requiring installing additional data to enable setup.
- The remote configuration process may involve an ISV-developed remote
- configuration agent that runs on the host.
- For more information:
- http://software.intel.com/sites/manageability/AMT_Implementation_and_Reference_Guide/WordDocuments/remoteconfigurationwithalocalagent.htm
- How the Local Agent Works (including Command structs):
- http://software.intel.com/sites/manageability/AMT_Implementation_and_Reference_Guide/WordDocuments/howthelocalagentsampleworks.htm
- Intel AMT OS Health Watchdog:
- =============================
- The Intel AMT Watchdog is an OS Health (Hang/Crash) watchdog.
- Whenever the OS hangs or crashes, Intel AMT will send an event
- to whoever subscribed to this event. This mechanism means that
- IT knows when a platform crashes even when there is a hard failure
- on the host.
- The AMT Watchdog is composed of two parts:
- 1) FW Feature - that receives the heartbeats
- and sends an event when the heartbeats stop.
- 2) MEI driver – connects to the watchdog (WD) feature,
- configures the watchdog and sends the heartbeats.
- The MEI driver configures the Watchdog to expire by default
- every 120sec unless set by the user using module parameters.
- The Driver then sends heartbeats every 2sec.
- If WD feature does not exist (i.e. the connection failed),
- the MEI driver will disable the sending of heartbeats.
- Module Parameters
- =================
- watchdog_timeout - the user can use this module parameter
- to change the watchdog timeout setting.
- This value sets the Intel AMT watchdog timeout interval in seconds;
- the default value is 120sec.
- in order to disable the watchdog activites set the value to 0.
- Normal values should be between 120 and 65535
- Supported Chipsets:
- ==================
- 7 Series Chipset Family
- 6 Series Chipset Family
- 5 Series Chipset Family
- 4 Series Chipset Family
- Mobile 4 Series Chipset Family
- ICH9
- 82946GZ/GL
- 82G35 Express
- 82Q963/Q965
- 82P965/G965
- Mobile PM965/GM965
- Mobile GME965/GLE960
- 82Q35 Express
- 82G33/G31/P35/P31 Express
- 82Q33 Express
- 82X38/X48 Express
- ---
- linux-mei@linux.intel.com
|