bnx2 内核模块无法正常运行

bnx2 内核模块无法正常运行

我有一台运行 Debian 5 的 HP ProLiant 服务器。重启后,它无法调出任何接口。如果我运行ifup eth0,它会给出一个错误,提示设备不存在。(它有 4 个 Broadcom NetXtreme II 接口。)我确认它有一个 bnx2 驱动程序 ( lsmod | grep bnx2)。然后我尝试卸载并重新加载驱动程序 ( rmmod bnx2 && modprobe bnx2),我的接口突然就正常工作了!现在我可以ifup eth0毫无问题地使用了。

但重新启动后,同样的问题仍然存在。

我的问题是,有人可以推测一下是什么原因导致 .ko 在重启后无法工作,但在卸载并重新加载后却可以正常工作吗?

我猜是 NIC 硬件的某种计时问题,或者是另一个 .ko 的依赖问题。有什么办法可以解决它,让它在重启后正确启动吗?

答案1

对于 Debian 系统,您只需添加模块名称/etc/initramfs-tools/modules,然后运行update-initramfs -k all -u

答案2

似乎与 NIC 不兼容有关。您使用的是什么 Linux 发行版?

bnx2我在 SUSE Linux 上遇到了同样的问题。我通过添加模块/etc/sysconfig/kernel并重新生成新的 initrd使其正常工作

如果你的发行版是 SuSE,请添加bnx2INITRD_MODULE列表中,然后使用以下命令重新创建一个新的 initrdmkinitrd

INITRD_MODULES="cciss jbd ext3 scsi_mod bnx2"

相关内容