Mellanox-ConnectX3-MCX353A-QCBT开启56GbE

搞机啊

Mellanox-ConnectX3-MCX353A-QCBT开启56GbE

文章主角是两张Mellanox Connect3系列网卡

因为某种原因,该系列几张不同型号的网卡硬件完全相同,版本区别仅仅靠固件

MCX353A——单口

MCX354A——双口

QCBT——40Gb Infiniband+10Gb以太网

FCBT——56Gb Infiniband+40Gb/56Gb(需要额外证书)以太网

文章大致分为两部分:

  1. 折腾篇,记录一下踩过的各种坑
  2. 教程篇(时间紧张就直接拖到第二部分,这个有点智障不好设置跳转锚点)

 

一、折腾篇

1.如何插上去

如何在一张只有一条PCIE x16插槽,且必须使用独立显卡的主板上再插上一张PCIE x8的网卡?(这主板太缩水了,简直不知如何形容,另一条PCIE插槽多的板子没带回来)

上图为主板全部PCIE接口

最开始的设想是将最下面一条PCIE x1尾部切开,将网卡插到这里

可是切到一半才注意到接口右侧有BIOS电池挡住了,根本不可能实现

另外,我使用的显卡为双槽,若是将显卡插在PCIE x16上,则会将中间的插槽挡住

最后只能将M.2硬盘取下(包括铜柱),切开中间那条PCIE x1,显卡插在x1接口,网卡插在最上面的x16接口

PCIE接口采用的是阻燃塑料,不仅硬,而且耐高温

手术刀片根本切不动,最后是用电烙铁加温挑开的,烙铁温度到400℃才能融化它

显卡的PCI接口太长,用胶带屏蔽后面不需要的部分,避免碰到主板上其他元器件造成短路

2.如何开启56GbE网络

1)配置网卡,安装相关驱动、工具包

开机后win10会自动识别到这张网卡,并且显示驱动正常,但是这并不代表我们不需要重新安装驱动。在这里下载对应版本驱动,安装并重启电脑

在设备管理器——系统设备中找到网卡,双击,在端口控制中选择以太网(ETH)模式

点击这里,下载并安装Mellanox固件工具(MFT),最好使用默认路径

因为这种网卡都是为服务器设计,所以这种工具基本上都是没有图形界面的

使用管理员模式打开CMD,进入软件安装目录

cd C:\Program Files\Mellanox\WinMFT

获取网卡名

mst status -v

查询网卡信息

flint -d mt4099_pci_cr0 q

PSID确定卡型是MCX353A-QCBT

如图回显则表示软件安装正常

2)进坑了

外网论坛有大佬早就发现QCBT与FCBT只是固件不一样,只需要在刷写命令中添加一句

–allow_psid_change

就可以将FCBT固件强制刷到QCBT上,轻易开启56Gb IB+40GbE

很凑巧的是,Mellanox官方社区有一篇Connect X3开启56GbE教程,教程中的示例网卡是MCX354A-FCBT

很明显了,QCBT完全可以刷成FCBT顺便开启56GbE

根据文中描述,需要在官网的固件页面下载固件并提取出.mlx file (固件) and ini file (配置文件)

但是目前在官网下载下来的固件都是已经编译成bin的二进制文件。根本无法提取mlx和ini文件,翻遍了整个Mellanox官网,完全找不到下载原始固件的地方

就在场面一度十分尴尬的时候,在台湾某网站看到一篇Mellanox网卡升级固件的帖子

文中正好有一段写到了获取mlx和ini

大致意思就是

去给出惠普官网下载Mellanox InfiniBand and Ethernet Driver for Operating System Windows Server 2012

这是一个Win Server驱动程序,在安装程序执行的准备阶段,会释放出临时文件,里面正好就包括我们需要的mlx和ini

将所需文件复制到

C:\Program Files\Mellanox\WinMFT

目录下

根据教程,在ini文件的[IB]中加入

port1_802_3ap_56kr4_enable = true

port1_802_3ap_56kr4_ability = true

(这张卡只有一个口,就两句)

使用命令将两个文件编译成二进制固件

mlxburn -fw fw-ConnectX3-rel.mlx -c MCX353A-FCB_A2-A4.ini -wrimage image_1.0.bin

这个操作看起来没什么问题,却会报错,无法识别刚才加入的那句

试了很多方法也不行,可能是惠普定制版本的配置文件与官方的有区别

3)可能是太饿了

僵持了很久也没找到好办法,饿的不行去吃了个饭

回来又盯着那篇教程仔细看了两边,确定没忽略重要的东西

结论就是,必须下载到未编译的固件获取到mlx和ini才能刷

僵持了很久,最后注意到了文中这样一句

他给出了一个例子,并且给出了他所使用的文件的文件名ConnectX3-rel-2_31_5050.tgz

二、教程篇

1.获取原始固件

在官网下载固件,这里不要直接下载,使用工具获取下载链接(例如IDM),如下

http://content.mellanox.com/firmware/fw-ConnectX3-rel-2_42_5000-MCX353A-FCB_A2-A5-FlexBoot-3.4.752.bin.zip

容易发现最后一段是文件名,替换为上文中提到的文件名,生成新连接,如下

http://content.mellanox.com/firmware/ConnectX3-rel-2_31_5050.tgz

使用IDM下载链接

使用压缩工具提取文件,并放入MFT软件目录下

C:\Program Files\Mellanox\WinMFT

这里注意ini版本,首先看网卡上面的版本,REV高于A5版本也可以使用A2-A5

2.刷入固件

编辑ini文件,加上如下两句

port1_802_3ap_56kr4_enable = true

port1_802_3ap_56kr4_ability = true

(这里其实只用加一句,有一句本身就有)

执行

mlxburn -fw fw-ConnectX3-rel.mlx -c MCX353A-FCB_A2-A5.ini -wrimage MCX353A_56GbE.bin

编译固件

可以看到文件夹中已生成固件

使用命令

flint -d mt4099_pci_cr0 ri backup.bin

备份固件

使用命令

flint -d mt4099_pci_cr0 -i MCX353A_56GbE.bin -y –allow_psid_change b

刷入固件

再次查看网卡信息,可以发现psid已经变成MT_1100120019,对应型号为MCX353A_FCBT

写在最后

40Gb以太网应该是不存在问题,56GbE理论没问题,但需要实际验证

因为疫情的原因,我之前买的网线一直未发货(事实上QSFP 56G线并不太好买,某宝很多都是挂着但是并没有货,或者是特别贵)

后面网线到货会实际测试下连接速度,文件复制速度估计短时间内没希望了,家里电脑内存不够做内存盘

 

特别鸣谢@翼王

c4c

5 thoughts on Mellanox-ConnectX3-MCX353A-QCBT开启56GbE

  1. 请教:编译固件时,提示如下错误,如何解决呢:
    -I- Generating image …
    -E- Image generation failed: -E- mic is not installed on this machine
    child process exited abnormally

    • 在mellanox官方提供的文档中,有一处issue提到mic,官方建议是安装最新版的MFT
      建议检查网卡驱动是否安装(是否最新)检查MFT版本是否最新
      文档链接:http://www.mellanox.com/related-docs/MFT/MFT_user_manual_4_10_0.pdf
      文档内相关内容:http://c4c.club/wp-content/uploads/2020/11/QQ截图20201130234350.png

  2. 看上去理论上hp544这种也是cx3芯片的也能刷56gbe出来?之前看到过cx3p芯片的544+是有人用修改过的固件刷出来了56gbe

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注