Bluefield and CX7/CX8 Firmware Update Process#
Prior to installation, copy the binary to the compute tray host or use a shared directory. The binary naming format should look like:
CX7 Example:
fw-ConnectX7-rel-28_42_1270-900-24768-0002_Ax-UEFI-14.35.15-FlexBoot-3.7.500.signed.bin
CX8 Example:
fw-ConnectX8-rel-28_44_2524-900-24768-0002_Ax-UEFI-14.37.14-FlexBoot-3.7.500.signed.bin
The general steps to install NVIDIA Networking firmware are as follows:
Start the MST service
mst startQuery the devices to find the /dev/mst paths of the devices
mst status -v
Read the current version of firmware on a given device
flint -d /dev/mst/mt4129_pciconf0 q full
Flash the firmware on the device
Change to the directory where the binary is stored
Run the flash command:
flint -d /dev/mst/mt4129_pciconf0 -i fw-ConnectX7-rel-28_42_1270-900-24768-0002_Ax-UEFI-14.35.15-FlexBoot-3.7.500.signed.bin b
Repeat this for all 4 CX7 or CX8 devices
Reset the device and reboot the host
mlxfwreset -d mlx5_0 reset
Example CX7 Devices:
PCI devices: ------------------ DEVICE_TYPE MST PCI RDMA NET NUMA ConnectX7(rev:0) /dev/mst/mt4129_pciconf0 0000:03:00.0 mlx5_0 net-ibp3s0 0 ConnectX7(rev:0) /dev/mst/mt4129_pciconf1 0002:03:00.0 mlx5_1 net-ibP2p3s0 0 ConnectX7(rev:0) /dev/mst/mt4129_pciconf2 0010:03:00.0 mlx5_4 net-ibP16p3s0 1 ConnectX7(rev:0) /dev/mst/mt4129_pciconf3 0012:03:00.0 mlx5_5 net-ibP18p3s0 1
Example CX8 Devices:
PCI devices: ------------------ DEVICE_TYPE MST PCI RDMA NET NUMA ConnectX8(rev:0) /dev/mst/mt4131_pciconf0 0000:03:00.0 mlx5_0 net-ibp3s0 0 ConnectX8(rev:0) /dev/mst/mt4131_pciconf1 0002:03:00.0 mlx5_1 net-ibP2p3s0 0 ConnectX8(rev:0) /dev/mst/mt4131_pciconf2 0010:03:00.0 mlx5_2 net-ibP16p3s0 1 ConnectX8(rev:0) /dev/mst/mt4131_pciconf3 0012:03:00.0 mlx5_3 net-ibP18p3s0 1
Device paths vary by hardware:
CX7 devices use
/dev/mst/mt4129_pciconf[0-3]CX8 devices use
/dev/mst/mt4131_pciconf[0-3]BlueField 3 devices use
/dev/mst/mt41692_pciconf0and/dev/mst/mt41692_pciconf0.1
Combined CX-7, CX-8, and Bluefield Update#
Run the update script across all GB200 nodes:
pdsh -g category=dgx-gb200 '/home/nvis/(dir where the firmware update is)/nicupdate.sh > /home/nvis/(dir where the firmware update is)/$(hostname)_fw_upgrade_$(date +'%Y%m%d-%H%M%S').log'
Reference Script: NIC Updates (BF3, CX-7, and CX-8) - nicupdate.sh
# Start MST service
mst start
# Query CX-7 devices (if present)
flint -d /dev/mst/mt4129_pciconf0 q full
flint -d /dev/mst/mt4129_pciconf1 q full
flint -d /dev/mst/mt4129_pciconf2 q full
flint -d /dev/mst/mt4129_pciconf3 q full
# Query CX-8 devices (if present)
flint -d /dev/mst/mt4131_pciconf0 q full
flint -d /dev/mst/mt4131_pciconf1 q full
flint -d /dev/mst/mt4131_pciconf2 q full
flint -d /dev/mst/mt4131_pciconf3 q full
# Query BlueField 3 devices
flint -d /dev/mst/mt41692_pciconf0 q full
# Only for GB200 with 2 BlueField 3 devices
flint -d /dev/mst/mt41692_pciconf1 q full
# Only for GB300
flint -d /dev/mst/mt41692_pciconf0 q full
# Set the base directory and firmware file names
basedir=/cm/shared/nicfw
bf3file=fw-BlueField-3-rel-32_44_1600-900-9D3B6-00CN-P_Ax-NVME-20.4.1-UEFI-21.4.13-UEFI-22.4.14-UEFI-14.37.14-FlexBoot-3.7.500.signed.bin
cx7file=fw-ConnectX7-rel-28_44_2524-900-24768-0002_Ax-UEFI-14.37.14-FlexBoot-3.7.500.signed.bin
cx8file=fw-ConnectX8-rel-28_44_2524-900-24768-0002_Ax-UEFI-14.37.14-FlexBoot-3.7.500.signed.bin
# Flash CX7 devices (if present)
yes | flint -d /dev/mst/mt4129_pciconf0 -i $basedir/$cx7file b
yes | flint -d /dev/mst/mt4129_pciconf1 -i $basedir/$cx7file b
yes | flint -d /dev/mst/mt4129_pciconf2 -i $basedir/$cx7file b
yes | flint -d /dev/mst/mt4129_pciconf3 -i $basedir/$cx7file b
# Flash CX8 devices (if present)
yes | flint -d /dev/mst/mt4131_pciconf0 -i $basedir/$cx8file b
yes | flint -d /dev/mst/mt4131_pciconf1 -i $basedir/$cx8file b
yes | flint -d /dev/mst/mt4131_pciconf2 -i $basedir/$cx8file b
yes | flint -d /dev/mst/mt4131_pciconf3 -i $basedir/$cx8file b
# Flash BlueField 3 devices
yes | flint -d /dev/mst/mt41692_pciconf0 -i $basedir/$bf3file b
Note
Adjust the basedir variable to match your firmware file location. Common locations include /cm/shared/nicfw or /home/<USERNAME>/fw_releases/mellanox.