NVIDIA Firmware Tools (MFT) Documentation

mlxfwmanager – Firmware Update and Query Tool

The mlxfwmanager 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.

mlxfwmanager supports MFA and MFA2.

The examples throughout the document use pci “bus.dev.fn” format. However, all the examples are inter-changeable with the mlxfwmanager -d /dev/mst/<device> format.

mlxfwmanager Synopsis

# [-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-download-opt OPT] [--download-device Device] [--download-os OS] [--download-type Type] [--ssl-certificate Certificate] [--no_fw_ctrl] [--component_type componentName] [--skip_if_same]

where:

-d|--dev DeviceName  

Perform operation for specified mst device(s). Run 'mst status' command to list the available devices. 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

--component_type componentName

Specify the PLDM component type to extract

--skip_if_same

Skip firmware update if current and new versions match

Querying the Device

To query a specific device, use the following command line:

# mlxfwmanager -d <device> --query

To query all the devices on the machine, use the following command line:

# mlxfwmanager --query


Examples:

Query the device.

mlxfwmanager -d 18:00.0 --query
Querying Mellanox devices firmware ...

 

Device #1:
----------

 

  Device Type:      ConnectX7
  Part Number:      CX713106AE-HEA_QP1_Ax
  Description:      NVIDIA ConnectX-7 HHHL adapter Card; 200GbE (default mode) / NDR200 IB; Dual-port QSFP112; PCIe 5.0 x16 with x16 PCIe extension option; Crypto Enabled; Secure Boot Capable; IPN for internal use
  PSID:             MT_0000000894
  PCI Device Name:  18:00.0
  Base MAC:         1070fd875230
  Versions:         Current        Available     
     FW             28.43.0180     28.45.1008    
     PXE            N/A            3.7.0500      
     UEFI           N/A            14.38.0016    

 

  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:      ConnectX6
  Part Number:      MCX653106A-ECA_Ax
  Description:      ConnectX-6 VPI adapter card; H100Gb/s (HDR100; EDR IB and 100GbE); dual-port QSFP56; PCIe3.0 x16; tall bracket; ROHS R6
  PSID:             MT_0000000224
  PCI Device Name:  0000:04:00.0
  Base GUID:        b8599f030023f954
  Versions:         Current        Available     
     FW             20.43.1014     20.43.1014    
     PXE            3.7.0500       3.7.0500      
     UEFI           14.36.0016     14.36.0016    

 

  Status:           Up to date

 

Device #2:
----------

 

  Device Type:      ConnectX6LX
  Part Number:      MCX631102AN-ADA_Ax
  Description:      ConnectX-6 Lx EN adapter card; 25GbE ; Dual-port SFP28; PCIe 4.0 x8; No Crypto
  PSID:             MT_0000000531
  PCI Device Name:  0000:07:00.0
  Base GUID:        0c42a1030060614c
  Base MAC:         0c42a160614c
  Versions:         Current        Available     
     FW             26.45.0386     26.45.1008    
     PXE            3.7.0500       3.7.0500      
     UEFI           14.38.0014     14.38.0016    

 

  Status:           Update required

 

Device #3:
----------

 

  Device Type:      ConnectX5
  Part Number:      MCX556A-ECA_Ax
  Description:      ConnectX-5 VPI adapter card; EDR IB (100Gb/s) and 100GbE; dual-port QSFP28; PCIe3.0 x16; tall bracket; ROHS R6
  PSID:             MT_0000000008
  PCI Device Name:  0000:21:00.0
  Base GUID:        248a0703008db026
  Versions:         Current        Available     
     FW             16.35.3004     16.35.3004    
     PXE            N/A            3.6.0902      
     UEFI           N/A            14.29.0015    

 

  Status:           Up to date

 

Device #4:
----------

 

  Device Type:      ConnectX4
  Part Number:      MCX455A-FCA_Ax
  Description:      ConnectX-4 VPI adapter card; FDR IB (56Gb/s) and 40GbE; single-port QSFP28; PCIe3.0 x16; ROHS R6
  PSID:             MT_2160111021
  PCI Device Name:  0000:24:00.0
  Base GUID:        8e0b01e681d98270
  Versions:         Current        Available     
     FW             12.28.2006     12.28.2006    
     PXE            3.6.0102       3.6.0102      
     UEFI           14.21.0017     14.21.0017    

 

  Status:           Up to date

 

Device #5:
----------

 

  Device Type:      ConnectX6LX
  Part Number:      MCX631102AN-ADA_Ax
  Description:      ConnectX-6 Lx EN adapter card; 25GbE ; Dual-port SFP28; PCIe 4.0 x8; No Crypto
  PSID:             MT_0000000531
  PCI Device Name:  0000:0a:00.0
  Base GUID:        0c42a10300a981fe
  Base MAC:         0c42a1a981fe
  Versions:         Current        Available     
     FW             26.45.0386     26.45.1008    
     PXE            3.7.0500       3.7.0500      
     UEFI           14.38.0014     14.38.0016    

 

  Status:           Update required

 

---------
Found 2 device(s) requiring firmware update. Please use -u flag to perform the update.

Query XML:

mlxfwmanager --query-format xml
<Devices>
	<Device pciName="0000:04:00.0" type="ConnectX6" psid="MT_0000000224" partNumber="MCX653106A-ECA_Ax">
		<Versions>
			<FW current="20.43.1014" available="20.43.1014"/>
			<PXE current="3.7.0500" available="3.7.0500"/>
			<UEFI current="14.36.0016" available="14.36.0016"/>
		</Versions>
		<GUIDs Base_Guid="b8599f030023f954" />
		<Status>Up to date</Status>
		<Description>ConnectX-6 VPI adapter card; H100Gb/s (HDR100; EDR IB and 100GbE); dual-port QSFP56; PCIe3.0 x16; tall bracket; ROHS R6</Description>
	</Device>
	<Device pciName="0000:07:00.0" type="ConnectX6LX" psid="MT_0000000531" partNumber="MCX631102AN-ADA_Ax">
		<Versions>
			<FW current="26.45.0386" available="26.45.1008"/>
			<PXE current="3.7.0500" available="3.7.0500"/>
			<UEFI current="14.38.0014" available="14.38.0016"/>
		</Versions>
		<MACs Base_Mac="0c42a160614c" />
		<GUIDs Base_Guid="0c42a1030060614c" />
		<Status>Update required</Status>
		<Description>ConnectX-6 Lx EN adapter card; 25GbE ; Dual-port SFP28; PCIe 4.0 x8; No Crypto</Description>
	</Device>
	<Device pciName="0000:21:00.0" type="ConnectX5" psid="MT_0000000008" partNumber="MCX556A-ECA_Ax">
		<Versions>
			<FW current="16.35.3004" available="16.35.3004"/>
			<PXE current="N/A" available="3.6.0902"/>
			<UEFI current="N/A" available="14.29.0015"/>
		</Versions>
		<GUIDs Base_Guid="248a0703008db026" />
		<Status>Up to date</Status>
		<Description>ConnectX-5 VPI adapter card; EDR IB (100Gb/s) and 100GbE; dual-port QSFP28; PCIe3.0 x16; tall bracket; ROHS R6</Description>
	</Device>
	<Device pciName="0000:21:00.0" type="ConnectX5" psid="MT_0000000008" partNumber="MCX556A-ECA_Ax">
		<Versions>
            <FW current="16.35.3004" available="16.35.3004"/>
            <PXE current="N/A" available="3.6.0902"/>
            <UEFI current="N/A" available="14.29.0015"/>
        </Versions>
        <GUIDs Base_Guid="248a0703008db026" />
        <Status>Up to date</Status>
        <Description>ConnectX-5 VPI adapter card; EDR IB (100Gb/s) and 100GbE; dual-port QSFP28; PCIe3.0 x16; tall bracket; ROHS R6</Description>
    </Device>
</Devices>

Archived Images Content

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: 

mlxfwmanager -i <pldm-path> --list-content
  • When running this command, the tool will list all firmware images within this mfa package.
    Usage:

    mlxfwmanager -i <mfa-file> --list-content
    

For each image, it displays the following: PSID, Part Number, firmware version, and device description.


Parallel Query and Firmware Update Using fwctl

In case of multiple devices, the tool will execute query or firmware update over fwctl device.

Please make sure that the fwctl driver is loaded on the Kernel space (using lsmod). The fwctl driver was introduced in Upstream Kernel v6.15, and it can also be installed with DOCA.


Last updated: