System Tools User Guide
System Tools User Guide
September 2012
Intel Confidential
INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED,
BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS
PROVIDED IN INTEL'S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER
AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF INTEL PRODUCTS
INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR
INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT.
A "Mission Critical Application" is any application in which failure of the Intel Product could result, directly or indirectly, in
personal injury or death. SHOULD YOU PURCHASE OR USE INTEL'S PRODUCTS FOR ANY SUCH MISSION CRITICAL APPLICATION,
YOU SHALL INDEMNIFY AND HOLD INTEL AND ITS SUBSIDIARIES, SUBCONTRACTORS AND AFFILIATES, AND THE DIRECTORS,
OFFICERS, AND EMPLOYEES OF EACH, HARMLESS AGAINST ALL CLAIMS COSTS, DAMAGES, AND EXPENSES AND REASONABLE
ATTORNEYS' FEES ARISING OUT OF, DIRECTLY OR INDIRECTLY, ANY CLAIM OF PRODUCT LIABILITY, PERSONAL INJURY, OR
DEATH ARISING IN ANY WAY OUT OF SUCH MISSION CRITICAL APPLICATION, WHETHER OR NOT INTEL OR ITS
SUBCONTRACTOR WAS NEGLIGENT IN THE DESIGN, MANUFACTURE, OR WARNING OF THE INTEL PRODUCT OR ANY OF ITS
PARTS.
Intel may make changes to specifications and product descriptions at any time, without notice. Designers must not rely on the
absence or characteristics of any features or instructions marked "reserved" or "undefined". Intel reserves these for future
definition and shall have no responsibility whatsoever for conflicts or incompatibilities arising from future changes to them. The
information here is subject to change without notice. Do not finalize a design with this information.
The products described in this document may contain design defects or errors known as errata which may cause the product to
deviate from published specifications. Current characterized errata are available on request.
Contact your local Intel sales office or your distributor to obtain the latest specifications and before placing your product order.
Copies of documents which have an order number and are referenced in this document, or other Intel literature, may be obtained
by calling 1-800-548-4725, or go to: http://www.intel.com/design/literature.htm%20
All products, platforms, dates, and figures specified are preliminary based on current expectations, and are subject to change
without notice. All dates specified are target dates, are provided for planning purposes only and are subject to change.
This document contains information on products in the design phase of development. Do not finalize a design with this
information. Revised information will be published when the product is available. Verify with your local sales office that you have
the latest datasheet before finalizing a design.
Intel® Active Management Technology (Intel® AMT)Requires activation and a system with a corporate network connection, an
Intel® AMT-enabled chipset, network hardware and software. For notebooks, Intel AMT may be unavailable or limited over a
host OS-based VPN, when connecting wirelessly, on battery power, sleeping, hibernating or powered off. Results dependent
upon hardware, setup and configuration. For more information, visit http://www.intel.com/technology/platform-technology/intel-
amt.
No system can provide absolute security under all conditions. Requires an enabled chipset, BIOS, firmware and software, and a
subscription with a capable Service Provider. Consult your system manufacturer and Service Provider for availability and
functionality. Intel assumes no liability for lost or stolen data and/or systems or any other damages resulting thereof. For more
information, visit http://www.intel.com/go/anti-theft.
KVM Remote Control (Keyboard, Video, Mouse) is only available with Inte®l Core™ i5 vPro and Core™ i7 vPro processors with
Intel® Active Management technology activated and configured and with integrated graphics active. Discrete graphics are not
supported.
Systems using Client Initiated Remote Access require wired LAN connectivity and may not be available in public hot spots or
"click to accept" locations.
Code names featured are used internally within Intel to identify products that are in development and not yet publicly announced
for release. Customers, licensees and other third parties are not authorized by Intel to use code names in advertising, promotion
or marketing of any product or services and any such use of Intel's internal code names is at the sole risk of the user.
Intel, Intel® vPro™, and the Intel logo are trademarks of Intel Corporation in the U.S. and other countries.
*Other names and brands may be claimed as the property of others.
Copyright© 2012, Intel Corporation. All rights reserved.
2 Intel Confidential
Contents
1 Introduction .......................................................................................................8
1.1 Terminology ............................................................................................8
1.2 Reference Documents............................................................................. 14
2 Preface ............................................................................................................ 15
2.1 Overview .............................................................................................. 15
2.2 Intel® ME 8.x System Tools Changes ....................................................... 15
2.3 Image Editing Tools ............................................................................... 16
2.4 Manufacturing Line Validation Tools ......................................................... 16
2.5 Intel® ME Setting Checker Tool ................................................................ 16
2.6 Operating System Support ...................................................................... 17
2.7 Generic System Requirements ................................................................. 17
2.8 Error Return .......................................................................................... 18
2.9 Usage of the Double-Quote Character (") .................................................. 18
2.10 PMX Driver Limitation ............................................................................. 19
3 Flash Image Tool .............................................................................................. 20
3.1 System Requirements ............................................................................ 20
3.2 Flash Image Details................................................................................ 20
3.2.1 Flash Space Allocation ............................................................... 21
3.3 Required Files........................................................................................ 22
3.4 FITC ..................................................................................................... 23
3.4.1 Configuration Files .................................................................... 23
3.4.2 Creating a New Configuration ..................................................... 23
3.4.3 Opening an Existing Configuration .............................................. 23
3.4.4 Saving a Configuration .............................................................. 23
3.4.5 Environment Variables .............................................................. 23
3.4.6 Build Settings........................................................................... 26
3.4.7 Selecting the Platform SKU ........................................................ 28
3.4.8 Modifying the Flash Descriptor Region ......................................... 29
3.4.9 Descriptor Region Length........................................................... 29
3.4.10 Setting the Number and Size of the Flash Components .................. 29
3.4.11 Region Access Control ............................................................... 32
3.4.12 PCH Soft Straps........................................................................ 34
3.4.13 VSCC Table .............................................................................. 35
3.4.14 Adding a New Table .................................................................. 35
3.4.15 Removing an Existing VSCC Table............................................... 36
3.4.16 Modifying the Intel® ME Region .................................................. 36
3.4.17 Setting the Intel® ME Region Binary File ...................................... 36
3.4.18 Intel® ME FW Configuration ....................................................... 36
3.4.19 Intel® ME Section ..................................................................... 36
3.4.20 Manageability Application Section ............................................... 37
3.4.21 Features Supported .................................................................. 38
3.4.22 Setup and Configuration Section ................................................. 39
3.4.23 GbE (LAN) Region Settings ........................................................ 40
3.4.24 Setting the GbE Region Length Option......................................... 40
Intel Confidential 3
3.4.25 Setting the GbE Region Binary File .............................................. 40
3.4.26 Enabling/Disabling the GbE Region ............................................. 40
3.4.27 Modifying the PDR Region .......................................................... 41
3.4.28 Setting the PDR Region Length Option ........................................ 42
3.4.29 Setting the PDR Region Binary File.............................................. 42
3.4.30 Enabling/Disabling the PDR Region ............................................. 42
3.4.31 Modifying the BIOS Region ........................................................ 43
3.4.32 Setting the BIOS Region Length Parameter .................................. 43
3.4.33 Setting the BIOS Region Binary File ............................................ 43
3.4.34 Enabling/Disabling the BIOS Region ............................................ 43
3.4.35 Building a Flash Image .............................................................. 44
3.4.36 Change the Region Order on the SPI Device ................................. 44
3.4.37 Decomposing an Existing Flash Image ......................................... 45
3.4.38 Command Line Interface ........................................................... 45
3.4.39 Example – Decomposing an Image and Extracting Parameters ....... 47
3.4.40 More Examples of FITC CLI ........................................................ 47
4 Flash Programming Tool .................................................................................... 49
4.1 System Requirements ............................................................................ 49
4.2 Flash Image Details................................................................................ 50
4.3 Microsoft Windows Required Files............................................................. 50
4.4 EFI Required Files .................................................................................. 51
4.5 DOS Required Files ................................................................................ 51
4.6 Programming the Flash Device ................................................................ 52
4.6.1 Stopping Intel® ME SPI Operations ............................................. 52
4.7 Programming Fixed Offset Variables ......................................................... 52
4.8 Usage ................................................................................................... 53
4.9 Updating Hash Certificate through FOV ..................................................... 58
4.10 Fparts.txt File ........................................................................................ 60
4.11 Examples .............................................................................................. 60
4.11.1 Complete SPI Flash Device with Binary File .................................. 61
4.11.2 Program a Specific Region ......................................................... 61
4.11.3 Program SPI Flash from a Specific Address .................................. 62
4.11.4 Dump full image ....................................................................... 62
4.11.5 Dump Specific Region ............................................................... 62
4.11.6 Display SPI Information............................................................. 63
4.11.7 Verify Image with Errors ............................................................ 63
4.11.8 Verify Image Successfully .......................................................... 64
4.11.9 Get Intel® ME settings ............................................................... 64
4.11.10 Compare Intel® ME settings ....................................................... 65
4.11.11 FOV Configuration File Generation (-cfggen) ................................ 66
5 MEManuf and MEManufWin ................................................................................ 69
5.1 Windows* PE Requirements .................................................................... 69
5.2 How to Use MEMANUF ............................................................................ 69
5.3 Usage ................................................................................................... 69
5.3.1 Host based tests ....................................................................... 74
5.4 MEMANUF –EOL Check ........................................................................... 74
5.4.1 MEMANUF.cfg File ..................................................................... 74
5.4.2 MEMANUF –EOL Variable Check .................................................. 78
5.4.3 MEMANUF –EOL Config Check .................................................... 78
5.4.4 Output/Result .......................................................................... 79
5.5 Examples .............................................................................................. 79
4 Intel Confidential
5.5.1 Example 1 ............................................................................... 79
6 MEInfo ............................................................................................................ 84
6.1 Windows* PE Requirements .................................................................... 84
6.2 Usage ................................................................................................... 84
6.3 Examples .............................................................................................. 93
6.3.1 1.5MB Intel® ME FW SKU ........................................................... 93
6.3.2 5MB Intel® ME FW SKU ............................................................. 94
6.3.3 Retrieve the current value of the Flash version ............................. 95
6.3.4 Checks whether the computer has completed the setup and
configuration process ................................................................ 95
7 Intel® ME Firmware Update ................................................................................ 96
7.1 Requirements ........................................................................................ 96
7.2 Windows* PE Requirements .................................................................... 96
7.3 Enabling and Disabling Intel® FWUpdate ................................................... 97
7.4 Usage ................................................................................................... 97
7.5 Examples .............................................................................................. 99
7.5.1 Updates Intel® ME with Firmware binary file ................................. 99
7.5.2 Halt Remote Configuration ......................................................... 99
7.5.3 Partial Firmware Update .......................................................... 100
7.5.4 Display supported commands ................................................... 101
8 Update Parameter Tool .................................................................................... 102
8.1 Purpose of the Tool .............................................................................. 102
8.2 Usage of the Tool ................................................................................. 102
8.3 USB Utility .......................................................................................... 103
8.3.1 Syntax .................................................................................. 104
8.4 Output................................................................................................ 106
8.5 Parameters Intel® UpdParam can Change................................................ 107
8.6 Examples ............................................................................................ 108
Figures
Figure 1: SPI Flash Image Regions ..................................................................... 21
Figure 2. Environment Variables Dialog ............................................................... 25
Figure 3. Build Settings Dialog ........................................................................... 27
Figure 4: Selected an SKU Platform in FITC .......................................................... 28
Figure 5. Descriptor Region Length Parameter ...................................................... 29
Figure 6: Descriptor Region > Descriptor Map Parameters ..................................... 29
Intel Confidential 5
Figure 7: Flash Components Dialog ..................................................................... 30
Figure 8: Descriptor Region > Component Section Parameters ............................... 31
Figure 9: Descriptor Region > Master Access Section ............................................ 34
Figure 10: PCH Straps ....................................................................................... 34
Figure 11: Add VSCC Table Entry Dialog .............................................................. 35
Figure 12: Sample VSCC Table Entry................................................................... 36
Figure 13: Intel® ME Section .............................................................................. 37
Figure 14: Manageability Application Section ........................................................ 37
Figure 15: Features Supported Section ................................................................ 38
Figure 16: Setup and Configuration Section ......................................................... 39
Figure 17: GbE Region Options ........................................................................... 40
Figure 18: PDR Region Options ........................................................................... 41
Figure 19: BIOS Region Parameters .................................................................... 43
Figure 20: Region Order .................................................................................... 44
Figure 21: Flash Image Regions ......................................................................... 50
Figure 22: Raw Hash Values from Certificate File .................................................. 59
Figure 23: Sample Hash.txt File.......................................................................... 59
Figure 24: UPDParam Error Message for Incorrect Password ................................ 106
Figure 25: UPDParam Error Message for Failure to Update Parameter(s) ................ 107
Tables
Table 1: OS Support for Tools ............................................................................ 17
Table 2: Tools Summary .................................................................................... 18
Table 3: Flash Image Regions – Description ......................................................... 21
Table 4: Build Settings Dialog Options ................................................................. 26
Table 5: Region Access Control Table .................................................................. 32
Table 6: CPU/BIOS Access ................................................................................. 33
Table 7: FITC Command Line Options.................................................................. 45
Table 8: Flash Image Regions – Description ......................................................... 50
Table 9: FPT OS requirements ............................................................................ 51
Table 10: Fixed Offset Variables Options.............................................................. 52
Table 11: Command Line Options for fpt.efi, fpt.exe and fptw.exe .......................... 53
Table 12: FPT –closemnf Behavior ...................................................................... 56
Table 13: Intel-Recommend Access Settings ........................................................ 58
Table 14: Options for the Tool ............................................................................ 70
Table 15: MEMANUF Test Matrix ......................................................................... 73
Table 16: MEMANUF - EOL Config Tests ............................................................... 79
Table 17: MEInfo Command Line Options ............................................................ 85
Table 18: List of components that Intel® MEInfo displays ...................................... 86
Table 19: Image File Update Options .................................................................. 98
Table 20: Update Parameter Tool Options .......................................................... 102
Table 21: Required Reset for Updated Parameters .............................................. 103
Table 22: USB Utility Options ........................................................................... 105
Table 23: Fixed Offset Item Descriptions ........................................................... 109
6 Intel Confidential
Revision History
Intel Confidential 7
Introduction
1 Introduction
The purpose of this document is to describe the tools that are used in the platform
design, manufacturing, testing, and validation process.
1.1 Terminology
Acronym/Term Definition
AC Alternating Current
EC Embedded Controller
EID Endpoint ID
8 Intel Confidential
Introduction
Acronym/Term Definition
End User The person who uses the computer (either Desktop or Mobile). In
corporate, the user usually does not have administrator privileges.
The end user may not be aware to the fact that the platform is managed
by Intel® AMT.
FW Firmware
G3 A system state of Mechanical Off where all power is disconnected from the
system. A G3 power state does not necessarily indicate that RTC power is
removed.
Host or Host CPU The processor running the operating system. This is different than the
management processor running the Intel® ME FW.
HW Hardware
Intel Confidential 9
Introduction
Acronym/Term Definition
ID Identification
INF An information file (.inf) used by Microsoft operating systems that support
the Plug & Play feature. When installing a driver, this file provides the OS
with the necessary information about driver filenames, driver components,
and supported hardware.
Intel® AMT The Intel® AMT Firmware running on the embedded processor
Intel® MEI driver Intel® AMT host driver that runs on the host and interfaces between ISV
Agent and the Intel® AMT HW.
Intel®
Windows version of Intel® MEManuf
MEManufWin
M0 Intel® ME power state where all HW power planes are activated. Host
power state is S0.
10 Intel Confidential
Introduction
Acronym/Term Definition
M1 Intel® ME power state where all HW power planes are activated but the
host power state is different than S0. (Some host power planes are not
activated.) The Host PCI-E* interface is unavailable to the host SW. This
power state is not available in Cougar Point.
M3 Intel® ME power state where all HW power planes are activated but the
host power state is different than S0. (Some host power planes are not
activated.) The Host PCI-E* interface is unavailable to the host SW. The
main memory is not available for Intel® ME use.
NM Number of Masters
OOB interface. Out Of Band interface. An SOAP/XML interface over secure or non secure
TCP protocol.
OS Operating System
OS not Functional The Host OS is considered non-functional in Sx power state in any one of
the following cases when the system is in S0 power state:
OS is hung
After PCI reset
OS watch dog expires
OS is not present
OVR Override
PC Personal Computer
Intel Confidential 11
Introduction
Acronym/Term Definition
PID Provisioning ID
PM Power Management
S0 A system state where power is applied to all HW devices and the system is
running normally.
S1, S2, S3 A system state where the host CPU is not running but power is connected
to the memory system (memory is in self refresh).
S4 A system state where the host CPU and memory are not active.
S5 A system state where all power to the host system is off but the power
cord is still connected.
Snooze mode Intel® ME activities are mostly suspended to save power. Intel® ME
monitors HW activities and can restore its activities depending on the HW
event.
Standby OS state where the OS state is saved in memory and resumed from the
memory when the mouse/keyboard is clicked.
SW Software
12 Intel Confidential
Introduction
Acronym/Term Definition
System States Operating System power states such as S0, S1, S2, S3, S4, and S5.
UI User Interface
Un-configured The state of the Intel® ME FW when it leaves the OEM factory. At this
state stage the Intel® ME FW is not functional and must be configured.
VE Virtualization Engine
Intel Confidential 13
Introduction
14 Intel Confidential
Preface
2 Preface
2.1 Overview
This document covers the system tools used for creating, modifying, and writing
binary image files, manufacturing testing, Intel® ME setting information gathering,
and Intel® ME FW updating. The tools are located in Kit directory\Tools\System
tools. For information about other tools, see the tool's user guides in the other
directories in the FW release.
The system tools described in this document are platform specific in the following
ways:
Panther Point platform – All tools in the Panther Point FW release kit are designed
for Panther Point platforms only. These tools do not work properly on any other
legacy platforms (Santa Rosa, Weybridge, Montevina, McCreary, and
Capella/Piketon). Tools designed for other platforms also do not work properly on
the Panther Point platform.
Intel® vPro™ platform – All features listed in this document are available for Intel®
vPro™ platforms with Intel® ME FW 9.0. There are some features that are
specifically designed for the Intel® vPro™ platform and only work on it.
Intel® ME Firmware 9.0 SKU – A common set of tools are provided for the
following Intel® ME FW 9.0 SKUs: 1.5MB Intel® ME FW SKU and 5MB Intel® ME FW
SKU. The following features are only available for 5MB Intel® ME FW SKUs and
1.5MB Intel® ME FW SKU users should generally ignore them:
Intel® AMT
Intel® ME BIOS Extension (Intel® MEBx)
The description of each tool command or option that is not available for
1.5MB Intel® ME FW SKU contains a note indicating this.
NOTE: Intel® Upgrade Service has been discontinued. Although this feature has been
discontinued there are still references contained in the Intel® ME 8.x tools.
These
references will be removed in Intel® ME 9.x.
Intel Confidential 15
Preface
16 Intel Confidential
Preface
Windows* XP 32
Windows* XP 64
Windows* 7 32
Windows* 7 64
EFI (64bit)
DRMK DOS
and
Free DOS
MS DOS*
Manufacturi
ng
Tools
FITC x x x x x x x x
FPT x x x x x x x x x x x x x x x x x
MEMANUF x x x x x x x x x x x x x x x x x
MEINFO x x x x x x x x x x x x x x x x x
FWUPDLCL x x x x x x x x x x x x x x x x x
UpdParam x x x x x x
NOTES:
1. 64 bit support does NOT mean that a tool is compiled as a 64 bit application – but that
it can run as a 32 bit application on a 64 bit platform.
2. The Windows* 64 bit tools will not function when the OS is configured to use EFI / GPT
boot capabilities.
Intel Confidential 17
Preface
The command shell used to invoke the tools in EFI, DOS and Windows has a built-in
CLI.
The command shell was intended to be used for invoking applications as well as
running in batch mode and performing basic system and file operations. For this
reason, the CLI has special characters that perform additional processing upon
command.
The double-quote is the only character which needs special consideration as input. The
various quoting mechanisms are the backslash escape character (/), single-quotes ('),
and double-quotes ("). A common issue encountered with this is the need to have a
double-quote as part of the input string rather than using a double-quote to define the
beginning and end of a string with spaces.
For example, the user may want these words – one two – to be entered as a single
string for a vector instead of dividing it into two strings ("one", "two"). In that case,
the entry – including the space between the words – must begin and end with double-
quotes ("one two") in order to define this as a single string.
18 Intel Confidential
Preface
When double-quotes are used in this way in the CLI, they define the string to be
passed to a vector, but are NOT included as part of the vector. The issue encountered
with this is how to have the double-quote character included as part of the vector as
well as bypassed during the initial processing of the string by the CLI. This can be
resolved by preceding the double-quote character with a backslash (\").
For example, if the user wants these words to be input – input"string – the command
line is: input\"string.
The PMX driver is not designed to work with the latest Windows driver model (it does
not conform to the new driver's API architecture).
In Windows* 7 (and higher), the verifier sits in kernel mode, performing continual
checks or making calls to selected driver APIs with simulations of well-known driver
related issues.
Warning: Running the PMX driver with the Windows* 7 (and higher) driver verifier
turned on causes the OS to crash. Do not include PMX as part of the verifier driver list
if the user is running Windows* 7 (and higher) with the driver verifier turned on.
Intel Confidential 19
Flash Image Tool
FITC supports a set of command line parameters that can be used to build an image
from the CLI or from a makefile. When a previously stored configuration is used to
define the image layout, the user does not have to interact with the GUI.
Note: FITC just generates a complete SPI image file; it does not program the flash device.
This complete SPI image must be programmed into the flash with FPT, any third-party
flash burning tool, or some other flash burner device.
20 Intel Confidential
Flash Image Tool
Intel® ME Applications
Region Description
Descriptor This region contains information such as the space allocated for each region
of the flash image, read-write permissions for each region, and a space
which can be used for vendor-specific data. It takes up a fixed amount of
space at the beginning of the flash memory.
Note: This region MUST be locked before the serial flash device is shipped
to end users. Please see 0 below for more information. Failure to lock the
Descriptor Region leaves the Intel® ME device vulnerable to security
attacks.
Intel® ME This region contains code and configuration data for Intel® ME applications,
such as Intel® AMT technology and Intel® AT. It takes up a variable amount
of space at the end of the Descriptor.
GbE This region contains code and configuration data for an Intel Integrated LAN
(Gigabit Ethernet). It takes up a variable amount of space at the end of the
Intel® ME region.
BIOS This region contains code and configuration data for the entire computer.
PDR This region lets system manufacturers describe custom features for the
platform.
Intel Confidential 21
Flash Image Tool
FITC does not run correctly if any of the .xml and .bin files listed above are missing.
FITC creates a blank fitc.ini file if there is no fitc.ini file in the folder.
Note: When using a ‘Newfiletmp.xml’ from previous kit releases FITc will display a message
to the user that the file being used is older than the version FITc expecting (See
example below).
After the user selects the OK radio button FITc will automatically update the
‘Newfiletmp.xml’ with any missing / new or changed variables and pre-populates
those variables with the firmware defaults. Once this is completed the user can then
re-save this new ‘Newfiletmp.xml’ back in order to retain the updates made by FITc.
22 Intel Confidential
Flash Image Tool
3.4 FITC
See the following for further information:
General configuration information – See the FW Bring Up Guide from the
appropriate Intel® ME FW kit.
Detailed information on how to configure PCH Soft Straps and VSCC information –
See the Panther SPI programming guide
Intel Confidential 23
Flash Image Tool
24 Intel Confidential
Flash Image Tool
2. Click the button next to an environment variable and select the directory
where that variable's files will be stored; the name and relative path of that
directory appears in the field next to the variable's name.
3. Repeat Step 2 until the directories of all relevant environment variables have been
defined.
4. Click OK.
Note: The environment variables are saved in the application's INI file, not the XML
configuration file. This allows the configuration files to be portable across different
computers and directory structures.
Intel Confidential 25
Flash Image Tool
Option Description
Output path The path and filename where the final image should be saved after it is
built. (Note: Using the $DestDir environment variable makes the
configuration more portable.)
Generate intermediate Causes the application to generate separate (intermediate) binary files
build files for each region, in addition to the final image file (see Figure 3). These
files are located in the specified output folder's INT subfolder. These
image files can be programmed individually with the FPT.
Build Compact Image Creates the smallest flash image possible. (By default, the application
uses the flash component sizes in the Descriptor to determine the
image length.)
Do not set End of When descriptor permissions are set to production values, do not
Manufacturing bit … select the Do not set End of Manufacturing bit box unless not
closing End of Manufacturing is explicitly desired. Intel strongly
recommends that the Global Lock Bit/End of Manufacturing bit be set
on all production platforms.
Flash Block/Sector All regions in the flash conform to the 4KB sector erase size. It is
Erase Size critical that this option is set correctly to ensure that the flash regions
can be properly updated at runtime.
Asymmetric Flash Lets the user specify a different sector erase size for the upper and
lower flash block. Only 4KB erase is supported for Intel® ME FW.
This option also lets user modify the flash partition boundary address.
26 Intel Confidential
Flash Image Tool
End of manufacturing bit is simply a byte in the image. This is not an NVAR, or FOV.
In previous generation, when creating an image, the user can set the global valid bit
automatically based on BIOS being set to production Master Access section, but to
allow some customers not to set it, we show this checkbox. This checkbox only does
something if:
Intel® ME manufacturing done bit is not set, BIOS is not set to production FITc will
not set Intel® ME manufacturing done bit – independent of this checkbox
Intel® ME manufacturing done bit is not set, BIOS is set to production, checkbox is
unchecked FITc will set Intel® ME manufacturing done bit
Intel® ME manufacturing done bit is not set, BIOS is set to production, checkbox is
checked FITc will not set Intel® ME manufacturing done bit
Intel® ME manufacturing done bit set will stay set
A dumped image is never reflected in this checkbox – it does not show the actual
value of Intel® ME manufacturing done bit. It shows what should be done in the next
build. But if Intel® ME manufacturing done bit is set, this checkbox will never uncheck
it.
Intel Confidential 27
Flash Image Tool
28 Intel Confidential
Flash Image Tool
Intel Confidential 29
Flash Image Tool
3. Double-click Number of Flash Components in the right pane (see Figure 7); the
Flash Components dialog appears.
4. Enter the number of flash components (valid values are 0, 1 or 2).
5. Click OK; the parameter is updated.
Note: The size of the second flash component is only editable if the number of flash
components is set to 2.
30 Intel Confidential
Flash Image Tool
Intel Confidential 31
Flash Image Tool
There are three parameters in the Descriptor that specify access for each chipset. The
bit structure of these parameters is shown below.
Key:
0 – denied access
1 – allowed access
32 Intel Confidential
Flash Image Tool
Read Access
Bit Number 7 6 5 4 3 2 1 0
Write Access
Bit Number 7 6 5 4 3 2 1 0
Example:
If the CPU/BIOS needs read access to the GbE and Intel® ME and write access to
Intel® ME, then the bits are set to:
Note: If all Read/Write Master access settings for Intel® ME are set to production platform
values, then the Intel® ME manufacturing mode done(Global Lock) bit is automatically
set. If the Intel® ME manufacturing mode done (Global Lock) bit is set, the FOV
mechanism is not available.
Intel Confidential 33
Flash Image Tool
34 Intel Confidential
Flash Image Tool
3. Enter a name into the Entry Name field. (Note: To avoid confusion it is
recommended that each table entry name be unique. There is no checking
mechanism in FITC to prevent table entries that have the same name and no error
message is displayed in such cases.)
4. Click OK; the new table is listed in the left pane under VSCC Table and user can
enter into it the values for the flash device. (See Figure 12, which shows the
parameters of a new VSCC table.)
Note: The VSCC register value will be automatically populated by FITc using the
vscccommn.bin file the appropriate information for the Vendor and Device ID.
Note: If the descriptor region is being built manually the user will need to reference the
VSCC table information for the parts being supported from the manufacturers’ serial
flash data sheet. The Panther Point SPI Programming Guide should be used to
calculate the VSSC values.
Intel Confidential 35
Flash Image Tool
Note: If the user specifies in the PCH Strap Section (0) that Intel® ME must boot from flash,
the loaded FW must contain a ROM Bypass section. If the FW does not contain a ROM
bypass section this field is set as read-only and cannot be changed.
If any of the parameters do not have the Intel-recommended value, the offending row
is highlighted yellow but no errors are reported. The highlighted yellow is designed to
draw attention to these values to ensure these parameters are set correctly.
36 Intel Confidential
Flash Image Tool
The Intel® ME section lets the user define the computer's manageability features. The
parameter values can be found in the Help Text next to the parameter value as shown
in Figure 13.
This section describes the Manageability Application parameters. (See the FW Bringup
guide for general information.)
The Manageability section lets the user define the default Intel® AMT parameters. The
values specified in this section are used after the Intel® AMT device is un-provisioned
(full or partial).
Intel Confidential 37
Flash Image Tool
The ability to change certain options is SKU-dependent and – depending on the SKU
selected – some of default values will be disabled and cannot be changed.
38 Intel Confidential
Flash Image Tool
Intel Confidential 39
Flash Image Tool
40 Intel Confidential
Flash Image Tool
Intel Confidential 41
Flash Image Tool
42 Intel Confidential
Flash Image Tool
Intel Confidential 43
Flash Image Tool
– OR –
Specify an XML file with the /b option in the command line.
FITC uses an XML configuration file and the corresponding binary files to build the SPI
flash image. The following is produced when an image is built:
Binary file representing the image
Text file detailing the various regions in the image
Optional set of intermediate files (see Section 3.4.6).
Multiple binary files containing the image broken up according to the flash
component sizes (Note: These files are only created if two flash components are
specified.)
The individual binary files can be used to manually program independent flash devices
using a flash programmer. However, the user should select the single larger binary file
when using FPT.
Each region is added to the full SPI image in the order in which they appear in the list.
The order of the regions in the full SPI image created from the regions listed in Figure
20 in order immediately after the Descriptor Region:
1. BIOS Region
2. GbE Region
3. ME Region
4. IOSF Sideband Privaledged Master
This can be useful when programming a system with two SPI devices. It is possible to
change the order of the PDR, GbE, ME and BIOS regions by clicking and dragging the
44 Intel Confidential
Flash Image Tool
region to the required location. Figure 20 shows that the BIOS is placed on the first
SPI device and the Intel® ME Region is placed on the second SPI device. The length of
each region and the order determines if that region is on the first or second SPI
device.
To decompose an image:
1. Chose File > Open.
2. Change the file type filter to the appropriate file type.
3. Select the required file and click Open; the image is automatically decomposed,
the GUI is updated to reflect the new configuration, and a folder is created with
each of the regions in a separate binary file.
Note: It is also possible to decompose an image by simply dragging and dropping the file
into the main window. When decomposing an image, there are some NVARs will not
be able to be decomposed by FITC. FITC will use Intel default value instead. User
might want to check the log file to find out which NVARs were not parsed.
To view all of the supported options: Run the application with the -? option.
Option Description
<XML_file> Used when generating a flash image file. A sample xml file is provided
along with the FITC. When an xml file is used with the /b option, the flash
image file is built automatically.
<Bin File> Decomposes the BIN file. The individual regions are separated and placed in
a folder with the same name as the BIN file.
Intel Confidential 45
Flash Image Tool
Option Description
-B Automatically builds the flash image. The GUI does not appear if this flag is
specified. This option causes the program to run in auto-build mode. If
there is an error, a valid message is displayed and the image is not built.
If a BIN file is included in the command line, this option decomposes it.
-O <file> Path and filename where the image is saved. This command overrides the
output file path in the XML file.
-ME <file> Overrides the binary source file for the Intel® ME Region with the specified
binary file.
-GBE <file> Overrides the binary source file for the GbE Region with the specified binary
file.
-BIOS <file> Overrides the binary source file for the BIOS Region with the specified
binary file.
-PDR <file> Overrides the binary source file for the PDR Region with the specified binary
file.
-U1 <value> Overrides the $UserVar1 environment variable with the value specified. Can
be any value required.
-U2 <value> Overrides the $UserVar2 environment variable with the value specified. Can
be any value required.
-U3 <value> Overrides the $UserVar3 environment variable with the value specified. Can
be any value required.
-FLASHCOUNT Overrides the number of flash components in the Descriptor Region. If this
<0, 1 or 2> value is zero, only the Intel® ME Region is built.
-FLASHSIZE1 <0, Overrides the size of the first flash component with the size of the option
1, 2, 3, 4 or 5> selected as follows:
0 = 512KB
1 = 1MB
2 = 2MB
3 = 4MB
4 = 8MB
5 = 16MB.
46 Intel Confidential
Flash Image Tool
Option Description
-FLASHSIZE2 <0, Overrides the size of the first flash component with the size of the option
1, 2, 3, 4 or 5> selected as follows:
0 = 512KB
1 = 1MB
2 = 2MB
3 = 4MB
4 = 8MB
5 = 16MB.
-SKU <value> This option is used to change the SKU configuration being built. Use the
words Q77, QM77, etc. as a reference to a SKU from the drop-down menu
(e.g., /sku Q77).
An image's parameters can also be extracted by entering the following commands into
the command line:
Fitc.exe output.bin /b
This command would create a folder named "output". The folder contains the
individual region binaries (Descriptor, GBE, Intel® ME, and BIOS) and the Map file.
The Map file contains the start, end, and length of each region.
Note: If using paths defined in the KIT, be sure to put "" around the path as the spaces
cause issues.
Intel Confidential 47
Flash Image Tool
48 Intel Confidential
Flash Programming Tool
FPT can program each region individually or it can program all of the regions with a
single command. The user can also use FPT to perform various functions such as:
View the contents of the flash on the screen.
Write the contents of the flash to a log file.
Perform a binary file to flash comparison.
Write to a specific address block.
Program fixed offset variables.
Note: For proper function in a Multi-SPI configuration the Block Erase, Block Erase
Command and Chip Erase must all match.
The Windows 64 bit version (fpt64.exe) is designed for running in native 64 bit OS
environment which does not have 32 bit compatible mode available for example
Win*PE 64.
FPT requires that the platform is bootable (i.e. working BIOS) and an operating
system to run on. It is designed to deliver a custom image to a computer that is
already able to boot and is not a means to get a blank system up and running. FPT
must be run on the system with the flash memory to be programmed.
Intel Confidential 49
Flash Programming Tool
Intel® ME Applications
Component Description
Descriptor Region that takes up a fixed amount of space at the beginning of the flash
memory. Contains information such as:
Space allocated for each region of the flash image.
Read/write permissions for each region.
A space that can be used for vendor-specific data.
®
Intel ME Contains code and configuration data for Intel® ME applications, such as
Intel® AMT technology and Intel® AT.
BIOS Contains code and configuration data for the entire platform.
PDR Region that allows system manufacturers to define custom features for
the platform.
50 Intel Confidential
Flash Programming Tool
In order for tools to work under the Windows* PE environment, you must manually
load the driver with the .inf file in the Intel® MEI driver installation files. Once you
locate the .inf file you must use the Windows* PE cmd drvload HECI.inf to load it
into the running system each time Windows* PE reboots. Failure to do so causes
errors for some features.
Note: In the Windows environment for operations involving global reset you should add a
pause or delay when running FPTW using a batch or script file.
Intel Confidential 51
Flash Programming Tool
Note: Pulling out DIMM from slot 0 or leaving the Intel® ME region empty to stop Intel® ME
are not valid options for current generation platforms.
The variables can be modified individually or all at once via a text file.
Option Description
fpt.exe –cfggen Creates an empty text file that lets the user update multiple fixed offset
variables. The variables have the following format in the text file:
<Parameter name> = <Value>
In the created text file:
fpt.exe –U –IN Updates the fixed offset variables with the values as they are entered in the
<Text file> text file.
See Appendix A for a description of all the Fixed Offset Variable parameters.
52 Intel Confidential
Flash Programming Tool
4.8 Usage
The EFI, DOS and Windows versions of the FPT can run with command line options.
To view all of the supported commands: Run the application with the -? option.
The commands in EFI, DOS and Windows versions have the same syntax. The
command line syntax for fpt.efi, fpt.exe and fptw.exe is:
FPT.exe [-H|?] [-VER] [-EXP] [-VERBOSE] [-Y] [-P] [-LIST] [-I] [-F]
[-ERASE] [-VERIFY] [-D] [-DESC] [-BIOS] [-ME] [-GBE] [-PDR]
[-SAVEMAC] [-C] [-B] [-E] [-ADDRESS|A] [-LENGTH|L] [-FOVS] [-CFGGEN]
[-U] [-O] [-IN] [-N] [-ID] [-V] [-LOCK] [-DUMPLOCK] [-PSKFILE]
[-CLOSEMNF] [-GRESET] [-PAGE] [-SPIBAR] [-R] [-VARS] [-COMMIT]
[-COMPARE] [-HASHED] [-DisableMe]
Table 11: Command Line Options for fpt.efi, fpt.exe and fptw.exe
Option Description
Help (-H, -?) Displays the list of command line options supported by FPT tool.
-Y Bypasses Prompt. FPT does not prompt user for input. This confirmation will
automatically be answered with "y".
-P <file> Flash parts file. Specifies the alternate flash definition file which contains the
flash parts description that FPT has to read. By default, FPT reads the flash
parts definitions from fparts.txt.
-LIST Supported Flash Parts. Displays all supported flash parts. This option reads
the contents of the flash parts definition file and displays the contents on the
screen.
-I Info. Displays information about the image currently used in the flash.
-F <file> Flash. Programs a binary file into an SPI flash. The user needs to specify the
<NOVERIFY> binary file to be flashed. FPT reads the binary, erases the flash, and then
programs the binary into the flash. After a successful flash, FPT verifies that
the SPI flash matches the provided image. Without specify the length with –L
option, FPT will use the total SPI size instead of an image size.
The NOVERFY sub-option *must* follow the file name. This will allow flashing
the SPI without verifying the programming was done correctly. The user will
be prompted before proceeding unless ‘-y’ is used.
-ERASE: Block Erase. Erases all the blocks in a flash. This option does not use the chip
erase command but instead erases the SPI flash block by block. This option
can be used with a specific region argument to erase that region. This option
cannot be used with the –f, -b, -c, -d or –verify options.
-VERIFY <file>: Verify. Compares a binary to the SPI flash. The image file name has to be
passed as a command line argument if this flag is specified.
Intel Confidential 53
Flash Programming Tool
Option Description
-D <file> : Dump. Reads the SPI flash and dumps the flash contents to a file or to the
screen using the STDOUT option. The flash device must be written in 4KB
sections. The total size of the flash device must also be in increments of 4KB.
-BIOS: Read/Write BIOS region. Specifies that the BIOS region is to be read, written,
or verified. Start address is the beginning of the region.
-GBE: Read/Write GbE region. Specifies that the GbE region is to be read, written,
or verified. The start address is the beginning of the region.
-PDR: Read/Write PDR region. Specifies that the PDR region is to be read, written,
or verified. The start address is the beginning of the region.
-C: Chip erase. Erases the contents of SPI flash device(s). This function does NOT
erase block by block.
-B: Blank Check. Checks whether the SPI flash is erased. If the SPI flash is not
empty, the application halts as soon as contents are detected. The tool
reports the address at which data was found.
-E: Skip Erase. Does not erase blocks before writing. This option skips the erase
operation before writing and should be used if the part being flashed is a
blank SPI flash device.
-A<value>, - Write/Read Address. Specifies the start address at which a read, verify, or
ADDRESS write operation must be performed. The user needs to provide an address.
<value> This option is not used when providing a region since the region dictates the
start address.
-FOVS: Supported Fixed Offset Variables. Displays all supported FOVs supported by
FPT. This option displays names and IDs of supported FOVs.
-U: Update. Updates the FOVs in the flash. The user can update the multiple
FOVs by specifying their names and values in the parameter file. The
parameter file must be in an INI file format (the same format generated by
the –cfggen command). The -in <file> option is used to specify the
input file.
-O <file> Output File. The file used by FPT to output FOV information.
-IN <file> Input File. The file used by FPT for FOV input. This option flag must be
followed by a text file (i.e., fpt –u –in FPT.cfg). The tool updates the
FOVs contained in the text file with the values provided in the input file.
User can also use FPT –cfggen to generate this file.
-N <value> Name. Specifies the name of the FOV that the user wants to update in the
image file or flash. The name flag must be used with Value (-v).
-ID <value> ID. The names of certain FOVs are quite lengthy. This option lets the user
update the FOV by providing its unique identification number instead of its
name. The ID for each FOV is specified in the configuration file.
54 Intel Confidential
Flash Programming Tool
Option Description
-V <value> Value. Specifies the value for the FOV variable. The name of variable is
specified in the Name flag. The Value flag must follow the Name flag.
-LOCK: Region Lock. Sets the SPI flash region access to the Intel recommended
values (see ** Return value 0 indicates successful completion. In the
second case, FPT –closemnf returns 1 (= error) because it is unable
to set the ME Mfg Done bit, because flash permissions are already set
to Intel recommended values (host cannot access ME Region).Table
13)
-DUMPLOCK: Dump Lock Settings. Displays the current lock settings on the screen. The
lock settings are read from the descriptor region.
-PSKFILE PID/PPS/Password pair file. Specifies the input file that contains the one or
<file> more PID/PPS/Password key value pairs. This option is used to update the
PID, PPS, and Password FOVs whose values are read from the input file.
This option only support version 1 FiletypeHeader UUID
Intel Confidential 55
Flash Programming Tool
Option Description
-GRESET <NO> Global Reset. FPT performs a global reset. On mobile platforms this includes
: driving GPIO30 low. Mobile platforms require a SUS Well power-down
acknowledge-driven low before the global reset occurs or the platform may
not boot up from the reset.
The "NO" afterwards disables the driving of GPIO30 for mobile SKUs.
Note: For DeepSx enabled mobile platforms the “NO” option should be used
with the –GRESET command to avoid platform hangs.
-SAVEMAC This is used to save the GbE MAC Address. It is appropriate only when GbE
Firmware is being over written. It also saves the GbE SSID and SVID.
-CFGGEN FOV Input file generation option. This creates a file which can be used to
update the FOVs. If no file name is specified the default name “FPT.CFG” will
be used.
-SPIBAR: Display SPI BAR. FPT uses this option to display the SPI BAR.
-R <name> NVAR Read. FPT uses this option to read a variable stored as a NVAR in the
FW. The value of the variable is displayed. By default, all non- secure
variables are displayed in clear-text and secure NVAR will be displayed in
HASH. The -hashed option can be used to display the hash of a value
instead of the clear-text value.
-VARS: Display Supported Variables. FPT uses this option to display all variables
supported for the -R and -COMPARE commands.
-COMMIT: Commit. FPT uses this option to commit FOVs changes to NVAR and cause
relevant reset accordingly If no pending variable changes are present, Intel®
ME does not reset and the tool displays the status of the commit operation.
-COMPARE NVAR Compare. FPT uses this option to compare a NVAR with the expected
<file> value filled in a text file. The compare entry should have the following
format: "<name>" = <value>
Note: <value> should have the form "xx ", where xx is a hexadecimal value.
Each byte must be separated by a space and start with the least significant
followed by the next significant byte.
-PAGE Pauses the screen when a page of text has been reached. Hit any key to
continue.
-HASHED: Hash Variable Output. FPT uses this option to distinguish whether the
displayed output is hashed by the FW. For variables that can only be returned
in hashed form (such as the Intel® MEBx password), this option has no effect
– the data displayed is hashed regardless.
-DisableMe This option will allow the tool operator to temporarily disable the Intel®
Management Engine until the next Global Reset or G3.
56 Intel Confidential
Flash Programming Tool
values values?
No No Enabled Yes Yes Disabled 0 Yes
No Yes Enabled No Yes Enabled 1 No
Yes No Enabled Yes Yes Disabled 0 Yes
Yes Yes Disabled Yes Yes Disabled 0 No
** Return value 0 indicates successful completion. In the second case, FPT –closemnf returns 1
(= error) because it is unable to set the ME Mfg Done bit, because flash permissions are already
set to Intel recommended values (host cannot access ME Region).
Intel Confidential 57
Flash Programming Tool
Read 0b 0000 1101 = 0x0d 0b 0000 1000 = 0x08 0b 0000 0011 = 0x0B
Write 0b 0000 1100 = 0x0c 0b 0000 1000 = 0x08 0b 0000 0010 = 0x0A
There are 3 OEM Customizable certificate hash values that can be stored in the Intel®
ME region:
The OEM Customizable Certificates 1-3 are not default certificates and are deleted
after a full un-provisioning.
The OEM Customizable Certificates 1-3 are configurable by FOV (with FPT or other
flash programming methods) or FITC.
58 Intel Confidential
Flash Programming Tool
; OEMCustomCert1 Certificate
; All data is required to update the certificate.
; See the Tools Users Guide for detailed explanation
; of required data and format.
OEMCustomCert1 IsActive = 0x01
OEMCustomCert1 FriendlyName = MyCert
OEMCustomCert1 RawHashFile = 23f6c781c37cbce320ec16835f43adfdaae79fa
Intel Confidential 59
Flash Programming Tool
6. Flash Hash FOV with FPT's -u –in option (e.g., fpt –u –in sampleparam.txt).
If the device is not located in fparts.txt, the user is expected to provide information
about the device, inserting the values into fparts.txt in same format as is used for
the rest of the devices. Detailed information on how to derive the values in fparts.txt
is found in the Intel® 8 Series Chipset Family SPI Programming Guide. The device
must have a 4KB erase sector and the total size of the SPI Flash device must be a
multiple of 4KB. The values are listed in columns in the following order:
Display name
Device ID (2 or 3 bytes)
Device Size (in bits)
Block Erase Size (in bytes - 256, 4K, 64K)
Block Erase Command
Write Granularity (1 or 64)
Unused
Chip Erase Command.
4.11 Examples
The following examples illustrate the usage of the EFI and DOS versions of the tool
(fpt.efi and fpt.exe respectively). The Windows version of the tool (Fptw.exe) behaves
in the same manner apart from running in a Windows environment.
60 Intel Confidential
Flash Programming Tool
EFI:
>fpt.efi –f spi.bin or fs0:\>fpt.efi –f spi.bin
This command writes the data in the spi.bin file into a whole SPI flash from address
0x0
EFI:
fpt.efi –f bios.rom –BIOS
--------------------------------------------
Intel (R) Flash Programming Tool. Version: x.x.x.xxxx
Copyright (c) 2007-2011, Intel Corporation. All rights reserved.
Platform: Intel(R) Qxx Express Chipset
Reading HSFSTS register... Flash Descriptor: Valid
--- Flash Devices Found ---
W25Q64BV ID:0xEF4017 Size: 8192KB (65536Kb)
- Erasing Flash Block [0x800000]... - 100% complete.
- Programming Flash [0x800000]2560KB or 2560KB - 100% complete.
- Verifying Flash [0x800000]2560KB or 2560KB - 100% complete.
RESULT: The Data is identical.
FPT Operation Passed
This command writes the data in bios.bin into the BIOS region of the SPI flash and
verifies that the operation ran successfully.
Intel Confidential 61
Flash Programming Tool
EFI:
fpt.efi -F image.bin -A 0x100 -L 0x800
This command loads 0x800 of the binary file image.bin starting at address 0x0100.
The starting address and the length needs to be a multiple of 4KB.
EFI:
fpt.efi –d imagedump.bin
--------------------------------------------
Intel (R) Flash Programming Tool. Version: x.x.x.xxxx
Copyright (c) 2007-2011, Intel Corporation. All rights reserved.
Platform: Intel(R) Qxx Express Chipset
Reading HSFSTS register... Flash Descriptor: Valid
--- Flash Devices Found ---
W25Q64BV ID:0xEF4017 Size: 8192KB (65536Kb)
- Reading Flash [0x00800000]... 8192KB of 8192KB - 100% complete.
Writing flash contents to file "imagedump.bin"...
Memory Dump Complete
FPT Operation Passed
EFI:
fpt.efi –d descdump.bin –desc
--------------------------------------------
Intel (R) Flash Programming Tool. Version: x.x.x.xxxx
Copyright (c) 2007-2011, Intel Corporation. All rights reserved.
Platform: Intel(R) Qxx Express Chipset
Reading HSFSTS register... Flash Descriptor: Valid
--- Flash Devices Found ---
W25Q64BV ID:0xEF4017 Size: 8192KB (65536Kb)
- Reading Flash [0x000040]... 4KB of 4KB - 100% complete.
Writing flash contents to file "descdump.bin"...
Memory Dump Complete
FPT Operation Passed
This command writes the contents of the Descriptor region to the file descdump.bin.
62 Intel Confidential
Flash Programming Tool
This command displays information about the flash devices present in the computer.
The base address refers to the start location of that region and the limit address refers
to the end of the region. If the flash device is not specified in fparts.txt, FPT returns
the error message "There is no supported SPI flash device installed".
EFI:
fpt.efi -verify outimage.bin
--------------------------------------------
Intel(R) Flash Programming Tool. Version: x.x.x.xxxx
Copyright (c) 2007-2011, Intel Corporation. All rights reserved.
Platform: Intel(R) Qxx Express Chipset
Reading HSFSTS register... Flash Descriptor: Valid
--- Flash Devices Found ---
W25Q64BV ID:0xEF4017 Size: 8192KB (65536Kb)
RESULT: Data does not match!
[0x00000000] Expected 0x5A, Found: 0x5A
[0x00000001] Expected 0xA5, Found: 0xA5
Total mismatches found in 64 byte block: 2
Intel Confidential 63
Flash Programming Tool
This command compares the Intel® ME region programmed on the flash with the
specified FW image file outimage.bin. If the -y option is not used; the user is
notified that the file is smaller than the binary image. This is due to extra padding that
is added during the program process. The padding can be ignored when performing a
comparison. The -y option proceeds with the comparison without warning.
EFI:
fpt.efi -verify outimage.bin
--------------------------------------------
Intel (R) Flash Programming Tool. Version: x.x.x.xxxx
Copyright (c) 2007-2011, Intel Corporation. All rights reserved.
Platform: Intel(R) Qxx Express Chipset
Reading HSFSTS register... Flash Descriptor: Valid
--- Flash Devices Found ---
W25Q64BV ID:0xEF4017 Size: 8192KB (65536Kb)
-Verifying Flash [0x800000] 8192KB of 8192KB – 100% complete.
RESULT: The data is identical.
FPT Operation Passed
This command compares image.bin with the contents of the flash. Comparing an
image should be done immediately after programming the flash device. Verifying the
contents of the flash device after a system reset results in a mismatch because Intel®
ME changes some data in the flash after a reset.
Please note that only –r (get command) supports the –hashed optional command
argument. When –hashed is used, variable value will be returned in hashed format,
otherwise it will be returned in clear txt. There are a few exceptions in the case of
variables MEBxPassword, PID and PPS, their value will be always returned in hashed
format regardless –hashed is used or not. This is primarily because of security
concern.
64 Intel Confidential
Flash Programming Tool
FPT –verbose –compare vars.txt compares variables with suggested values in vars.txt,
and report result on the screen. Vars.txt can have the following data with verbose
information: FPT –VARS can be used to get the VAR list for the platform and get the
value/format from FITC advanced mode. There are settings in the ME which are
stored encrypted. Users will not be able to compare them using clear text values.
Please use FPT –R option to read the hash value of those settings and use them as
baseline for the expected value.
"MEBxPassword" = 76 3C BE 3E B5 75 5F 6D 2D 5D 94 43 FD 79 A1 9D 54 D2 D5
9C 87 F8 FF 0E 6C 59 6F D2 17 37 13 5B
"OEMSkuRule" = EF DC EE 0F
"FeatureShipState" = EF FF EE 03
"OEM_TAG" = 78 56 34 12
"PID" = 8F DE B9 92 C3 88 03 71 12 A9 A7 3D FC 18 80 78 64 58 0A E1 D9 E4
19 54 EF 6A 9F 33 F9 74 93 8C
"PPS" = 1A D3 16 1B A1 84 9A 7E 65 9E FB 67 1D 39 8E C0 06 92 81 67 4D 76
FB E4 09 1F 73 27 85 20 84 88
"USBrSettings" = 0B
"LAN Well Power Config" = SLP_LAN#(MGPIO3)
"WLAN Well Power Config" = Disabled
"Debug Si Features" = 00 00 00 00
"Prod Si Features" = 00 00 00 00
"M3 Power Rails Availability" = True
"HECI ME Region Unlockable" = True
"Sub System Vendor ID" = 00 00
"FW Update OEM ID" = 12345678-AABB-CCDD-EEFF-55AA11223344
"PROC_MISSING" = No onboard glue logic
"Power Package 1" = True
"Power Package 2" = True
"Default Power Package" = Power Package 2
"Enable Intel(R) Standard Manageability; Disable Intel(R) AMT" = No
"Manageability Application Permanently Disabled?" = No
"PAVP Permanently Disabled?" = No
"KVM Permanently Disabled?" = No
"TLS Permanently Disabled?" = No
"Intel(R) Anti-Theft Technology Permanently Disabled?" = No
"Manageability Application Enable/Disable" = Enabled
"BIOS Reflash Capable" = False
"Boot into BIOS Setup Capable" = False
"Pause during BIOS Boot Capable" = False
"USBr EHCI 1 Enabled" = 11b Enabled
"USBr EHCI 2 Enabled" = 10b Disabled
"PrivacyLevel" = Default
"Host Based Setup and Configuration" = True
"Allow Unsigned Assert Stolen" = False
"Intel(R) Anti-Theft BIOS Recovery Timer" = Disabled
"MEBx Password Policy" = 00
"Hash 0 Active" = True
"Hash 0 Friendly Name" = VeriSign Class 3 Primary CA-G1
Intel Confidential 65
Flash Programming Tool
"Hash 0 Stream" = 74 2C 31 92 E6 07 E4 24 EB 45 49 54 2B E1 BB C5 3E 61
74 E2
"ODM ID used by Intel(R) Service" = <hashed value>
;
; Flash Programming Tool FOV Programming File
;
; Any entry that is not included, or does not have a value
; following the label will not be updated.
;
; Comments can be added by using a ';' as the first entry
; on the line.
;
; For further explanation of the required inputs see the
; System Tools User Guide.doc
;
; Any entries, FOVs that are displayed with values
; indicates that the FOV has already been given a value,
; but has not yet been committed. Entries without values
; indicates that the FOV has not been written, at least
; since the system reset or use of the '-commit' command.
;
MEBxPassword =
DefPwrPackage =
66 Intel Confidential
Flash Programming Tool
; the complete FOV will cause the program to ignore any bit-wise
entries.
;
; Valid entries for the bit-wise values are "enable", "disable",
; "NoChange", or no value at all (i.e. blank). The values are not case
; sensitive. Invalid bit-wise values will cause FPT to display a
warning
; and ignore the bit-wise entry being updated.
;
OEMSkuRule =
Enable Intel (R) Standard Manageability; Disable Intel (R) AMT =
Manageability Application =
Intel (R) Anti-Theft Technology =
PAVP =
Intel (R) ME Network Service =
KVM =
TLS =
SetWLANPowerWell =
OEM_TAG =
PID =
PPS =
MEIdleTimeout =
; OEMCustomCert1 Certificate
; All data is required to update the certificate.
; See the Tools Users Guide for detailed explanation
; of required data and format.
OEMCustomCert1 IsActive =
OEMCustomCert1 FriendlyName =
OEMCustomCert1 RawHashFile =
; OEMCustomCert2 Certificate
; All data is required to update the certificate.
; See the Tools Users Guide for detailed explanation
Intel Confidential 67
Flash Programming Tool
; OEMCustomCert3 Certificate
; All data is required to update the certificate.
; See the Tools Users Guide for detailed explanation
; of required data and format.
OEMCustomCert3 IsActive =
OEMCustomCert3 FriendlyName =
OEMCustomCert3 RawHashFile =
USBrSettings =
Privacy/SecurityLevel =
ODM_ID =
SystemIntegratorId =
ReservedId =
ATFPOPHard =
ATFPOPSoft =
68 Intel Confidential
MEManuf and MEManufWin
MEManuf validates all components and flows that need to be tested according to the
FW installed on the platform in order to ensure the functionality of Intel® ME
applications: BIOS-FW, Flash, SMBus, M-Link, KVM, etc. This tool is meant to be run
on the manufacturing line.
MEMANUF is intelligent enough to know if it should run the test or report a result. If
there is no test result available for an Intel® ME enabled platform, MEMANUF calls the
test. Otherwise, it reports the result or the failure message from the previous test.
MEMANUF tools report the result or cause a reboot. If there is a reboot, MEMANUF
should be run again.
VSCCCOMN.bin is required to verify the VSCC entry on the platform. This file must
be in same folder as the MEMANUF executable or MEMANUF reports an error.
5.3 Usage
The DOS version of the tool can be operated using the same syntax as the Windows
version. The Windows version of the tool can be executed by:
Intel Confidential 69
MEManuf and MEManufWin
Option Description
No option There are differences depending on the firmware SKU type the system is
running on:
If BIST is disabled in the Intel® ME Boot: The first time running MEManuf,
since there is no M3 test result stored in SPI, the tool will request the FW to
run a complete BIST which includes a power reset at the end of the test for
the DOS version and a Hibernation for the Windows version. This power reset
is only host side power cycle that triggered by Intel® ME. When host resets,
Intel® ME FW will transition from M0 to M3, and then attempt automatically
transition back from M3 to M0 along bringing host back to S0. Once host is
booted back into OS, user needs to run the tool again in order to run runtime
BIST and retrieve the test result.
If BIST is enabled in the Intel® ME Boot: If there is no M3 test result, the tool
will report error and request user to use –test to run a full BIST. If there is
M3 test result, the tool will execute the runtime BIST and report the result.
If running on a 1.5MB SKU image, the tool will request the FW to run a
complete BIST which doesn’t involve any power transition at the end of the
test. Test result will be reported back right after the test is done and cleared.
If BIST test result isn’t displayed after BIST test is done, the tool needs to be
run again (with or without any BIST related argument combinations) to
retrieve the result, once test result is displayed, it will be cleared.
Tool is capable of remembering whether/what tests (including host based
tests) have been run from previous invocation. Host based tests will be run
for all cases (whether it’s retrieving test result or run the actual BIST).
Currently there are two host based tests; they are VSCC Table validation
check and ICC data check.
-NETON Note: This option is not applicable for 1.5MB Intel® ME FW SKU.
This option blocks any network traffic that goes in/out of the integrated GbE
wired/wireless LAN interface. If Intel® AMT is disabled, "Error 9257: Cannot
run the command since Intel® AMT is not available" is returned.
-NETOFF Note: This option is not applicable for 1.5MB Intel® ME FW SKU.
This option re-enables the integrated GbE wired/wireless LAN interface so
that network traffic can go in/out of it. If Intel® AMT is disabled, "Error 9257:
Cannot run the command since Intel® AMT is not available" is returned.
70 Intel Confidential
MEManuf and MEManufWin
Option Description
-NOWLAN Note: This option is not applicable for 1.5MB Intel® ME FW SKU.
This option only applies to the AMT test so that the user can skip the wireless
LAN NIC test if there is no wireless LAN NIC attached to the hardware. When
–nowlan switch is not used, MEManuf also checks for the HW presence of
Intel WLAN card based on a pre-defined list. If MEMANUF detects an Intel
WLAN card present on the platform, MEMANUF runs the WLAN BIST test and
reports pass/fail accordingly. If MEMANUF cannot find any known WLAN card,
MEMANUF skips the WLAN BIST test and does not report errors. With the –
verbose option, it displays "No Intel wireless LAN card detected" (Note: For
Intel® vPro platform this test will only be skipped if the FW image is built with
the WLAN power well set to 0x84 or 0x85 and there is a WLAN adapter
present in the platform).
Note:
-S0 can only be used on the platform which Intel® AMT is present and can be
enabled in the field.
-EOL This option runs several checks for the use of OEMs to ensure that all settings
<Var|Config> and configurations have been made according to Intel requirements before
-F <filename> the system leaves the manufacturing process. The check can be configured
by the customer to select which test items to run and their expected value
(only applicable for Variable Values, FW Version, BIOS Version, and Gbe
Version). The sub option config or var is optional. Using -EOL without a
sub option is equivalent to the –EOL config. VSCC test and ICC data check
are performed for all options.
MEMANUF Sx test will require system is capable to enter sleep state, keep
pinging the platform with network package and keep the system up will make
the test failed.
ME/BIOS VSCC validation, MEManuf verifies that flash SPI ID on the system
is described in VSCC table. If found, VSCC entry for relevant SPI part should
match the known good values that pre-populated in the file.
Intel® ME state check, MEManuf verifies Intel® ME is in normal state. This is
done by checking the value of 4 fields (initialization state, mode of operation,
current operation state, and error state) in FW status register1. If any of
these fields indicates Intel® ME is in abnormal state, MEManuf will report
error without running BIST test.
ICC data check, MEManuf verifies that valid OEM ICC data is present and
programmed accordingly. This is done by checking FW status register2 ICC
bits (which are bit 1 and 2 equal to 3).
Intel Confidential 71
MEManuf and MEManufWin
Option Description
-CFGGEN Use this option along with a filename to generate a default configuration file.
<filename> This file (with or without modification) can be used for the -EOL option.
Rename it MEManuf.cfg before using it. It is highly recommended to use
this option to generate a new MEManuf.cfg with an up-to-date variable
names list before using the MEManuf End-Of-Line check feature.
-VERBOSE Displays the debug information of the tool or stores it in a log file.
<file>
–PAGE When it takes more than one screen to display all the information, this option
lets the user pause the display and then press any key to continue on to the
next screen.
-NOLAN Note: This option is not applicable for 1.5MB Intel® ME FW SKU.
This option only applies to the AMT test so that the user can skip the wired
LAN NIC test if there is no wired LAN NIC attached to the hardware.
Note:
-S0 can only be used on the platform which Intel® AMT is present and can be
enabled in the field.
Note: The KVM test will be skipped if the platform being tested contains both internal
and external GFX and BIOS has disabled internal GFX.
Note: When running MEManuf without the –no3G switch on platforms with 3G cards
populated the user needs to wait 15 seconds after the system restarts before
attempting to retrieve the testing results otherwise the 3G test may fail.
72 Intel Confidential
MEManuf and MEManufWin
Note: VSCC test and ICC data check are performed for all options.
MEMANUF Sx test will require system is capable to enter sleep state, keep pinging the
platform with network package and keep the system up will make the test failed.
Intel Confidential 73
MEManuf and MEManufWin
1. ME/BIOS VSCC validation, MEManuf verifies that flash SPI ID on the system is
described in VSCC table. If found, VSCC entry for relevant SPI part should
match the known good values that pre-populated in the file.
2. Intel® ME state check, MEManuf verifies Intel® ME is in normal state. This is
done by checking the value of 4 fields (initialization state, mode of operation,
current operation state, and error state) in FW status register1. If any of these
fields indicates Intel® ME is in abnormal state, MEManuf will report error
without running BIST test.
3. ICC data check, MEManuf verifies that valid OEM ICC data is present and
programmed accordingly. This is done by checking FW status register2 ICC
bits (which are bit 1 and 2 equal to 3).
Note: Only MAC address, Wireless MAC address and System UUID tests allow the user
to set the ReqVal option.
74 Intel Confidential
MEManuf and MEManufWin
////////////////////////////////////////////////////////////////////////
/////
// Intel recommands default end-of-line checks includes the following
// list. If a user chooses to use his/her own version of MEManuf.cfg
// to skip or modify the error action of these checks as WarnContinue,
// MEManuf will report failure with warnings when these checks are
skipped,
// or have errors. It's suggested that a user should perform these
Intel(R)
// recommanded check on all type of SKUs.
////////////////////////////////////////////////////////////////////////
/////
// Please note that MAC address check will be skipped if Intel Gbe
region
// is not present in SPI image. Wireless MAC address check will be
skipped
// if Intel wireless device is not found on the PCI bus. System UUID
check
// will be skipped if platform is not vPro platform.
//
// MAC address check, Wireless MAC address check and UUID check
// will be skipped if Intel(R) AMT is permanently disabled or not
present.
//
Intel Confidential 75
MEManuf and MEManufWin
// MAC address and System UUID Checks can work with an optional ReqVal
field,
// which allows a user to specify his/her custom values to compare
against.
//
// For example, the test shown here checks the current wired LAN MAC
address
// against user provided value of 01-02-03-04-05-06:
//
// SubTestName="MAC address", ReqVal="01-02-03-04-05-06"
//
// Here is the default values MEManuf uses if ReqVal field if obmitted:
//
// System UUID - all zeros and 0xff are considered as errors
// MAC address - all zeros and 0xff are considered as errors
// Wireless MAC address - all zeros and 0xff are considered as errors
//
// MAC address takes the format as XX-XX-XX-XX-XX-XX
// System UUID takes the format as XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
////////////////////////////////////////////////////////////////////////
/////
////////////////////////////////////////////////////////////////////////
////////
// The following Configuration Check requires a user to enter an
expected
// value after ReqVal=, otherwise the lines without ReqVal field values
will
// be ignored.
//
// Please note that GBE version check will be skipped if Intel Gbe
region
// is not present in SPI image.
//
// ME FW version is a string as <major ver>.<minor ver>.<hotfix
ver>.<build num>
// GBE version is a string as <major ver>.<minor ver>.<revision ver>
// BIOS version is string that vendor specific
////////////////////////////////////////////////////////////////////////
////////
///////////////////////////////////////////////////////////////////////
// Variable Check - user needs to put an expected value after ReqVal,
// otherwise the lines without ReqVal field values will be ignored
//
// There are variables that stored in encrypted format. When comparing
// with these variables, ReqVal can only specified as numeric values
// (in encrypted form) in byte order as mentioned aboved. ReqVal needs
// to be surrounded by double quotation marks if they are string input.
//
// To get a up-to-dated MEManuf.cfg with a complete variable names list,
// please run MEManuf -cfggen <filename>. Please note that variables
// that have # need to be replace by a number. Here defines the number:
76 Intel Confidential
MEManuf and MEManufWin
//
// Note: The '#' for hash variables should be replaced with an entry
index.
// The valid range is 0 to 22.
//
// !!! Please be sure to disable sending EOP or leave platform in ME
// !!! manufacturing mode to run this test, otherwise MEManuf will
// !!! report failure because this feature is only available in factory
// !!! mode environment.
///////////////////////////////////////////////////////////////////////
Intel Confidential 77
MEManuf and MEManufWin
// SubTestName="PROC_MISSING", ReqVal=
// SubTestName="Prod Si Features", ReqVal=
// SubTestName="Reserved ID used by Intel (R) Services", ReqVal=
// SubTestName="Sub System Vendor ID", ReqVal=
// SubTestName="System Integrator ID used by Intel (R) Services",
ReqVal=
// SubTestName="TLS Permanently Disabled?", ReqVal=
// SubTestName="USBr EHCI 1 Enabled", ReqVal=
// SubTestName="USBr EHCI 2 Enabled", ReqVal=
// SubTestName="USBrSettings", ReqVal=
// SubTestName="WLAN Well Power Config", ReqVal=
Lines which start with // are comments. They are also used to inform users of the
available test group names and the names of specific checks that are included in each
test that MEManuf recognizes.
To select which test items to run: Create a line that begins with
SubTestName="<specific sub test name>".
Here are some other examples that explain how to use this feature:
To run a GbE version check defined under "Platform Configuration Checkings", a
valid GbE version should be equal to string 1.2.3:
Note:
-EOL Variable check. The system must be in Intel® ME manufacturing mode
when -EOL Variable check is run or No EOP Message Sent.
78 Intel Confidential
MEManuf and MEManufWin
Note:
–EOL Config check. If the system is in Intel® ME manufacturing mode when –EOL
Config check is run there will be an error report or No EOP Message Sent.
5.4.4 Output/Result
The following test results can be displayed at the end-of-line checking:
Pass – all tests passed
Pass with warning – all tests passed except the tests that were modified by the
customer to give a warning on failure. (This modification does not apply to Intel-
recommended tests
Fail with warning - all tests passed except some Intel-recommended tests that
were modified by the customer to give a warning on failure.
Fail - any customer-defined error occurred in the test.
5.5 Examples
5.5.1 Example 1
Intel Confidential 79
MEManuf and MEManufWin
CurrentState: Normal
ManufacturingMode: Enabled
FlashPartition: Valid
OperationalState: M0 with UMA
InitComplete: Complete
BUPLoadState: Success
ErrorCode: No Error
ModeOfOperation: Normal
ICC: Valid OEM data, ICC
programmed
80 Intel Confidential
MEManuf and MEManufWin
CurrentState: Normal
ManufacturingMode: Enabled
FlashPartition: Valid
OperationalState: M0 with UMA
InitComplete: Complete
BUPLoadState: Success
ErrorCode: No Error
ModeOfOperation: Normal
ICC: Valid OEM data, ICC programmed
Intel Confidential 81
MEManuf and MEManufWin
82 Intel Confidential
MEManuf and MEManufWin
Intel Confidential 83
MEInfo
6 MEInfo
MEInfoWin and MEInfo provide a simple test to check whether the Intel® ME FW is
alive or not. Both tools perform the same test; query the Intel ® ME FW including
Intel® AMT – and retrieve data.
MEInfo reports an LMS error. This behavior is expected as the LMS driver cannot be
installed on Windows* PE.
6.2 Usage
The executable can be invoked by:
MEInfo.exe [-EXP] [-H|?] [-VER] [-FITCVER] [-FEAT] [-VALUE] [-FWSTS]
[-VERBOSE] [-PAGE][-PID <filename>] [-DUMPIDLM <filename>]
MEInfo.efi [-EXP] [-H|?] [-VER] [-FITCVER] [-FEAT] [-VALUE] [-FWSTS]
[-VERBOSE] [-PAGE][-PID <filename>] [-DUMPIDLM <filename>]
84 Intel Confidential
MEInfo
Option Description
-FEAT < name> Compares the value of the given feature name with the value in the
-VALUE <value> command line. If the feature name or value is more than one word,
the entire name or value must be enclosed in quotation marks. If the
values are identical, a message indicating success appears. If the
values are not identical, the actual value of the feature is returned.
Only one feature may be requested in a command line.
-FEAT <name> Retrieves the current value for the specified feature. If the feature
name is more than one word, the entire feature name must be
enclosed in quotation marks. The feature name entered must be the
same as the feature name displayed by MEInfo.
MEInfo can retrieve all of the information detailed below. However,
depending on the SKU selected, some information may not appear.
–FWSTS Decodes the Intel® ME FW status register value field and breaks it
down into the following bit definitions for easy readability:
FW Status Register1: 0x1E000255
FW Status Register2: 0x69000006
CurrentState: Normal
ManufacturingMode: Enabled
FlashPartition: Valid
OperationalState: M0 with UMA
InitComplete: Complete
BUPLoadState: Success
ErrorCode: No Error
ModeOfOperation: Normal
ICC: Valid OEM data, ICC programmed
-VERBOSE <filename> Turns on additional information about the operation for debugging
purposes. This option has to be used together with the above
mentioned option(s). Failure to do so generates the error: "Error
9254: Invalid command line option".
This option works with no option and -feat.
-H or -?: Displays the list of command line options supported by the MEInfo
tool.
- PAGE When it takes more than one screen to display all the information,
this option lets the user pause the display and then press any key to
continue on to the next screen.
No option: If the tool is invoked without parameters, it reports information for all
components listed in Table 18 below for full SKU FW.
Intel Confidential 85
MEInfo
86 Intel Confidential
MEInfo
Available”
Intel Confidential 87
MEInfo
88 Intel Confidential
MEInfo
Intel Confidential 89
MEInfo
Service) is
used only
when
wired/wireless
Hw is present.
Not available
on 1.5M Sku
90 Intel Confidential
MEInfo
Intel Confidential 91
MEInfo
92 Intel Confidential
MEInfo
6.3 Examples
This is a simple test that indicates whether the FW is alive. If the FW is alive, the test
returns device-specific parameters. The output is from the Windows version. The DOS
version does not display the UNS version, Intel® Management Engine Interface, or
LMS version numbers.
FW Capabilities: 0x00101C60
Intel Confidential 93
MEInfo
FW Capabilities: 0x0CFE5C47
94 Intel Confidential
MEInfo
Intel Confidential 95
Intel® ME Firmware Update
FWUpdate does not update the BIOS, GbE, or Descriptor Regions. It updates the FW
code portion along with the WCOD and LOCL partitions that Intel provides on the OEM
website. Intel® FWUpdate updates the entire Intel® ME code area. In addition
FWUpdate local can perform a partial update to change / update the WCOD or LOCL
portions.
The image file that the tool uses for the update is the same image file that is used
by the FITC tool to create a firmware image for use in the SPI. A sample FW image
file for updating would be ‘ME8_5M_Production.bin’. These files are located in the
‘Image Components\ME’ sub-folder of the firmware kit.
After FWUpdate a host reset is needed to complete FW update. The user can also use
the –FORCERESET option to do this automatically.
Note: In previous generations there were two tools: Intel® ME Local Firmware Update and
Intel® ME Remote Firmware Update. Now there is just a local firmware update tool
that is called Intel® ME Firmware Update (FWUpdate).
7.1 Requirements
FWUpdLcl.exe is a command line executable that can be run on an Intel® ME-enabled
system that needs updated FW.
FW can only be updated when the system is in an S0 state. FW updates are NOT
supported in the S3/S4/S5 state.
If Intel® Anti-theft technology is enabled, a system restart must occur to complete the
FW update process.
The Intel® ME Interface driver must be installed for running this tool in a Windows
environment.
96 Intel Confidential
Intel® ME Firmware Update
Once the .inf file located, the user will need to use Windows* PE command drvload
*.inf to load it into the running system each time Windows* PE reboots. Failure to do
so causes a tools reporting error.
This option supports three value, enabled, disabled and Password protected.
7.4 Usage
Note: In this section, <Image File> refers to an Intel-provided image file of the section of
the FW to be updated, not the image file used in FITC to program the entire flash
memory.
Note: Image File is the image file of the FW to be updated. Is the same image file used by
FITC.
Intel Confidential 97
Intel® ME Firmware Update
Option Description
-Y Ignore warning. If the warning asks for input "Y/N", this flag makes the tool
automatically take "y" as the input.
-F <FILE> File. Specifies the FWUpdate image file to be used for performing an
update.
-SAVE <file> Restore Point. Retrieves an update image from the FW based on the
currently running FW. The update image is saved to the user-specified file.
-ALLOWSV Allow Same Version. Allows the version of the input FW (based on the file
input) to be the same as the version of the FW currently on the platform.
Without this option, an attempt to perform an update on the same version
will not proceed.
-FORCERESET Force Reset. The tool automatically reboots the system after the update
process with FW is complete. The system reboot is necessary for the new
FW to take effect. An attempt to update the FW without this option will end
with a message telling the user to reset the platform for the changes to
take effect.
-OEMID <UUID> OEM ID. The tool uses the specified OEM ID during the transaction of the
new FW image with the Manageability Engine. The purpose of the OEM ID is
for manufacturers to have an identifier for their system. Using any other
OEM ID value other than what is on the FW running on the target platform
results in a failure of the FWUpdate process. The full image (including all
necessary flash partitions) flashed to the system can be configured with the
Flash Image Tool to specify the OEM ID (this tool specifies a default of zeros
for the OEM ID.) If this command line option is not used, the default OEM
ID used for the update is zeros. The OEM ID is configured in the existing FW
image running on the platform. The OEM ID value is specified in the UUID
format (8-4-4-4-12).
–PARTID <wcod This option is always used along with the –F option.
or locl> The partition ID is requested using the “partid” option, which takes in wcod
or locl string as input. If the requested partition is expected by the
Firmware the tool will search for the expected partition in the image
provided, extract it and send it to the FW to perform the update. If the
expected partition is not found in the image and invalid file error will be
returned by the tool. Also, if the requested partition is not expected by the
firmware and error will be returned to the user.
Note: For partial fw update the image provided must either be a Full or
Partial image. A full image starts with a FPT and contains FTP and NFTP
partitions. A partial image starts with either WCOD or LOCL partitions.
-PASS This is used to specify the Intel® MEBx password to perform the update. A
<PASSWORD> valid password is required to perform the update especially when FW
Update setting in Intel® Mebx is set to “password protected”.
-GENERIC Intel® MEI. Specifies that the tool performs the update over the Intel® MEI
98 Intel Confidential
Intel® ME Firmware Update
Option Description
®
interface. Intel MEI is used even if the FW supports a network-based
update.
Note: This option is only supported in the Windows version of the tool.
-H or -? Displays the list of command line options supported by the MEInfo tool.
7.5 Examples
FWUpdLcl.exe –f FW.BIN
EFI:
FWUpdLcl.efi –f FW.BIN
EFI:
FWUpdLcl.efi -haltRCFG
Calling the -haltRCFG option halts all remote configuration traffic and prevents
remote configuration. -haltRCFG can NOT be used as a command line argument while
performing FWUpdate.
Intel Confidential 99
Intel® ME Firmware Update
EFI:
FWUpdLcl.efi -f upd.bin -partid <wcod or locl>
Non-Verbose Mode
C:\>FWUpdlcl.exe –f FW.BIN.bin –partid WCOD
Verbose Mode
EFI:
> FWUpdLcl.efi -exp partid
Option Description
-R Global reset
8.3.1 Syntax
The following parameters can be set in USBfile.exe to generate the binary file.
Option Description
-dns <DNS suffix> Sets the PKI DNS suffix name (up to length 255)
-pp <GUID> Sets the power package. GUID should be in network order.
-ito <4 byte of idle time out> 4 char of idle time out
-pid <pid> -pps <pps> PSK pair. This is ignored if -gen was chosen
-hash <certificate file name> Computes and adds the hash of the given root certificate file.
<friendly name> Up to three certificate hashes may be specified.
For more details on how to use USBfile.exe, use the help command in the USB file
utility. Once all parameter modifications have been completed (along with the current
Intel® MEBx password) USBfile.exe creates a binary file.
For example, the user could enter the command Usbkey.exe –create test.bin
Admin Admin@98 (supposing the System current Intel® MEBx password is Admin).
When the user runs USBfile.exe, this command creates a binary file named test.bin
that sets the new password for Intel® MEBx to Admin@98.
Once the binary file is created it is used by the UpdateParam tool as an input.
8.4 Output
If the binary file contains the right Intel® MEBx password, it proceeds to make the
appropriate changes to the settings. It either returns a Success/Fail status for each of
the parameters that are in the binary file or the tool returns an error code and error
message and exits.
Once the password validation is successfully completed, Intel® UPDParam changes the
rest of the parameters as listed in the .bin file. If there is a failure changing/updating
any of the parameters, Intel® UPDParam returns the error code and error message
associated with the failure.
Note: Error messages are displayed in red and warning messages are displayed in yellow.
Since Intel® UpdParam uses Intel® MEI to communicate with different components of
the Intel® ME it also returns the Intel® MEI status.
A log file is also created that contains details about all the steps executed. The log file
can be found in the same folder as the executable.
SolIderConfig
HostName
DomainName
DHCP
Idle Timeout
Provisioning Server Address
Provisioning server port
StaticIPv4Parameters
KVM
Configuration Mode
User Consent Policy
User Consent Option
8.6 Examples
UpdParam –f <filename>
Inputs the binary file and updates the parameters.
Updparam –r
Performs a global reset.
Updparam –h
Displays the help screen.
This table is for reference use only and will be updated later.
Reset Type
Data
Secure
Fixed Offset FPT Fixed Length
Offset Description Expected Value
Name ID ID (in
Bytes)
Reset Type
Data
Secure
Fixed
Fixed Offset FPT Offset Description Length Expected Value
Name ID (in
ID Bytes)
OEM Sku Rule 7 0x000A UINT32 (little endian) value. This controls 4 Feature Capable: 1 No Global
what features are permanently disabled by Feature Permanently disabled: 0
OEM. See Appendix A - Features
Supported (Firmware Variable Bit Description Note
Structures for Intel Management Engine) s
and Table 5-5 (Firmware Bring-up Guide) 31:22 Reserved
for more details. If a feature is grayed out in
21 TLS
Table 5-5 (Firmware Bring-up Guide) for
that target HW SKU, then the firmware will Reserved
19:20
disregard that selection.
18 KVM 2
Notes:
There are reserved bits that must not be 17 Reserved
changed for proper platform operation.
16 ME Network
The user should only modify the bit(s)
Disable
for the feature(s) they wish to change.
15:13 Reserved
There is NO ability to change features
one at a time. This FOV sets OEM PAVP
12
Permanent Disable for ALL features. In
addition prior updating or changing any 11:6 Reserved
of available settings. It is *highly*
5 Intel® AT
recommended that the user retrieve the
current value using the "FPT -r Reserved
4:3
OEMSkuRule" and toggling only the
desired bits, and then resave using "FPT 2 Manageability 1
-u -n OEMSkuRule -v <value>". and Security
Application
1 Reserved
This will not enable functionality that is not
capable of working in the target hardware 0 Manageability 1
SKU. Please see the respective Firmware Full
Bring-up Guide for a list of what features are
capable with what firmware bundle and 1. For corporate SKUs (Intel®
Hardware SKU of Intel® 8 Series Chipset Q87, Intel® QM87 bits 0 and 2
Family. need to be both set to ‘1’ to
allow for Intel® AMT to work.
2. KVM (bit 18) should only be set
to ‘1’ when Manageability
Application (bit 2) is set to ‘1’.
If using a Corporate SKU,
then Manageability Full (bit 0)
must also be set to ‘1’.
Reset Type
Secure
Fixed Offset FPT Fixed Data
Offset Description Length Expected Value
Name ID ID (in Bytes)
Feature 8 0x000B UINT32 (little endian) value. This controls 4 Feature Enabled: 1 No Global
Shipment Time what features are enabled or disabled. These Feature Disabled: 0
State features may be enabled /disabled by
mechanisms such as MEBx or provisioning.
Bit Description Note
This setting is only relevant for features NOT
s
permanently disabled by the OEM Permanent
Disable. 31:3 Reserved
2 Manageability
This will not enable functionality that is not
and Security
capable of working in the target hardware
Application
SKU. Please see the respective Firmware
1:0 Reserved
Bring-up Guide for a list of what features are
capable with what firmware bundle and
Hardware SKU of Intel® 8 Series Chipset
Family.
Notes:
There are reserved bits that must not be
changed for proper platform operation.
The user should only modify the bit(s)
for the feature(s) they wish to change.
There is NO ability to change features
one at a time. This FOV sets OEM
Permanent Disable for ALL features. In
addition prior updating or changing any
of available settings. It is *highly*
recommended that the user retrieve the
current value using the "FPT -r
OEMSkuRule" and toggling only the
desired bits, and then resave using "FPT
-u -n OEMSkuRule -v <value>".
Examples:
Intel® Q77 with Manageability
Application, ship enabled:
Bit: 2 set to ‘1’ (0x4)
Intel® QM77 with disabling
Manageability and Security
Application, Bit: 2 none set to ‘0’
(0x4)
0x80 = Disabled
SetWLANPower 35 0x000E Sets which power well the board uses for 4 No ME
0x82 = Sus Well
Well WLAN cards 0x83 = ME Well
0x84 = SLP_M# || SPDA
0x86 = WLAN Sleep via
SLP_WLAN#
OEM_TAG 34 0x000F A human readable 32-bit number to describe 4 Readable 32 bit hex value No ME
the flash image represented by value identifying the image. Can be
empty (Null).
Reset Type
Secure
Fixed Offset FPT Fixed Data
Name ID Offset Description Length Expected Value
ID (in Bytes)
PPS 10 0x2002 A 256 bit quantity made up of ASCII codes of 32 Please see the PSK algorithm No ME
some combination of 32 characters – capital section on how to generate valid
alphabets (A–Z), and numbers (0–9). Must PPS.
be set along with PID.
Idle Timeout – 0x2008 UINT16 representing the time in minutes for 2 Value 0x0000 < n <:0xFFFF No ME
ME the Idle Timeout
OEM 14 0x200B Cert Hash Data. See Certificate Hash Entry 55 => n >= Valid Certificate Hash Entry (SHA1, No ME
Customizable Structure definition 83 SHA256 or SHA384)
Certificate 1 Note: If the platform is un-configured
the Certificate Hash will be deleted.
OEM 15 0x200C Cert Hash Data. See Certificate Hash Entry 55 => n >= Valid Certificate Hash Entry (SHA1, No ME
Customizable Structure definition 83 SHA256 or SHA384)
Certificate 2 Note: If the platform is un-configured
the Certificate Hash will be deleted.
OEM 16 0x200D Cert Hash Data. See Certificate Hash Entry 55 => n >= Valid Certificate Hash Entry (SHA1, No ME
Customizable Structure definition 83 SHA256 or SHA384)
Certificate 3 Note: If the platform is un-configured
the Certificate Hash will be deleted.
Reset Type
Secure
Fixed Offset FPT Fixed Data
Offset Description Length Expected Value
Name ID ID (in Bytes)
Privacy/Security 33 0x2019 Redirection (KVM, SOL, IDE-r) privacy level 1 Default 0x01 No ME
Level and configuration (RCFG, CCM) settings. Enhanced 0x02
Extreme 0x03
Default:
SOL enabled = true
IDER enabled = true
KVM enabled = true
Opt-in can be disabled= true
KVM opt-in configurable remotely =
true
RCFG and CCM = true
Enhanced:
SOL enabled = true
IDER enabled = true
KVM enabled = true
Opt-in can be disabled= false
Opt-in configurable remotely = true
RCFG and CCM = true
Extreme
SOL enabled = false
IDER enabled = false
KVM enabled = false
Opt-in can be disabled= false
KVM opt-in configurable remotely =
N/A
RCFG and CCM = false
SystemIntegrato 0x5004 Used for setting the System Integrator ID 4 32-bit value ME
rId used by Intel® Services Value 0x00000000 < n <
Note: This value can only be 0xFFFFFFFF
programmed into FW once.
Reset Type
Secure
Fixed Offset FPT Fixed Data
Name ID Offset Description Length Expected Value
ID (in Bytes)
ReservedID 0x5005 Used for setting the "Reserved" ID used by 4 32-bit value ME
Intel® Services Value 0x00000000 < n <
Note: This value can only be 0xFFFFFFFF
programmed into FW once.
Note: All Fixed Offset Variables (FOVs) have corresponding Named Variables
(NVARs) however not all Named Variables (NVARs) have Firmware Offset
Variables (FOVs) associated with them.
Required Parameters
0 Success
Check region to be
3 Region does not exist
programmed
77 An unknown error occurred while opening the file Verify the file is not corrupt
Failed to allocate memory for the flash part Check system memory
78
definition file Verify the file is not corrupt
Failed to read the device ID from the SPI flash Verify Fparts.txt has
102
part correct values
The two SPI flash devices do not have compatible Verify both SPI devices on
104
command sets the system are compatible
1001 Unsupported OS
8211 No message
0 Success
8706 Firmware update not initiated due to integrity failure or invalid FW image
8708 Firmware Update operation not initiated because a firmware update is already in
progress
8714 Firmware update not initiated due to file open or read failure
8719 Firmware update cannot be initiated because Local Firmware update is disabled
8728 This version of the Intel l® FW Update Tool is not compatible with the current
platform.
8745 Firmware update cannot be initiated because the OEM ID provided is incorrect
8772 Invalid usage, -allowsv switch required to update the same version firmware
8778 Unable to read FW version from file. Please verify the update image used.
9261 Hibernation isn't supported by the OS, Intel(R) ME test cannot run
9273 Intel (R) VE is disabled by PCH SoftStrap, not used by Intel® ME 8.X
or
9282 BIOS has granted Intel(R) Gbe and/or ME access to its region
9292 The SKU does not have any test assigned to be run
-S4 Inte(R) AMT test only runs under Windows, not used by Intel® ME 8.X
Or
Or
9297 Intel(R) NAND needs to be enabled to perform the test, not used by Intel®
ME 8.X
9299 Single flash part found, Flash Partition Boundary Address must be zero
9301 The two flash parts on this platform require different BIOS VSCC values
9302 Intel® NAND module test failed (feature not enabled), not used by Intel®
ME 8.X
9307 Intel® Wired/Wireless LAN MAC address mismatch, feature is not supported
9314 Intel® ME test result reports error(s), not used by Intel® ME 8.X
9316 Intel® ME cannot run Full BIST. Possible Causes: (1) Power package 2 not
supported, (2) This is a mobile system with DC power
9324 M3 results are not available from SPI. Please run –test option to perform the
BIST test
9355 Current WLAN does not match micro-code, please update WLAN micro-code
in FW
9360 USBr EHCI 1 Enabled and/or USBr EHCI 2 Enabled setting is set incorrectly
9366 Intel LAN connected Device (PHY) physical connectivity error with ME
9450 Communication error between application and Intel® AMT module (Manageability
client)
9451 Communication error between application and Intel® AMT module (PTHI client)
9452 Communication error between application and Intel® ME module (iCLS client)
9458 Communication error between application and Intel® ME module (FW Update
client)
9461 Communication error between application and Intel® ME module (HCI client)
9462 Communication error between application and Intel® ME module (Kernel Client)
Invalid Parameters
200 Invalid parameter value specified by the user. Use -? Option to see help.
Unsupported Platform
Unsupported OS
9254 Unsupported OS
Error Error
Code
Error Description
Codes
0 Success
3021 A record has been encountered that does not contain an entry with the Current
Intel® MEBx Password
3023 The header chunk count cannot contain all of the setup file header data
3024 The record chunk count cannot contain all of the setup file record data
3026 The setup file header indicates that there are no valid records
Error Description
Codes
3049 The data record is missing a User defined certificate config entry
3050 The data record is missing a User defined certificate Add entry
1 0 Yes No Yes No
FPT -Greset Not related Not related Not related N/A Not Fail – DOS Work
related
MEMANUF –EOL Depends on Work Depends on Work Not related Not related
config End of post Intel® ME
status manufacturing
mode donebit
status
All options for Not related Not related Fail Work Not related Not related
UpdPARAM