mlxburn – Firmware Image Generator and Burner
mlxburn is a tool for firmware (FW) image burning to the Flash/EEPROM attached to an NVIDIA device. It can also query for firmware attributes (e.g., firmware version, GUIDs, etc.) and VPD info of adapter cards and switch systems.
#mlxburn [-h][-v] <-dev mst-device> <-img_dir img_direcory> [-force][-fwver][-vpd][-vpd_rw][-vpd_prog_rw [-query]
where:
-dev <mst-dev> | Burn the image using the given mst device |
-fwver | When a device is given: Display current loaded firmware version. When a FW file is given (-fw flag): Display the file FW version. Note: The “-fwver” flag is not supported in Connect-IB devices. |
-h | Display a short help text |
-image <fw-image-file> | Do not generate image. Use the given fw image instead |
-striped_image | When specified, generated image will be in striped format, and will indicate that the image is in striped format when queried. |
-query | Query the HCA/Switch device for firmware details, e.g. Firmware Version, GUIDs, etc. In addition to the above flags, Mlxburn can also accept the following flags/options, which are passed to the underlying burning tool: -banks -use_image_ps -skip_is -mac(s) -guid(s) -sysguid -vsd -ndesc -bsn -pe_i2c -se_i2c -is3_i2c -no -uid(s) -log -blank_guids -flash_params -allow_psid_change -no_flash_verify -use_image_rom -override_cache_replacement -use_image_guids See the flint tool documentation for HCA/4th gen switches/Bridge burning options. |
-v | Print version info and exit |
-V <INFORM|WARNING|DEBUG> | Set verbosity level. Default is WARNING |
-vpd 1,2 | Display the read only section of the PCI VPD (Vital Product Data) of the given device |
-vpd_rw1,2 | (on Linux only): Display also the read/write section of the PCI VPD of the given device. |
Note 1. The VPD query may not be enabled on certain board types. Also, VPD operations are available only for devices with a PCI interface.
Note 2. Running multiple VPD access commands in parallel on the same device, by mlxburn or any other VPD access tool, may cause the commands to fail. VPD access commands should be run one at a time.
Connect-IB, Switch-IB, Switch-IB 2, NVIDIA Spectrum, ConnectX-4, and ConnectX-4 Lx Initial Burning Options
The following options are relevant when generating an image for initial burning. The image contains the VPD and the GUIDs that are in a read-only area on flash.
[ -vpd_r_file <vpd_r_file>] [ -base_guid <GUID>]
where:
-vpd_r_file <vpd_r_file> | Embed the given VPD Read-Only section in the generated image. The vpd_r_file should contain the vpd read only section and the first dword of the vpd writeable section. The file is in binary format, and its size must be a multiple of 4 bytes. Please refer to PCI base spec for VPD structure info. |
-base_guid <GUID> | Set the given GUID as the image base GUID. The base GUID is used to derive GUIDs and MACs for the HCA ports. It is assumed that 16 GUIDs (base_guid to base_guid + 15) are reserved for the card. Note: On ConnectX-4/ConnectX-4 Lx/ConnectX-5/ConnectX-5 Ex, only GUIDs will be derived according to the HCA configuration. |
-base_mac <MAC> | Set the given MAC as the image base MAC. The base MAC is used to derive MACs for the HCA ports according to the device configuration (ConnectX-4/ConnectX-4 Lx/ConnectX-5/ConnectX-5 Ex). |
-vsd <string> | Write this string, of up to 208 characters, to VSD section. |
Additional mlxburn Options
The following is a list of additional options. Please see .mlxfwmanager – Firmware Update and Query Tool v4.18.1 for the HCA options.
-banks -use_image_ps -skip_is -mac(s) -guid(s) -sysguid -ndesc -bsn -use_image_guids -pe_i2c -se_i2c -is3_i2c -no -qq -uid(s) -log -blank_guids -flash_params -allow_psid_change -no_flash_verify -use_image_rom
-override_cache_replacement -ocr -ignore_dev_data -use_dev_rom -no_fw_ctrl
The arguments of the -guids and -macs flags must be provided within quotation marks; for example, mlxburn -macs “0002c900001 0002c900002”.
Query for firmware attributes (e.g., firmware version, GUIDs, etc.):
# mlxburn -d /dev/mst/mt4129_pciconf0 query
-I- Image type: FS4
-I- FW Version: 28.45
.0376
-I- FW Release Date: 15.4
.2025
-I- Product Version: 28.45
.0376
-I- Rom Info: type=UEFI version=14.38
.14
cpu=AMD64,AARCH64
-I- type=PXE version=3.7
.500
cpu=AMD64
-I- Description: UID GuidsNumber
-I- Base GUID: N/A 8
-I- Base MAC: N/A 8
-I- Image VSD: N/A
-I- Device VSD: N/A
-I- PSID: MT_0000000851
-I- Security Attributes: secure-fw
VPD read:
# mlxburn -d /dev/mst/mt4123_pciconf0 -vpd_rw
VPD-KEYWORD DESCRIPTION VALUE
----------- ----------- -----
Read Only Section:
PN Part Number MCX653106A-HDAT
EC Revision A1
V2 N/A MCX653106A-HDAT
SN Serial Number MT1836X04719
V3 N/A 0
VA N/A MLX:MN=MLNX:CSKU=V2:UUID=V3:PCI=V0:MODL=CX653106A
V0 Misc Info PCIeGen4 x16
VU N/A MT1836X04719MLNXS0D0F0
RV Checksum Complement 0xc0
IDTAG Board Id CX653106A - ConnectX-6
QSFP56
Read Write Section:
# mlxburn vpd -d /dev/mst/mt4123_pciconf0
VPD-KEYWORD DESCRIPTION VALUE
----------- ----------- -----
Read Only Section:
PN Part Number MCX653106A-HDAT
EC Revision A1
V2 N/A MCX653106A-HDAT
SN Serial Number MT1836X04719
V3 N/A 0
VA N/A MLX:MN=MLNX:CSKU=V2:UUID=V3:PCI=V0:MODL=CX653106A
V0 Misc Info PCIeGen4 x16
VU N/A MT1836X04719MLNXS0D0F0
RV Checksum Complement 0xc0
IDTAG Board Id CX653106A - ConnectX-6
QSFP56
Burning bin file using mlxburn:
# mlxburn -d /dev/mst/mt4131_pciconf0 -i cx8.bin -y
Detecting and burning the suitable bin file from a dir of several bin files:
# mlxburn -d /dev/mst/mt4131_pciconf0 -img_dir /tmp/s -y
To Query fw version of the given device:
# mlxburn -d /dev/mst/mt4115_pciconf0 -fwver
-I- FW Version: 12.28
.2006
Exit Return Values
The following exit values are returned:
0 - successful completion
>0 - an error occurred