This section is intended for future firmware upgrades, and provides instructions for (1) installing firmware update tools (MFT), (2) downloading firmaware, and (3) updating adapter card firmware.
Installing Firmware Tools
-
Download the current MFT from www.mellanox.com > Products > Software > InfiniBand (Learn More) Firmware Tools.
The tools package to download is "MFT_SW for FreeBSD" (tarball name is mft- X.X.X.tgz). -
Extract the tarball and run the installation script.
Downloading Firmware
-
Retrieve the device's PCI slot (i.e. pci0:x:0:0). Run:
#> mst status -
Verify your card's PSID.
#> flint -d pci0:<x>:0:0 q -
Download the desired firmware from the website at: https://www.mellanox.com/support/firmware/firmware-downloads
Updating Firmware
Updating Firmware Using flint
-
Before burning a new firmware, make sure the modules are unloaded. To unload the modules, run:
#> kldunload mlx5en #> kldunload mlx5ib #> kldunload mlx5 #> kldstat | grep mlx5 -
Unzip the firmware binary file.
-
Burn the firmware on your server:
$flint -d pci0:<x>:0:0 -i <img.bin> b -
Reboot the server.
Updating Firmware Using mlx5tool
Please note that mlx5tool can only use images of MFA2 format.
-
Upload the MFA2 firmware file to the device.
mlx5tool -d domain:bus:slot:func -f file.mfa2 -
Perform a link-level firmware reset for the firmware update to take effect.
mlx5tool -d domain:bus:slot:func -z
where:
|
Argument |
Description |
|---|---|
|
-f |
Flashes the firmware image file.mfa2 to the specified adapter. Image must be in MFA2 format and must contain a component suitable for the adapter hardware |
|
-z |
Initiate firmware reset |
Updating Firmware Using Kernel Module
-
Create a Makefile in sys/modules/mlx5mfa/Makefile directory structure as follows:
$ cat sys/modules/mlx5mfa/Makefile # $FreeBSD$ KMOD= mlx5fw_mfa FIRMWS= mlx5fw.mfa2:${KMOD} .include <bsd.kmod.mk> -
Place the MFA2 file in the same directory.
-
Build and install the Kernel module.
-
Enable auto-firmware update.
kenv hw.mlx5.auto_fw_update=1Make sure to disable auto firmware update before rebooting/resetting the firmware.
Setting the Ports to ETH
If you have a VPI HCA, you will need to set the ports to ETH. This is done by using the mlxconfig tool (part of the MFT).
-
If you have a card with two ports, run:
#> mlxconfig -d pci0:<x>:0:0 set LINK_TYPE_P1=2 (For the first port) #> mlxconfig -d pci0:<x>:0:0 set LINK_TYPE_P2=2 (For the second port) -
Reboot the server.
Last updated: