xref: /OK3568_Linux_fs/kernel/Documentation/driver-api/mei/iamt.rst (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun.. SPDX-License-Identifier: GPL-2.0
2*4882a593Smuzhiyun
3*4882a593SmuzhiyunIntel(R) Active Management Technology (Intel AMT)
4*4882a593Smuzhiyun=================================================
5*4882a593Smuzhiyun
6*4882a593SmuzhiyunProminent usage of the Intel ME Interface is to communicate with Intel(R)
7*4882a593SmuzhiyunActive Management Technology (Intel AMT) implemented in firmware running on
8*4882a593Smuzhiyunthe Intel ME.
9*4882a593Smuzhiyun
10*4882a593SmuzhiyunIntel AMT provides the ability to manage a host remotely out-of-band (OOB)
11*4882a593Smuzhiyuneven when the operating system running on the host processor has crashed or
12*4882a593Smuzhiyunis in a sleep state.
13*4882a593Smuzhiyun
14*4882a593SmuzhiyunSome examples of Intel AMT usage are:
15*4882a593Smuzhiyun   - Monitoring hardware state and platform components
16*4882a593Smuzhiyun   - Remote power off/on (useful for green computing or overnight IT
17*4882a593Smuzhiyun     maintenance)
18*4882a593Smuzhiyun   - OS updates
19*4882a593Smuzhiyun   - Storage of useful platform information such as software assets
20*4882a593Smuzhiyun   - Built-in hardware KVM
21*4882a593Smuzhiyun   - Selective network isolation of Ethernet and IP protocol flows based
22*4882a593Smuzhiyun     on policies set by a remote management console
23*4882a593Smuzhiyun   - IDE device redirection from remote management console
24*4882a593Smuzhiyun
25*4882a593SmuzhiyunIntel AMT (OOB) communication is based on SOAP (deprecated
26*4882a593Smuzhiyunstarting with Release 6.0) over HTTP/S or WS-Management protocol over
27*4882a593SmuzhiyunHTTP/S that are received from a remote management console application.
28*4882a593Smuzhiyun
29*4882a593SmuzhiyunFor more information about Intel AMT:
30*4882a593Smuzhiyunhttps://software.intel.com/sites/manageability/AMT_Implementation_and_Reference_Guide/default.htm
31*4882a593Smuzhiyun
32*4882a593Smuzhiyun
33*4882a593SmuzhiyunIntel AMT Applications
34*4882a593Smuzhiyun----------------------
35*4882a593Smuzhiyun
36*4882a593Smuzhiyun    1) Intel Local Management Service (Intel LMS)
37*4882a593Smuzhiyun
38*4882a593Smuzhiyun       Applications running locally on the platform communicate with Intel AMT Release
39*4882a593Smuzhiyun       2.0 and later releases in the same way that network applications do via SOAP
40*4882a593Smuzhiyun       over HTTP (deprecated starting with Release 6.0) or with WS-Management over
41*4882a593Smuzhiyun       SOAP over HTTP. This means that some Intel AMT features can be accessed from a
42*4882a593Smuzhiyun       local application using the same network interface as a remote application
43*4882a593Smuzhiyun       communicating with Intel AMT over the network.
44*4882a593Smuzhiyun
45*4882a593Smuzhiyun       When a local application sends a message addressed to the local Intel AMT host
46*4882a593Smuzhiyun       name, the Intel LMS, which listens for traffic directed to the host name,
47*4882a593Smuzhiyun       intercepts the message and routes it to the Intel MEI.
48*4882a593Smuzhiyun       For more information:
49*4882a593Smuzhiyun       https://software.intel.com/sites/manageability/AMT_Implementation_and_Reference_Guide/default.htm
50*4882a593Smuzhiyun       Under "About Intel AMT" => "Local Access"
51*4882a593Smuzhiyun
52*4882a593Smuzhiyun       For downloading Intel LMS:
53*4882a593Smuzhiyun       https://github.com/intel/lms
54*4882a593Smuzhiyun
55*4882a593Smuzhiyun       The Intel LMS opens a connection using the Intel MEI driver to the Intel LMS
56*4882a593Smuzhiyun       firmware feature using a defined GUID and then communicates with the feature
57*4882a593Smuzhiyun       using a protocol called Intel AMT Port Forwarding Protocol (Intel APF protocol).
58*4882a593Smuzhiyun       The protocol is used to maintain multiple sessions with Intel AMT from a
59*4882a593Smuzhiyun       single application.
60*4882a593Smuzhiyun
61*4882a593Smuzhiyun       See the protocol specification in the Intel AMT Software Development Kit (SDK)
62*4882a593Smuzhiyun       https://software.intel.com/sites/manageability/AMT_Implementation_and_Reference_Guide/default.htm
63*4882a593Smuzhiyun       Under "SDK Resources" => "Intel(R) vPro(TM) Gateway (MPS)"
64*4882a593Smuzhiyun       => "Information for Intel(R) vPro(TM) Gateway Developers"
65*4882a593Smuzhiyun       => "Description of the Intel AMT Port Forwarding (APF) Protocol"
66*4882a593Smuzhiyun
67*4882a593Smuzhiyun    2) Intel AMT Remote configuration using a Local Agent
68*4882a593Smuzhiyun
69*4882a593Smuzhiyun       A Local Agent enables IT personnel to configure Intel AMT out-of-the-box
70*4882a593Smuzhiyun       without requiring installing additional data to enable setup. The remote
71*4882a593Smuzhiyun       configuration process may involve an ISV-developed remote configuration
72*4882a593Smuzhiyun       agent that runs on the host.
73*4882a593Smuzhiyun       For more information:
74*4882a593Smuzhiyun       https://software.intel.com/sites/manageability/AMT_Implementation_and_Reference_Guide/default.htm
75*4882a593Smuzhiyun       Under "Setup and Configuration of Intel AMT" =>
76*4882a593Smuzhiyun       "SDK Tools Supporting Setup and Configuration" =>
77*4882a593Smuzhiyun       "Using the Local Agent Sample"
78*4882a593Smuzhiyun
79*4882a593SmuzhiyunIntel AMT OS Health Watchdog
80*4882a593Smuzhiyun----------------------------
81*4882a593Smuzhiyun
82*4882a593SmuzhiyunThe Intel AMT Watchdog is an OS Health (Hang/Crash) watchdog.
83*4882a593SmuzhiyunWhenever the OS hangs or crashes, Intel AMT will send an event
84*4882a593Smuzhiyunto any subscriber to this event. This mechanism means that
85*4882a593SmuzhiyunIT knows when a platform crashes even when there is a hard failure on the host.
86*4882a593Smuzhiyun
87*4882a593SmuzhiyunThe Intel AMT Watchdog is composed of two parts:
88*4882a593Smuzhiyun    1) Firmware feature - receives the heartbeats
89*4882a593Smuzhiyun       and sends an event when the heartbeats stop.
90*4882a593Smuzhiyun    2) Intel MEI iAMT watchdog driver - connects to the watchdog feature,
91*4882a593Smuzhiyun       configures the watchdog and sends the heartbeats.
92*4882a593Smuzhiyun
93*4882a593SmuzhiyunThe Intel iAMT watchdog MEI driver uses the kernel watchdog API to configure
94*4882a593Smuzhiyunthe Intel AMT Watchdog and to send heartbeats to it. The default timeout of the
95*4882a593Smuzhiyunwatchdog is 120 seconds.
96*4882a593Smuzhiyun
97*4882a593SmuzhiyunIf the Intel AMT is not enabled in the firmware then the watchdog client won't enumerate
98*4882a593Smuzhiyunon the me client bus and watchdog devices won't be exposed.
99*4882a593Smuzhiyun
100*4882a593Smuzhiyun---
101*4882a593Smuzhiyunlinux-mei@linux.intel.com
102