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> mtu1500
ether ec:0d:9a:48
:af:2a txqueuelen1000
(Ethernet) RX packets0
bytes0
(0.0
B) RX errors0
dropped0
overruns0
frame0
TX packets0
bytes0
(0.0
B) TX errors0
dropped0
overruns0
carrier0
collisions0
p5p2: flags=4099
<UP,BROADCAST,MULTICAST> mtu1500
ether ec:0d:9a:48
:af:2b txqueuelen1000
(Ethernet) RX packets0
bytes0
(0.0
B) RX errors0
dropped0
overruns0
frame0
TX packets0
bytes0
(0.0
B) TX errors0
dropped0
overruns0
carrier0
collisions0
...Burn the firmware using the .mfa2 image with ethtool/devlink. Please use the .mfa2 file path relative to /lib/firmware.
ethtool command:# ethtool -f <
interface
name> <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.1
05
:00.1
mlx5_3 net-p5p20
ConnectX5(rev:0
) /dev/mst/mt4119_pciconf005
:00.0
mlx5_2 net-p5p10
... # # flint -d /dev/mst/mt4119_pciconf0 q Image type: FS4FW Version:16.25
.1042
FW Version(Running):16.25
.1020
FW Release Date:30.4
.2019
Product Version:16.25
.1020
Rom Info: type=UEFI version=14.18
.19
cpu=AMD64 type=PXE version=3.5
.701
cpu=AMD64 Description: UID GuidsNumber Base GUID: ec0d9a030048af2a4
Base MAC: ec0d9a48af2a4
Image 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
.1042
FW Release Date:15.5
.2019
Product Version:16.25
.1042
Rom Info: type=UEFI version=14.18
.19
cpu=AMD64 type=PXE version=3.5
.701
cpu=AMD64 Description: UID GuidsNumber Base GUID: ec0d9a030048af2a4
Base MAC: ec0d9a48af2a4
Image 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
.1000
stored: fw.version16.25
.1042