此教程只适用于我们自家的TAD6S4N系列主机自带的MCX4421A网卡,其它品牌的服务器主机同型号网卡只供参考,刷固件有风险任何刷坏我们都不提供任何质保(正常不会坏的,NVIDIA还有强刷选项,刷完你不完全断电它都不会启用刚刚刷新固件,必需完全断电才能生效)。
前言
这两天给主板重新做BIOS固件之后ESXi网卡SR-IOV直通总算能全开(注意虽然ESXi显示可以一个网口开8个VF但是你设置8是不行的,最多只能设置到7,因为原来的端口也要占用一个VF,你设置到8就会报让你重启生效,但是你重启都不可能生效),不过经过一天的测试又发现新的问题,自带的网卡开启SR-IOV之后网卡就失联,还会影响其它网卡正常联网,仔细对比了其它没有问题的朋友发现固件版本还是有差异。最终刷了官网最新的固件就好了(应该是ESXi8.0的某个版本才出现的BUG造成的,官方驱动只适配指定版本的固件)。如果你也碰上类似的问题可以考虑我们的方法。但是IGPU(核显)的SR-IOV还是得等ESXi官方修复驱动,不过这个估计没戏以ESXi官网尿性不建议有什么期待,真有GPU需求直接直通吧,GPU和网卡不一样SR-IOV分切也是性能等分之后影响比较大,与其几个应用都不爽不如让一个能用得爽。
教程开始
此教程适用win10和winpe系统,如果不方安装win系统可以制作个winpe U盘 进行升级还是比较方便的,可参考https://mi-d.cn/9361 制作winPE U盘。
所需工具:https://tank.lanzouo.com/b025a9b1uf 备用下载:http://dsm.mi-d.cn/sharing/ImhTtFkBk
注意:下载MCX4421A.zip,其它的不要下载。
从WinPE或win10系统下启动主机,然后下载解压上面提供的工具放到任意目录内
以下 代用名称附带的<>也要一起替换,演示以win10操作界面为准,
按一下开始菜单按键,输入cmd 对出来的cmd图标右键 使用管理员权限运行或直接在下面选以管理员身份运行。
输入
cd <MCX4421A\WinMFT_x64_WinPE_4_32_0_120目录路径>
回车
作用:进入MFT工具目录
输入
mst status -v
回车 可能要等等很久
作用:列出所有 Mellanox 设备Id及其 PCI 地址
输入
flint -d <Mellanox 设备Id> q
回车 可能要等等很久
作用:查询网卡固件版本
如果显示FW Version:14.32.1900 那就说明版本没问题不用刷新固件,固件发布日期晚于 FW Release Date:25.8.2024 使用没有问题的话也可以不用刷,寻找其它解决方案。
建议按网卡标签上的型号刷入对应的固件。不过固件可以互刷不同的固件,实现对应的功能,有需求可以参考后面的强刷命令,但是刷坏我们不管保修的。
输入
flint -d <Mellanox 设备Id> -i <固件绝对地址> --allow_psid_change b
回车 注意这里会等,很久,直到画面跳100% 期间不能断电,
跳100%之后看到提示重启,就可以关机,然后拔掉电源线,长按开机按键十秒,然后插入电源线重新开机使用。这一步很重要因为我们硬件是默认通电,固件重新载入需要完全断电才行。
作用:刷写固件
可以通过以下命令强制刷入不对应的固件 对应固件适配的功能,主要就是支持网卡从UEFI启动或支持BCM管理(我们的板子没有BCM芯片所以无意义)
flint -d <Mellanox 设备Id> -i <固件绝对地址> --allow_psid_change --yes burn
如果刷写失败锁ROM可以通过下面的命令来强制清除信号量锁 重新写固件
flint -clear_semaphore -d <Mellanox 设备Id>
和 flint -d <Mellanox 设备Id> q 命令区别