IBM H23刀片服务器安装openEuler2203,网卡不能识别,求kmod-be2net驱动

IBM H23刀片服务器安装openEuler2203-LTS,
网卡不能识别,
网卡是Emulex OneConnect 10Gb NIC

求kmod-be2net驱动?

下载源码kmod-be2net-4.18.0~553-1.el8.src.rpm,检查spec文件,按required安装依赖软件包,编译时,提示
error: Failed build dependencies:
kernel-abi-stablelists=5.10.0-60.18.0.50.oe2203.x86_64 is needed by kmoe-be2net-1:5.10.0~60.18.0.50.oe2203-1.x86_64

openEuler-22.03-LTS下,dnf也找不到kernel-abi-stablelists依赖啊

我查看了下openEuler-22.03-LTS版本的kernel-5.10的内核,看到这个驱动是默认编译为模块的.config文件中你可以看到CONFIG_BE2NET=m,检查了下编译的源码是生成了对应的模块:./drivers/net/ethernet/emulex/benet/be2net.ko,你可以尝试使用#lsmod|grep be2net看系统有没有加载该模块,如果没有加载的话,你使用#modprobe be2net命令加载下,看能否识别。

另外你下载的那个源码是redhat8的配套的源码,配套编译使用的是4.18的内核,在openEuler-22.03上使用不了,因为22.03使用的是5.10的内核,两者的kabi都不同,无法编译。

lspci -nn | grep -i emulex
能识别网卡为Emulex OneConnect 10Gb NIC
16:00.0 Emulex OneConnect 10Gb NIC (be3) [19a2:0710]

modprobe be2net
加载模块后,
modinfo be2net | grep 19a2
输出为空
lshw -C network
没有Emulex OneConnect 10Gb NIC网卡

这台机器,我曾安装CentOS7.9,能自动识别此网卡,操作系统换成openEuler-22.03-LTS,就识别不出此网卡了。

原以为,用elrepo的包能兼容呢,但从网上下载下来的rpm,都安装不了。

因此,想是否能下载源码编译安装?

尽管openEuler的内核有be2net驱动,但有篇文章说Emulex OneConnect 10Gb NIC网卡已经从be2net中撤下了

rhel用户都使用elrepo的kmod-be2net驱动,的确,el8-10都有驱动

但openEuler的用户却用不了。

我曾从github下载kmod-be2net的源码,源码也是el8和el9的。
有没有大神能解决在openEuler-22.03-LTS上有kmod-be2net的驱动?

#modprobe be2net加载模块后,直接执行modinfo be2net显示什么信息.

lspci -nn | grep -i emulex

lshw -C network

当前加载的驱动未支持VEN_19A2&DEV_0710


查看当前openEuler内核config配置,并未开启CONFIG_BE2NET_BE3选项,此选项用于支持BE3芯片组的网卡。



下载内核源码,开启对应选项,编译驱动,具体步骤如下:

  1. 下载并安装对应版本的内核源码

dnf install -y kernel-source-$(uname -r)

  1. 安装编译依赖

dnf install -y gcc gcc-c++ make flex bison openssl-devel elfutils-libelf-devel ncurses-devel

  1. 修改编译配置,开启对应选项

cd /usr/src/linux-$(uname -r)
make menuconfig

手动开启配置项Support for BE3 chipsets,位置如下:
Location:|
→ Device Drivers|
→ Network device support (NETDEVICES [=y])|
→ Ethernet driver support (ETHERNET [=y])|
→ Emulex devices (NET_VENDOR_EMULEX [=y])|
→ ServerEngines’ 10Gbps NIC - BladeEngine (BE2NET [=m])|

  1. 编译模块

make modules_prepare
make M=drivers/net/ethernet/emulex/benet

  1. 卸载已加载的模块

modprobe -r be2net

  1. 复制并加载新编译的模块

cp drivers/net/ethernet/emulex/benet/be2net.ko /lib/modules/$(uname -r)/kernel/drivers/net/ethernet/emulex/benet/
depmod -a
modprobe be2net

1 个赞