坑边闲话:Mellanox/NVIDIA 以其高带宽、低延迟称霸数据中心领域,其解决方案更是多机互联、构建超算的首选。

本次驱动部署以 Debian 12 为例。

1. 验证是否识别到了网卡·

1
lspci -v | grep Mellanox

2. 下载驱动包·

本次使用的网卡是 ConnectX-4/ConnectX-6 系列,不支持更老的网卡。

官方下载地址

1
2
cd ~
wget https://content.mellanox.com/ofed/MLNX_OFED-5.8-3.0.7.0/MLNX_OFED_LINUX-5.8-3.0.7.0-debian11.3-x86_64.iso

2.1 挂载 ISO 文件·

1
2
3
mkdir /mnt/iso 
mount -o loop ./MLNX_OFED_LINUX-5.8-3.0.7.0-debian11.3-x86_64.iso /mnt/iso
cd /mnt/iso

2.2 安装驱动(耗时略久)·

1
./mlnxofedinstall

2.3 重载驱动·

1
/etc/init.d/openibd restart

3. 升级驱动·

NVIDIA 会以一个较高的频率发布网卡固件升级,大概每季度一次。及时更新固件有助于解决硬件引起的异常问题。

OEM 网卡需要到 OEM 厂商官网下载签名固件。典型的 OEM 厂商就是 HPE 慧与。

3.1 查看当前网卡版本·

1
2
3
4
5
6
7
8
9
10
11
12
13
14
sudo mst status
MST modules:
------------
MST PCI module is not loaded
MST PCI configuration module loaded

MST devices:
------------
/dev/mst/mt4117_pciconf0 - PCI configuration cycles access.
domain:bus:dev.fn=0000:29:00.0 addr.reg=88 data.reg=92 cr_bar.gw_offset=-1
Chip revision is: 00
/dev/mst/mt4123_pciconf0 - PCI configuration cycles access.
domain:bus:dev.fn=0000:a1:00.0 addr.reg=88 data.reg=92 cr_bar.gw_offset=-1
Chip revision is: 00

确认网卡设备号,比如我们要给 CX6 100G 网卡 /dev/mst/mt4123_pciconf0 刷固件,就选择该设备路径。在 Windows 系统上由于不存在设备文件系统虚拟路径,因此只写 mt4123_pciconf0 即可。

接下来使用 query 命令查询网卡固件状态:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
sudo flint -d /dev/mst/mt4123_pciconf0 query
Image type: FS4
FW Version: 20.43.2566
FW Release Date: 23.2.2025
Product Version: 20.43.2566
Rom Info: type=UEFI version=14.37.13 cpu=AMD64
type=PXE version=3.7.500 cpu=AMD64
Description: UID GuidsNumber
Base GUID: 88e9a4ffff004e80 8
Base MAC: 88e9a4004e80 8
Image VSD: N/A
Device VSD: N/A
PSID: HPE0000000036
Security Attributes: secure-fw

3.2 刷入最新固件·

使用 burn 命令即可刷入指定固件。

1
sudo flint -d /dev/mst/mt4123_pciconf0 -i fw-ConnectX6-rel-20_43_2566-P06251-B21_Ax-UEFI-14.37.13-FlexBoot-3.7.500.signed.bin burn

3.3 重启网卡固件·

1
sudo mlxfwreset -d /dev/mst/mt4123_pciconf0 reset

总结·

本文详细介绍了在 Linux 系统上安装 NVIDIA 网卡固件管理工具,以及如何使用这些工具刷固件。