参考
驱动安装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