Name

mpssflash — A tool to update Flash memory and System Management Controller firmware on Intel(R) Xeon Phi(TM) coprocessors.

Synopsis

mpssflash OPTIONS

DESCRIPTION

mpssflash is a tool to query the state of flash memory on Intel® Xeon Phi™ coprocessors (also known as Many Integrated Core or MIC), and update its contents as well as the firmware of onboard System Management Controller (SMC).

mpssflash update

Flash memory and SMC firmware contents may be modified by using the update command. This command must be run when the device is in the ready state. The micctrl command may be used to put the device into the ready state prior to issuing the update request:

# micctrl -r [device]
# micctrl -w [device]
mic0: ready

The action depends on the content of the image file that is passed with the <file> argument, or selected by the rules specified later in this document. If the file contains two images (Flash and SMC firmware), then both updates are attempted. Otherwise, only the available image is updated. Note that the files are usually saved with .rom extension for Flash-only images, .smc for SMC firmware, and .rom.smc for both.

The --device argument may be used to specify a single device ID, a comma-separated list of device IDs, or all to denote all MIC devices present on the system. This option may be omitted on a single-card system, in which case the only available device is used.

Note: The behavior of prompting for reboot at the end of a successful update is now discontinued. The reason is that a flash update requires a cold boot, but a warm-reboot may have been specified as a boot parameter.

For SMC firmware versions 1.7 and earlier, an SMC boot loader update is necessary. Use the --smcbootloader option with the update command to update the SMC boot loader, in addition to the SMC image. If --smcbootloader is specified on the command line of a flash update operation, then mpssflash will first look for the highest compatible version of the SMC boot loader image in the /usr/share/mpss/flash directory. If no such image is found, then the operation will fail. If the operation is successful, then mpssflash will attempt to use one of the following (in order):

  1. A compatible flash and SMC image (.rom.smc extension) in /usr/share/mpss/flash if no path or file were specified in the update command
  2. A compatible flash and SMC image in the directory specified in the update command
  3. The file specified in the update command after checking its compatibility

Note that the compatibility check may be skipped to allow a user to perform an SMC firmware upgrade alone (without flash upgrade), along with the SMC boot loader modification. However, the user should make sure the SMC image is actually compatible with the device as there may be no way for mpssflash to determine if the given image is compatible.

If any of these operations fail, then the update will fail and the SMC boot loader will not be modified. Otherwise, the SMC boot loader will be modified first, followed by an update of the flash and/or SMC images.

mpssflash version

This command may be used to display the flash firmware version that is currently present on the installed device(s), or from an image file. When reading physical flash, this command must be executed with the specified devices in the ready state. In this case, the device is first put into maintenance mode, the flash is read, and finally reset back to the ready state.

OPTIONS

--help,-h [update|version|read|device|check]
Describe usage of mpssflash. If a topic is specified, describe only that topic, otherwise describe all topics.
update [{--device|-d} {<device>|<device-list>|all}] {--file|-f} <file> [--smcbootloader] [{--force|-F}]

Update the Intel® Xeon Phi™ coprocessor flash with the given flash image file.

--device,-d
<device> gives the numeric ID of the device on which the specified operation must be performed. If this option is not specified, then a device ID of 0 is implied on a single-card system, and an error is reported on multi-card machines. A list of devices (<device-list>) may be specified using comma- separated numeric values, e.g.: --device 0,3,0x5. Finally, all specifies all available devices.
--file,-f <file>
<file> gives the image file to be used to update the flash.
--smcbootloader
Update the SMC boot loader in addition to the SMC image. An SMC boot loader update is necessary for SMC firmware versions 1.7 and earlier.
--force,-F
This option disables the firmware version compatibility check.
version [{--device|-d} {<device>|<device-list>|all}] {--file|-f} <file>

Get the version of the flash image from the specified file, or from the specified device.

--device,-d
<device> gives the numeric ID of the device on which the specified operation must be performed. If this option is not specified, then a device ID of 0 is implied on a single-card system, and an error is reported on multi-card machines. A list of devices (<device-list>) may be specified using comma- separated numeric values, e.g.: --device 0,3,0x5. Finally, all specifies all available devices.
--file,-f <file>
When --file is specified, the version is read from the image file given in <file>.
read [{--device|-d} <device>] {--file|-f} <file>

Save the flash image from the given device into the specified file.

--device,-d
<device> gives the numeric ID of the device on which the specified operation must be performed. If this option is not specified, then a device ID of 0 is implied on a single-card system, and an error is reported on multi-card machines.
--file,-f <file>
The contents of the flash are stored in the file given in <file>.
device [{--device|-d} {<device>|<device-list>|all}]

Get the flash device vendor information.

--device,-d
<device> gives the numeric ID of the device on which the specified operation must be performed. If this option is not specified, then a device ID of 0 is implied on a single-card system, and an error is reported on multi-card machines. A list of devices (<device-list>) may be specified using comma- separated numeric values, e.g.: --device 0,3,0x5. Finally, all specifies all available devices.
check [{--device|-d} {<device>|<device-list>|all}] {--file|-f} <file>

Check if the specified flash image is compatible with the given device.

--device,-d
<device> gives the numeric ID of the device on which the specified operation must be performed. If this option is not specified, then a device ID of 0 is implied on a single-card system, and an error is reported on multi-card machines. A list of devices (<device-list>) may be specified using comma- separated numeric values, e.g.: --device 0,3,0x5. Finally, all specifies all available devices.
--file,-f <file>
The file given in <file> is checked for compatibility with the device(s) specified in --device.

EXAMPLES

Example 1. Updating the flash

# ./mpssflash update --device 0 --file /usr/share/mpss/flash/EXT_HP2_B0_0375-02.rom

mic0: Flash read in progress
mic0: Flash read successful
mic0: Flash update in progress
mic0: Flash update successful
mic0: Resetting

#

Example 2. Getting version information

# mpssflash version --device all

mic0: Version: 2.1.02.0375

mic1: Version: 2.1.02.0375

#

The flash version may also be obtained from an image file:

# mpssflash version --file /usr/share/mpss/flash/EXT_HP2_A0_0375-02.rom.smc

2.1.02.0375

#

EXIT STATUS

mpssflash exits with status 0 if the operation succeeds on all specified devices, otherwise it returns with a non-zero status.

PERMISSIONS

Flash operations require super-user privileges.

CAVEATS

For SMC firmware versions 1.7 and earlier, an SMC boot loader update is necessary. Use the --smcbootloader option with the update command to update the SMC boot loader in addition to the SMC image.

BUGS

A section for known bugs, and possible workarounds:
No bugs listed so far.

AUTHOR

mpssflash(1) was written by Intel for use with Intel® Xeon Phi™ coprocessors

RESOURCES

A list of other useful resources:
None so far.

COPYRIGHT

Copyright 2011-2013 Intel Corporation All rights reserved

SEE ALSO

micinfo(1), micsmc(1), miccheck(1), micflash(1), mpssinfo(1)