aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging/mei/mei.txt
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/staging/mei/mei.txt')
-rw-r--r--drivers/staging/mei/mei.txt189
1 files changed, 189 insertions, 0 deletions
diff --git a/drivers/staging/mei/mei.txt b/drivers/staging/mei/mei.txt
new file mode 100644
index 00000000000..17302ad2531
--- /dev/null
+++ b/drivers/staging/mei/mei.txt
@@ -0,0 +1,189 @@
1Intel MEI
2=======================
3
4Introduction
5=======================
6
7The Intel Management Engine (Intel ME) is an isolated and
8protected computing resource (Coprocessor) residing inside
9Intel chipsets. The Intel ME provides support for computer/IT
10management features.
11The Feature set depends on the Intel chipset SKU.
12
13The Intel Management Engine Interface (Intel MEI, previously known
14as HECI) is the interface between the Host and Intel ME.
15This interface is exposed to the host as a PCI device.
16The Intel MEI Driver is in charge of the communication channel
17between a host application and the ME feature.
18
19Each Intel ME feature (Intel ME Client) is addressed by
20GUID/UUID and each feature defines its own protocol.
21The protocol is message-based with a header and payload up to
22512 bytes.
23
24[place holder to URL to protocol definitions]
25
26Prominent usage of the Interface is to communicate with
27Intel Active Management Technology (Intel AMT)
28implemented in firmware running on the Intel ME.
29
30Intel AMT provides the ability to manage a host remotely out-of-band (OOB)
31even when the host processor has crashed or is in a sleep state.
32
33Some examples of Intel AMT usage are:
34 - Monitoring hardware state and platform components
35 - Remote power off/on (useful for green computing or overnight IT maintenance)
36 - OS updates
37 - Storage of useful platform information such as software assets
38 - built-in hardware KVM
39 - selective network isolation of Ethernet and IP protocol flows based on
40 policies set by a remote management console
41 - IDE device redirection from remote management console
42
43Intel AMT (OOB) communication is based on SOAP (deprecated
44starting with Release 6.0) over HTTP/HTTPS or WS-Management protocol
45over HTTP and HTTPS that are received from a remote
46management console application.
47
48For more information about Intel AMT:
49http://software.intel.com/sites/manageability/AMT_Implementation_and_Reference_Guide/WordDocuments/aboutintelamt.htm
50
51
52MEI Driver
53=======================
54
55The driver exposes a character device called /dev/mei.
56
57An application maintains communication with an ME feature while
58/dev/mei is open. The binding to a specific features is performed
59by calling MEI_CONNECT_CLIENT_IOCTL, which passes the desired UUID.
60The number of instances of an ME feature that can be opened
61at the same time depends on the ME feature, but most of the
62features allow only a single instance.
63
64
65The Intel AMT Host Interface (AMTHI) feature requires multiple
66simultaneous user applications, therefore the MEI driver handles
67this internally by maintaining request queues for the applications.
68
69The driver is oblivious to data that are passed between
70
71Because some of the ME features can change the system
72configuration, the driver by default allows only privileged
73user to access it.
74
75A Code snippet for application communicating with AMTHI client:
76 struct mei_connect_client_data data;
77 fd = open(MEI_DEVICE);
78
79 data.d.in_client_uuid = AMTHI_UUID;
80
81 ioctl(fd, IOCTL_MEI_CONNECT_CLIENT, &data);
82
83 printf(“Ver=%d, MaxLen=%ld\n”,
84 data.d.in_client_uuid.protocol_version,
85 data.d.in_client_uuid.max_msg_length);
86
87 [...]
88
89 write(fd, amthi_req_data, amthi_req_data_len);
90
91 [...]
92
93 read(fd, &amthi_res_data, amthi_res_data_len);
94
95 [...]
96 close(fd);
97
98ME Applications:
99==============
100
1011) Intel Local Management Service (Intel LMS)
102 Applications running locally on the platform communicate with
103 Intel AMT Release 2.0 and later releases in the same way
104 that network applications do via SOAP over HTTP (deprecated
105 starting with Release 6.0) or with WS-Management over SOAP over
106 HTTP. which means that some Intel AMT feature can be access
107 from a local application using same Network interface as for
108 remote application.
109
110 When a local application sends a message addressed to the local
111 Intel AMT host name, the Local Manageability Service (LMS),
112 which listens for traffic directed to the host name, intercepts
113 the message and routes it to the Intel Management Engine Interface.
114 For more information:
115 http://software.intel.com/sites/manageability/AMT_Implementation_and_
116 Reference_Guide/WordDocuments/localaccess1.htm
117
118 The LMS opens a connection using the MEI driver to the LMS
119 FW feature using a defined UUID and then communicates with the
120 feature using a protocol
121 called Intel(R) AMT Port Forwarding Protocol (APF protocol).
122 The protocol is used to maintain multiple sessions with
123 Intel AMT from a single application.
124 See the protocol specification in
125 the Intel(R) AMT Implementation and Reference Guide
126 http://software.intel.com/sites/manageability/AMT_Implementation_and_Reference_Guide/HTMLDocuments/MPSDocuments/Intel%20AMT%20Port%20Forwarding%20Protocol%20Reference%20Manual.pdf
127
128 2) Intel AMT Remote configuration using a Local Agent:
129 A Local Agent enables IT personnel to configure Intel AMT out-of-the-box
130 without requiring installing additional data to enable setup.
131 The remote configuration process may involve an ISV-developed remote
132 configuration agent that runs on the host.
133 For more information:
134 http://software.intel.com/sites/manageability/AMT_Implementation_and_Reference_Guide/WordDocuments/remoteconfigurationwithalocalagent.htm
135
136 How the Local Agent Works (including Command structs):
137 http://software.intel.com/sites/manageability/AMT_Implementation_and_Reference_Guide/WordDocuments/howthelocalagentsampleworks.htm
138
139Intel AMT OS Health Watchdog:
140=============================
141The Intel AMT Watchdog is an OS Health (Hang/Crash) watchdog.
142Whenever the OS hangs or crashes, Intel AMT will send an event
143to whoever subscribed to this event. This mechanism means that
144IT knows when a platform crashes even when there is a hard failure
145on the host.
146The AMT Watchdog is composed of two parts:
147 1) FW Feature - that receives the heartbeats
148 and sends an event when the heartbeats stop.
149 2) MEI driver – connects to the watchdog (WD) feature,
150 configures the watchdog and sends the heartbeats.
151
152The MEI driver configures the Watchdog to expire by default
153every 120sec unless set by the user using module parameters.
154The Driver then sends heartbeats every 2sec.
155
156If WD feature does not exist (i.e. the connection failed),
157the MEI driver will disable the sending of heartbeats.
158
159Module Parameters
160=================
161watchdog_timeout - the user can use this module parameter
162to change the watchdog timeout setting.
163
164This value sets the Intel AMT watchdog timeout interval in seconds;
165the default value is 120sec.
166in order to disable the watchdog activites set the value to 0.
167Normal values should be between 120 and 65535
168
169Supported Chipsets:
170==================
1717 Series Chipset Family
1726 Series Chipset Family
1735 Series Chipset Family
1744 Series Chipset Family
175Mobile 4 Series Chipset Family
176ICH9
17782946GZ/GL
17882G35 Express
17982Q963/Q965
18082P965/G965
181Mobile PM965/GM965
182Mobile GME965/GLE960
18382Q35 Express
18482G33/G31/P35/P31 Express
18582Q33 Express
18682X38/X48 Express
187
188---
189linux-mei@linux.intel.com