Updating Firmware Using ethtool/devlink and .mfa2 File
In order to flash the firmware on the device using ethtool, you need to prepare a .mfa2 firmware file using the mlxarchive tool - see mlxarchive – Binary Files Compression Tool. Note that mlxarchive requires installing MFT with --oem option.
To perform firmware upgrade using ethtool/devlink, follow the steps below:
Run the mlxarchive tool to generate the .mfa2 file (the following example assumes MFA2 v1.1.1).
# mlxarchive -v
1.1.1--bins-dir <source binaries directory> --out-file /lib/firmware/<file_name>.mfa2Obtain the interface name of the adapter for which you wish to update firmware. For example, you can use
ifconfig -a.# ifconfig -a ... p5p1: flags=
4099<UP,BROADCAST,MULTICAST> mtu1500ether ec:0d:9a:48:af:2a txqueuelen1000(Ethernet) RX packets0bytes0(0.0B) RX errors0dropped0overruns0frame0TX packets0bytes0(0.0B) TX errors0dropped0overruns0carrier0collisions0p5p2: flags=4099<UP,BROADCAST,MULTICAST> mtu1500ether ec:0d:9a:48:af:2b txqueuelen1000(Ethernet) RX packets0bytes0(0.0B) RX errors0dropped0overruns0frame0TX packets0bytes0(0.0B) TX errors0dropped0overruns0carrier0collisions0...Burn the firmware using the .mfa2 image with ethtool/devlink. Please use the .mfa2 file path relative to /lib/firmware.
ethtool command:
# ethtool -f <
interfacename> <file_name>.mfa2devlink command:
$ devlink dev flash <dev> file <file_name>.mfa2
Query the adapter to verify that the new firmware version has been loaded following.
# mst start # mst status -v MST modules: ------------ MST PCI module loaded MST PCI configuration module loaded PCI devices: ------------ DEVICE_TYPE MST PCI RDMA NET NUMA ConnectX5(rev:
0) /dev/mst/mt4119_pciconf0.105:00.1mlx5_3 net-p5p20ConnectX5(rev:0) /dev/mst/mt4119_pciconf005:00.0mlx5_2 net-p5p10... # # flint -d /dev/mst/mt4119_pciconf0 q Image type: FS4FW Version:16.25.1042FW Version(Running):16.25.1020FW Release Date:30.4.2019Product Version:16.25.1020Rom Info: type=UEFI version=14.18.19cpu=AMD64 type=PXE version=3.5.701cpu=AMD64 Description: UID GuidsNumber Base GUID: ec0d9a030048af2a4Base MAC: ec0d9a48af2a4Image VSD: N/A Device VSD: N/A PSID: MT_0000000080 Security Attributes: N/AFor the firmware update to take effect, you need to either reboot the server or run:
# mlxfwreset -d /dev/mst/mt4119_pciconf0 -y r
Validate the firmware update by a query.
Using mst:
# mst start # flint -d /dev/mst/mt4119_pciconf0 q Image type: FS4 FW Version:
16.25.1042FW Release Date:15.5.2019Product Version:16.25.1042Rom Info: type=UEFI version=14.18.19cpu=AMD64 type=PXE version=3.5.701cpu=AMD64 Description: UID GuidsNumber Base GUID: ec0d9a030048af2a4Base MAC: ec0d9a48af2a4Image VSD: N/A Device VSD: N/A PSID: MT_0000000080 Security Attributes: N/A #Using devlink:
$ devlink dev info <dev> pci/
0000:05:00.0: driver mlx5_core versions: fixed: fw.psid MT_0000000080 running: fw.version16.23.1000stored: fw.version16.25.1042