如何在 Ubuntu 中禁用 8139too 网络驱动程序并改用 8139cp 网络驱动程序?

如何在 Ubuntu 中禁用 8139too 网络驱动程序并改用 8139cp 网络驱动程序?

我正在尝试禁用8139too网络驱动程序,转而使用8139cpUbuntu 8.04 服务器上的驱动程序。当网卡超过约 1 MB/s 时,当前驱动程序会崩溃。

syslog建议切换到 8139cp:

8139too: Use the "8139cp" driver for improved performance and stability.

我已经添加了blacklist 8139too/etc/modprobe.d/blacklist似乎没有任何效果。

还有其他我不知道的切换网络驱动程序的方法吗?

答案1

我假设您的机器上已经有8139too和模块,您只想将与驱动程序交换。请注意,使用此方法很容易将自己锁定在服务器之外,因此请小心。8139cp8139too8139cp

首先运行lsmod并检查模块mii所依赖的模块,例如:

:~# lsmod | grep 8139
8139too 38400 0
8139cp 34944 0
mii 14720 2 8139too,8139cp

如您所见,mii模块依赖于这两个8139模块。现在我们知道了哪些模块mii依赖于它们,我们可以卸载所有模块,重新加载我们想要的模块并重新启动网络。以下是我们要做的事情:

rmmod 8139cp
rmmod 8139too
rmmod mii
modprobe 8139cp
modprobe mii
service networking restart

上述代码的简要说明。前三行删除有问题的模块,然后modprobe我们添加所需的模块。在这种情况下,它将是8139cpmii模块,重新启动网络并使用它ethtool检查它是否正常工作。

:~# ethtool -i eth0
driver: 8139cp
version: 1.3
firmware-version:
bus-info: 0000:00:12.0

这是一个小的解决方法,一旦您重新启动服务器就会重置,为了使其永久存在,请使用上面的代码创建一个 bash 脚本并将其添加到您的启动脚本中。

相关内容