Host Embedded Controller Interface
Host Embedded Controller Interface (HECI) is technology introduced in 2006 used for Active Management Technology (AMT) in Intel chipsets that support Core 2 Duo microprocessors. Details. The HECI bus allows the host operating system (OS) to communicate directly with the Management Engine (ME) integrated in the chipset. This bi-directional, variable data-rate bus enables the host and ME to communicate system management information and events in a standards-compliant way, essentially replacing the System Management Bus (SMBus). The bus consists of four wires: a request and grant pair along with a serial transmit and receive  data pair. Original equipment manufacturers (OEMs) have historically provided active management technologies through the use of proprietary on-board controllers, such as Baseboard Management Controllers. These solutions typically suffer two main disadvantages due to their proprietary nature. High BOM costs are usually incurred due to the need for additional components and routing. High product lifecycle costs are incurred due to the non-standard implementation, which increases software and hardware design and validation costs while remaining relatively inflexible to future changes. On the other hand, the inflexibility is even greater with HECI due to coupling HECI with a chipset, and having  to redevelop HECI software for each different chipset as opposed to one common BMC software for multiple chipsets. HECI and the previously used SMBus have the following aspects in common: the Host OS is able to control system management devices such as: on-board fan controllers, remote wake devices such as Wake-on-LAN, power supply devices such as Smart Battery Data. Builtin HECI functionality and third-party management cards can allow the Host OS to directly initiate management events (such as remote wake, or, out-of-band throttling to decrease thermal and power profile) in case HECI is supported  by the running OS. Example devices are network cards and graphics cards. Besides that, both HECI and other ME technologies are chipset/ME vendor-specific. Example. As an example, assume the case of Wake-on-LAN. Traditionally, the OS controls Wake-on-LAN and must call third-party device drivers to enable support on a network card. With the HECI bus, the "host" is able to assert its request line (REQ#), the "ME" will assert its grant line (GNT#), and the "host" can send its message using its serial transmit signal. Upon receipt of the Wake-on-LAN enable message  on HECI, the "ME" directly enables Wake-on-LAN in the integrated (or externally supported) network device. Without HECI drivers in the OS, Wake-on-LAN functionality is lost even if standard network drivers would be able to enable it. This is a major problem in large-scale enterprise deployments with standard software images. When the magic wake packet is received by the LAN device, the encapsulated data is passed to the "ME", which has its own TCP/IP stack and can decapsulate the packet. The ME then asserts its request line (REQ#), the "host" acknowledges by asserting grant (GNT #), and the message is passed to the "host" to initiate a wake event. With this technology, the magic packet may be encapsulated in TCP packets thus allowing the packet to traverse network infrastructures via routers and thereby increasing the attack surface, something which traditional Wake-on-LAN does not enable. An advantage in Intel-centric deployments is that the solution does not require non-Intel drivers. If no host/ME interaction is needed, HECI and other ME technologies are OS independent.