The firmware can be updated using one of the following methods.
Updating the Device Online
To update the device online on the machine from the NVIDIA site, use the following command line:
mlxfwmanager --online -u -d <device>
# mlxfwmanager --online -u -d 0000:01:00.0 Querying Mellanox devices firmware ... Device #1: ---------- Device Type: ConnectX6 Part Number: MCX653106A-HDA_Ax Description: ConnectX-6 VPI adapter card; HDR IB (200Gb/s) and 200GbE; dual-port QSFP56; PCIe4.0 x16; tall bracket; ROHS R6 PSID: MT_0000000225 PCI Device Name: 0000:01:00.0 Base MAC: 98039b970cc2 Versions: Current Available FW 20.26.4012 20.27.1016 PXE 3.6.0101 3.5.0903 UEFI 14.21.0016 14.20.0025 Status: Up to date
Updating Firmware and FPGA Image on Innova IPsec Cards
The firmware and FPGA update package (mlnx-fw-updater) are installed under “/opt/mellanox/mlnx-fw-updater” folder.
The latest FW and FPGA update package can be downloaded from nvidia.com/en-us/networking/ Products → Adapters → Smart Adapters → Innova IPsec → Download tab.
The current update package available on nvidia.com/en-us/networking/ does not support the script below. An update package that supports this script will become available in a future release.
You can run the following update script using one of the modes below:
With -u flag to provide URL to the software package (tarball). Example:
./mlnx_fpga_updater.sh -u http://www.mellanox.com/downloads/fpga/ipsec/Innova_IPsec_<version>.tgz
With -t flag to provide the path to the downloaded tarball. Example:
./mlnx_fpga_updater.sh -t <Innova_IPsec_bundle_file.tgz>
With -p flag to provide the path to the downloaded and extracted tarball. Example:
./mlnx_fpga_updater.sh -p <Innova_IPsec_extracted_bundle_directory>
For more information on the script usage, you can run mlnx_fpga_updater.sh -h.
It is recommended to perform firmware and FPGA upgrade on Innova IPsec cards using this script only.
Updating the Device Manually
When running the mlnxofedinstall script with the ‘--without-fw-update’option or using an OEM card that you now wish to (manually) update firmware on your adapter card(s), perform the steps below. The following steps are also appropriate to burn newer firmware that was downloaded from the website (i.e., nvidia.com/en-us/networking/.com → Support → Firmware Download).
Get the device’s PSID.
mlxfwmanager_pci | grep PSID PSID: MT_1210110019
- Download the firmware BIN file from the website or the OEM website.
Burn the firmware.
mlxfwmanager_pci -i <fw_file.bin>
- Reboot the device once the firmware burning is completed.
Updating the Device Firmware Automatically Upon System Boot
Firmware can be automatically updated upon system boot.
The firmware update package (mlnx-fw-updater) is installed in the “/opt/mellanox/mlnx-fw-updater” folder, and the openibd service script can invoke the firmware update process if requested on boot.
If the firmware is updated, the following message will be printed to the system’s standard logging file:
fw_updater: Firmware was updated. Please reboot your system for the changes to take effect.
Otherwise, the following message will be printed:
fw_updater: Didn't detect new devices with old firmware.
Please note that this feature is disabled by default. To enable the automatic firmware update upon system boot, set the following parameter to “yes” “RUN_FW_UPDATER_ONBOOT=yes” in the openibd service configuration file “/etc/infiniband/openib.conf”.
You can opt to exclude a list of devices from the automatic firmware update procedure. To do so, edit the configurations file “/opt/mellanox/mlnx-fw-updater/mlnx-fw-updater.conf” and provide a comma separated list of PCI devices to exclude from the firmware update.