The firmware can be updated using one of the following methods:
Updating the Device Online
To update the device online on the machine from Mellanox site, use the following command line:
mlxfwmanager --online -u -d <device>
Example:
mlxfwmanager --online -u -d 0000:09:00.0 Querying Mellanox devices firmware ... Device #1: ---------- Device Type: ConnectX3 Part Number: MCX354A-FCA_A2-A4 Description: ConnectX-3 VPI adapter card; dual-port QSFP; FDR IB (56Gb/s) and 40GigE; PCIe3.0 x8 8GT/s; RoHS R6 PSID: MT_1020120019 PCI Device Name: 0000:09:00.0 Port1 GUID: 0002c9000100d051 Port2 MAC: 0002c9000002 Versions: Current Available FW 2.32.5000 2.33.5000 Status: Update required --------- Found 1 device(s) requiring firmware update. Please use -u flag to perform the update.
Updating the Device Manually
In case you ran the mlnxofedinstall script with the ‘--without-fw-update’ option or you are using an OEM card and now you wish to (manually) update firmware on your adapter card(s), you need to perform the steps below. The following steps are also appropriate in case you wish to burn newer firmware that you have downloaded from Mellanox Technologies’ Web site (http://www.mellanox.com > Support > Firmware Download).
Get the device’s PSID.
mlxfwmanager_pci | grep PSID PSID: MT_1210110019
- Download the firmware BIN file from the Mellanox website or the OEM website.
Burn the firmware.
mlxfwmanager_pci -i <fw_file.bin>
- Reboot your machine once the firmware burning is completed.
Updating the Device Firmware Automatically upon System Boot
As of MLNX_OFED v3.1-x.x.x, 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, 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:
MLNX_EXCLUDE_DEVICES="00:05.0,00:07.0"
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 mellanox.com, under
Products --> Adapters --> Smart Adapters --> Innova IPsec --> Download tab.
The current update package available on mellanox.com 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:
/opt/mellanox/mlnx-fw-updater/mlnx_fpga_updater.sh
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.