参考
驱动安装1
DPDK编译:支持Mellanox 25Gbps网卡 - 知乎
NVIDIA Mellanox CX网卡固件、驱动系列操作 - 知乎
驱动安装2
Mellanox网卡驱动安装指南 Mellanox OFED_崇尚匀速 追求极致的技术博客_51CTO博客
驱动与固件:
家用万兆网络指南 6 - 比网线还便宜的双口万兆网卡. 如何给Mellanox网卡刷固件或备份固件 - 知乎
OFED的说明
MLNX_OFED: Firmware - Driver Compatibility Matrix
官方驱动安装教程
Installing Mellanox OFED - MLNX_OFED v4.6-1.0.1.1 - NVIDIA Networking Docs
SR-IOV NVIDIA教程
Single Root IO Virtualization (SR-IOV) - MLNX_OFED v4.9-4.1.7.0 LTS - NVIDIA Networking Docs
安装windows 驱动
装网卡驱动
首先装驱动, Windows 下的 Mellanox 网卡的驱动叫 WinOF (适用于 ConnectX3及以下, 如果你魔改OCP卡, 就是这个), WinOF2(ConnextX4及以上). 下载地址在: winof download.
见下图, 拉到网页底下就有这个选项, 选择你的操作系统和操作系统版本. 然后右侧下载. (上面的 Archive Version 还有历史版本, 方便win7啥的用.)
注意你的windows10版本, 如果不确定是1909, 那么右键点击开始菜单windows图标, 选择 系统(Y), 查看你的 windows 10 的子版本. 比如我这就还是1803.
安装驱动一路 Next 即可.
关于安装WinOF2出现故障
注意如果安装WinOF2出现 "MainEngineThread is returning 1603" 错误, 需要停止 windows 的 WMI 服务再试一试.
然后再次安装试一试. 如果还不行, 恭喜你, 重装系统吧.
下载网卡固件
如果你是魔改OCP卡, 单口变双口的, 下载地址在 connectx3en firmware downloads. 如果你是别的Mellanox卡, 请到这里自行选择 firmware-downloads
OCP卡单口变双口(这里注意看你买到的卡型号后缀是XCGN还是XCCN, 以及是312还是342, 我发现大部分老铁买到的都是342,而我那张卡是312. 需要选择正确的刷. 刷卡有风险, 评论区有老铁已经有刷故障的例子了. 请谨慎选择 )选择见下图:
刷固件工具 Flint
刷卡工具这里下载. 固件套件的名称叫 MFT(Mellanox Firmware Tools ), windows 下叫 WinMFT, 下载地址在firmware-tools. 网页下面有选项, 直接选你要的系统和版本就行. (上面的 Archive Version 还有历史版本.)
查看设备名称
用管理员打开命令提示符. 然后输入 mst status -v
c:\>mst status -v
MST devices:
------------mt4099_pci_cr0 bus:dev.fn=02:00.0mt4099_pciconf0 bus:dev.fn=02:00.0
mt4099_pci_cr0 即当前设备名称. 如果你插了不止一个Mellanox网卡, 可以看上面的bus编号. 如果还是不懂, 那就把其他卡拔掉, 只留一个.
查看当前固件
命令是 flint.bat -d {设备名称} q
例如:
c:\>flint.bat -d mt4099_pci_cr0 q
Image type: FS2
FW Version: 2.42.5000
FW Release Date: 5.9.2017
Product Version: 02.42.50.00
Rom Info: type=PXE version=3.4.752
Device ID: 4099
Description: Node Port1 Port2 Sys image
GUIDs: 0002c90300f37bb0 0002c90300f37bb1 0002c90300f37bb2 0002c90300f37bb3
MACs: 0002c9f37bb0 0002c9f37bb1
VSD:
PSID: MT_1100120019
可以看到固件版本是 2.42.5000, PSID是 MT_1100120019, PSID (Parameter Set ID) 简单来讲可以看作是特定版本的固件签名.
关于PSID的详细信息可以看 Mellanox 的官方文档: Assigning+PSID
如何备份固件
刷新的固件之前备份下总是稳妥的.
备份的命令是flint.bat -d {设备名称} ri {备份出来的固件的文件名称}
c:\>flint.bat -d mt4099_pci_cr0 ri MT_1100120019.bin
对, 没有显示就是备份完成了, 打开文件夹看看应该出现了新文件.
如何刷固件
刷固件的命令是:
flint.bat -d {设备名称} -i {固件文件} b
如果需要强制刷不同型号的固件, 还需要在 b 前面加上 --allow_psid_change, 即:
flint.bat -d {设备名称} -i {固件文件} --allow_psid_change b
如果是魔改OCP卡, 固件文件就是你刚下载那个 fw-ConnectX3-rel-2_42_5000-MCX312A-XCB_A2-A6-FlexBoot-3.4.752.bin.zip, 记得解压缩.
c:\>flint.bat -d mt4099_pci_cr0 -i fw-ConnectX3-rel-2_42_5000-MCX312A-XCB_A2-A6-FlexBoot-3.4.752.bin --allow_psid_change bCurrent FW version on flash: 2.42.5000New FW version: 2.42.5000Note: The new FW version is the same as the current FW version on flash.Do you want to continue? (y/n) [n] : yYou are about tu replace current PSID on FLASH -"MT_1270110023" with a different PSID - "MT_1680110023".Note: It is highly recommended not to change the PSID.Do you want to continue? (y/n) [n] : yBurning FS2 FW image without signatures - 100%Burning FS2 FW image without signatures - OK
Restoring signature - OK
如果刷不同的固件会提示你有风险(一次版本, 一次PSID都有提示), 需要按y继续. 如果确认继续, 按y即可.
好了, 这就彻底刷完了.
安装 Linux 驱动
查看debian版本:
cat /etc/debian_version
我的是 11.3 。注意! 驱动最高就支持到 debian 10 ,所以 PVE 版本要低点
首先你需要安装 OFED 驱动。在 NVIDIA 的 Linux InfiniBand Drivers 页面可以下载到,注意选 LTS 的 4.9-4.1.7.0 版本。
驱动下载:
下载网站
Linux InfiniBand Drivers
直接下载链接https://content.mellanox.com/ofed/MLNX_OFED-4.9-5.1.0.0/MLNX_OFED_LINUX-4.9-5.1.0.0-debian10.0-x86_64.tgz
NVIDIA Firmware Tools (MFT) 安装
MFT(Mellanox Firmware Tools)是Mellanox设备的固件管理和调试工具,主要可以用来:
- 产生标准或自定义的固件
- 查询设备的固件信息
- 将固件烧入Mellanox设备中
MST(Mellanox Software tools)在用户手册上的定义是:启动或停止MFT的脚本。
首先从官网下载MFT,以linux为例
下载地址:
Mellanox Firmware Tools (MFT)
PVE 基于Debian,选择 DEB based
https://www.mellanox.com/downloads/MFT/mft-4.21.0-99-x86_64-deb.tgz
正常的解压、安装,如图2所示,
-
tar -xzvf mft-4.18.0-106-x86_64-deb.tgz -
sudo ./install.sh
MFT常用命令
开启Mellanox软件工具(使用mst之前必须的操作)
mst start
关闭Mellanox软件工具(使用完之后)
mst stop
查看Mellanox设备状态信息
mst status -v
查看网卡驱动版本、固件版本
ethtool -i enp62s0f0