前言
如图,笔者最近手头搞了几个坏掉的mellanox connectx-6Dx mcx623106以太网网卡,在进行一些列修复与刷机过程后,发现无论刷新哪个版本的固件,该网卡的固件都会强制将mac恢复到最初的0000000BBB11与0000000BBB12(如下图所示)
此时,只能在系统里修改网卡当前的运行mac地址,而在更换机器后该地址就会被清除(例如在windows资源管理器的配置文件中修改的mac地址)。因此,在经过一系列的尝试过后,笔者发现了一个更改以及清除original mac的方法。
正文
首先需要下载mellanox官方的驱动包以及固件管理工具
驱动包下载:
Windows WinOF-2:
Mellanox OFED for Windows - WinOF / WinOF-2
Linux OFED:
然后是官方固件管理工具MFT(Mellanox Firmware Tools):
将这三个根据自身系统版本安装好后,就可以开始进行固件的更改了
首先输入以下代码,就可以看到每个卡以及卡下属的两个网口(对于一般来说,不需要单独选择网口,修改后会自动在你输入的mac后面+1)
mst status -v
然后就是利用设备id来修改指定设备的mac地址(此时以我图中的pcieconf4设备为例)
先重置网卡状态
mlxconfig -d mt4125_pciconf4 reset
而后利用flint里的-mac指令来修改网卡mac(注意,如果直接利用flint指令来修改,或reset指令放在flint的刷机指令之后,该将修改将不会被生效)
flint -d mt4125_pciconf4 -mac 需要修改的mac地址 sg
刷完之后,利用query指令可以看到该设备的mac已经被成功改写,此时重启电脑
可以看到mac已经被成功并且永久的修改了,并且第二个网口的mac地址会自动在第一个后+1
后话
修改过程中,也可以清除网卡因刷固件而自带的original base mac 0000000BBB11/12 地址
利用下条指令,但是将指令中的sg换为smg 即可实现上图效果
flint -d mt4125_pciconf4 -mac 需要修改的mac地址 sg