mstfwmanager – Firmware Update and Query Tool
The mstfwmanager is a firmware update and query utility which scans the system for available NVIDIA devices (only mst PCI devices) and performs the necessary firmware updates.
For further information on firmware update, please refer to Booting HCA Device in Livefish Mode.
The examples throughout the document use pci “bus.dev.fn” format.
# [-d|--dev DeviceName] [-h|--help] [-v|--version] [--query] [--query-format Format] [-u|--update] [-i|--image-file FileName] [-D|--image-dir DirectoryName] [-f|--force] [-y|--yes] [--no] [--clear-semaphore] [--exe-rel-path] [-l|--list-content] [--archive-names] [--nofs] [--log] [-L|--log-file LogFileName] [--no-progress] [-o|--outfile OutputFileName] [--online] [--online query-psid PSIDs] [--key key] [--download DirectoryName] [--download-default
] [--get-downloadopt OPT] [--download-device Device] [--download-os OS] [--download-type Type] [--ssl-certificate Certificate] [--no_fw_ctrl]
where:
-d|--dev DeviceName |
Perform operation for specified mst device(s). Multiple devices can be specified delimited by semicolons. A device list containing semicolons must be quoted. |
-h|--help |
Show this message and exit. |
-v|--version |
Show the executable version and exit. |
--query |
Query device(s) info |
--query-format Format |
(Query|Onlinequery)outputformat,XML|Text-defaultText |
-u|--update |
Update firmware image(s) on the device(s). |
-i|--image-file FileName |
Specified image file to use. |
-D|--image-dir DirectoryName |
Specified directory instead of default to locate image files. |
-f|--force |
Force image update |
-y|--yes |
Answer is yes in prompts |
--no |
Answer is no in prompts |
--clear-semaphore |
Force clear the flash semaphore on the device, No command is allowed when this flag is used. NOTE: May result in system instability or flash corruption if the device or another application is currently using the flash. Exercise caution. |
--exe-rel-path |
Use paths relative to the location of the executable |
-l|--list-content |
List file/Directory content, used with --image-dir and --image-file flags |
--archive-names |
Display archive names in listing |
--nofs |
Burn image in a non failsafe manner |
--log |
Create log file |
-L|--log-file LogFileName |
Use specified log file |
--no_fw_ctrl |
Do not use firmware Ctrl update |
--no-progress |
Do not show progress |
-o|--outfile OutputFileName |
Write to specified output file |
--online |
Fetch required FW images online from NVIDIA server |
--online-query-psid PSIDs |
Query FW info, PSID(s) are comma separated |
--key key |
Key for custom download/update |
--download DirectoryName |
Download files from server to a specified directory |
--download-default |
Use Default values for download |
--get-download-opt OPT |
Get download options for OS or Device Options are: OS, Device |
--download-device Device |
Use '--get-download-opt Device' option to view available devices for device specific downloads |
--download-os OS |
Only for self_extractor download: Use '--get-download-opt OS' option to view available OS for sfx download |
--download-type Type |
MFA | self_extractor - default All |
--ssl-certificate Certificate |
SSL certificate for secure connection |
To query a specific device, use the following command line:
# mstfwmanager -d <device> --query
To query all the devices on the machine, use the following command line:
# mstfwmanager --query
Examples:
Query the device.
mstfwmanager -d 09
:00.0
--query
Querying Mellanox devices firmware ...
Device #1
:
----------
Device Type: ConnectX3
Part Number: MCX354A-FCA_A2-A4
Description: ConnectX-3
VPI adapter card; dual-port QSFP; FDR IB (56Gb/s) and 40GigE; PCIe3.0
x8 8GT/s; RoHS R6
PSID: MT_1020120019
PCI Device Name: 0000
:09
:00.0
Port1 GUID: 0002c9000100d051
Port2 MAC: 0002c9000002
Versions: Current Available
FW 2.31
.5050
2.32
.5000
Status: Update required
---------
Found 1
device(s) requiring firmware update. Please use -u flag to perform the update.
Query all the devices.
Querying Mellanox devices firmware ...
Device #1
:
----------
Device Type: ConnectX3Pro
Part Number: MCX354A-FCC_Ax
Description: ConnectX-3
Pro VPI adapter card; dual-port QSFP; FDR IB (56Gb/s) and 40GigE;PCIe3.0
x8 8GT/s;RoHS R6
PSID: MT_1090111019
PCI Device Name: 0000
:84
:00.0
Port1 GUID: f452140300347881
Port2 GUID: f452140300347882
Versions: Current Available
FW 2.42
.5016
N/A
PXE 3.4
.0753
N/A
Status: No matching image found
Device #2
:
----------
Device Type: ConnectX4LX
Part Number: MCX4121A-ACA_Ax
Description: ConnectX-4
Lx EN network interface
card; 25GbE dual-port SFP28; PCIe3.0
x8; ROHS R6
PSID: MT_2420110034
PCI Device Name: 0000
:02
:00.0
Base MAC: e41d2dfd8b8a
Versions: Current Available
FW 14.25
.8306
N/A
PXE 3.5
.0702
N/A
UEFI 14.18
.0022
N/A
Status: No matching image found
Query XML:
# mstfwmanager --query --query-format XML
<Devices>
<Device pciName="0000:84:00.0"
type="ConnectX3Pro"
psid="MT_1090111019"
partNumber="MCX354A-FCC_Ax"
>
<Versions>
<FW current="2.42.5016"
available="N/A"
/>
<PXE current="3.4.0753"
available="N/A"
/>
</Versions>
<GUIDs port1="f452140300347881"
port2="f452140300347882"
/>
<Status>No matching image found</Status>
<Description>ConnectX-3
Pro VPI adapter card; dual-port QSFP; FDR IB (56Gb/s) and 40GigE;PCIe3.0
x8 8GT/s;RoHS R6</Description>
</Device>
<Device pciName="0000:02:00.0"
type="ConnectX4LX"
psid="MT_2420110034"
partNumber="MCX4121A-ACA_Ax"
>
<Versions>
<FW current="14.25.8306"
available="N/A"
/>
<PXE current="3.5.0702"
available="N/A"
/>
<UEFI current="14.18.0022"
available="N/A"
/>
</Versions>
<MACs Base_Mac="e41d2dfd8b8a"
/>
<Status>No matching image found</Status>
<Description>ConnectX-4
Lx EN network interface
card; 25GbE dual-port SFP28; PCIe3.0
x8; ROHS R6</Description>
</Device>
</Devices>
Supports listing the contents of images archive.
When running this command, the tool will list all firmware images within this PLDM package for each image it displays.
Usage:
mstfwmanager -i <pldm-path> --list-content
When running this command, the tool will list all firmware images within this mfa package.
Usage:
mstfwmanager -i <mfa-file> --list-content
For each image, it displays the following: PSID, Part Number, firmware version, and device description.