修改替换 Ubuntu 网卡驱动
Warning
修改驱动然后安装的操作很危险,最好在实验的虚拟机环境中搞
查看当前网卡驱动
$ ethtool -i ens33 # 替换成自己要查询的网络接口名
我这里显示是使用的 pcnet32 驱动
移动并卸载原有网卡驱动
$ cd /lib/modules/$(uname -r)
$ find -name "pcnet32.ko"
$ cp kernel/drivers/net/ethernet/amd/pcnet32.ko kernel/drivers/net/ethernet/amd/pcnet32.ko.backup # 备份原有驱动
$ modprobe -r pcnet32 # 移除已加载驱动
$ cd - # 回到原工作目录
下载 Linux 内核源码
$ apt-get source linux-image-unsigned-$(uname -r) # 这里是 ubuntu 20.04.3 的实验环境
$ cd linux-xxx # 根据实际下载的名字进入到源码目录
$ grep -rsn "\
TARGET_MODULE:=pcnet32
ifneq ($(KERNELRELEASE),)
obj-m := $(TARGET_MODULE).o
else
BUILDSYSTEM_DIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
all:
$(MAKE) -C $(BUILDSYSTEM_DIR) M=$(PWD) modules
clean:
$(MAKE) -C $(BUILDSYSTEM_DIR) M=$(PWD) clean
endif
安装新的驱动
$ cp pcnet32.ko /lib/modules/$(uname -r)/kernel/drivers/net/ethernet/amd
$ depmod
$ modprobe pcnet32
$ dmesg # 如加了打印,可查看到此打印信息