摘要
The Issue is to handle Scaler v8.2-385 (baf7f3a) on Dell R750xs server, the 10G NIC card is Broadcom BCM57412 NetXtreme-E 10Gb SFP+. Firmware is the latest, but driver is not. The symptom is that only one port or no port could be recognized. After patch, all port in the Quad-Port 10GbE SFP+ could be recognized. For the time being this is a workaround and manual installation is required. It requires significant effort to port to 4.14 kernel.
本次需求是处理 Dell R750xs 服务器上的 Scaler v8.2-385 (baf7f3a),网卡是 Broadcom BCM57412 NetXtreme-E 10Gb SFP+。 固件是最新的,但驱动程序不是。 故障现象是只能识别一个端口或无法识别端口。 打补丁后,Quad-Port 10GbE SFP+的所有端口都可以识别了。目前这是一种解决方法,需要手动安装。 移植到 4.14 产品内核需要付出很大的努力。
kernel 报错log
看Kernel log Driver在init 0000:98:00.0和0000:ca:00:00.1就報error了,连device node都沒有
正常来一块网卡会有两个网口,enp202s0f0和enp202s0f1,但是下图只识别出来一个port
Broadcom 官网找对应驱动
https://docs.broadcom.com/products/ethernet-connectivity/network-adapters/m210p
选择Linux installer
开始编译驱动 (ko)
-
解压bcm_224.1.102.0b.tar.gz
tar -xvzf bcm_224.1.102.0b.tar.gz
-
解压 netxtreme-bnxt_en-1.10.2-224.0.157.0.tar.gz
cd /root/driver/bcm_224.1.102.0b/Linux/Linux_Driver
解压 netxtreme-bnxt_en-1.10.2-224.0.157.0.tar.gz
tar -xvzf netxtreme-bnxt_en-1.10.2-224.0.157.0.tar.gz
- 开始编译ko
/root/driver/bcm_224.1.102.0b/Linux/Linux_Driver/netxtreme-bnxt_en-1.10.2-224.0.157.0
cd netxtreme-bnxt_en-1.10.2-224.0.157.0
cd bnxt_en
sudo make
- 查看ko文件
替换ko(将ko拷贝到指定路径)
- cp bnxt_en.ko /lib/modules/4.14.148-202111022216.gitc6ecd40/kernel/drivers/net/ethernet/broadcom/bnxt/
- 更新Initramfs
sudo update-initramfs -u
- 重启服务器
reboot
- 重启后check kernel log the driver version is 1.10
dmesg | grep bnxt
验证识别到全部网口
- kernel log
- ip a查看所有网口,可以看到enp202s0f0和enp202s0f1,以及enp152s0f0和enp152s0f1