Updating Firmware After Installation

Linux Kernel Upstream Release Notes v5.17

The firmware can be updated using one of the following methods.

To update the device online on the machine from the NVIDIA site, use the following command line:

Copy
Copied!
            

mlxfwmanager --online -u -d <device>

Example:

Copy
Copied!
            

# 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

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.

Warning

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:

Copy
Copied!
            

/opt/mellanox/mlnx-fw-updater/mlnx_fpga_updater.sh

  • With -u flag to provide URL to the software package (tarball). Example:

    Copy
    Copied!
                

    ./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:

    Copy
    Copied!
                

    ./mlnx_fpga_updater.sh -t <Innova_IPsec_bundle_file.tgz>

  • With -p flag to provide the path to the downloaded and extracted tarball. Example:

    Copy
    Copied!
                

    ./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.

Warning

It is recommended to perform firmware and FPGA upgrade on Innova IPsec cards using this script only.

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).

  1. Get the device’s PSID.

    Copy
    Copied!
                

    mlxfwmanager_pci | grep PSID PSID: MT_1210110019

  2. Download the firmware BIN file from the website or the OEM website.

  3. Burn the firmware.

    Copy
    Copied!
                

    mlxfwmanager_pci -i <fw_file.bin>

  4. Reboot the device once the firmware burning is completed.

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:

Copy
Copied!
            

fw_updater: Firmware was updated. Please reboot your system for the changes to take effect.

Otherwise, the following message will be printed:

Copy
Copied!
            

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.
Example:

Copy
Copied!
            

MLNX_EXCLUDE_DEVICES="00:05.0,00:07.0"

© Copyright 2023, NVIDIA. Last updated on May 23, 2023.