首先确认网卡型号及驱动状态,使用lshw命令查看硬件信息;其次通过apt安装官方驱动包如r8168-dkms,并替换旧模块;对于新型号网卡,需下载源码并利用DKMS注册、编译和安装驱动;最后加载模块并验证网络连接,确保接口正常工作。

如果您在使用Ubuntu系统时发现网络接口无法正常工作,可能是由于缺少正确的网卡驱动程序。这种情况常见于新安装的系统或使用较新的硬件设备时。以下是通过命令行和DKMS(Dynamic Kernel Module Support)框架来安装和配置网卡驱动的具体步骤:
一、确认网卡型号与当前驱动状态
在开始安装驱动前,需要识别网卡的具体型号以及系统是否已加载相关驱动模块。这有助于选择正确的驱动版本并避免不必要的操作。
1、打开终端,输入以下命令查看当前系统的网络接口信息:
lshw -class network
2、查找“description”、“product”和“driver”字段,确认网卡芯片型号及当前使用的驱动名称。
3、记录下“bus info”中的PCI地址,用于后续核对硬件识别情况。
二、使用命令行安装官方提供的驱动包
部分主流网卡(如Intel、Realtek等)的驱动已被包含在Ubuntu的默认仓库中。可通过apt工具直接安装预编译的驱动程序包,适用于大多数用户。
1、更新本地软件包索引:
sudo apt update
2、根据网卡品牌搜索可用驱动,例如针对Realtek网卡:
sudo apt search realtek
3、安装推荐的驱动包,如rtl88xxau-dkms或r8168-dkms:
sudo apt install r8168-dkms
4、安装完成后卸载旧驱动模块(如有):
sudo modprobe -r r8169
5、加载新安装的驱动模块:
sudo modprobe r8168
三、通过源码编译并使用DKMS注册驱动
对于未被标准仓库支持的新型号网卡,需从厂商官网下载驱动源码,并利用DKMS机制实现跨内核版本的自动重建模块功能。
1、安装必要的构建工具和头文件:
sudo apt install build-essential linux-headers-$(uname -r)
2、将下载的驱动源码解压至/usr/src目录,命名格式为驱动名-版本号,例如:
sudo tar -xzf ~/downloads/rtw88-5.8.2.tar.gz -C /usr/src/ rtw88-5.8.2
3、创建DKMS配置文件:
sudo nano /usr/src/rtw88-5.8.2/dkms.conf
4、在dkms.conf中添加如下内容:
PACKAGE_NAME="rtw88"
PACKAGE_VERSION="5.8.2"
BUILD_MODULE_NAME[0]="rtw88_core"
DST_MODULE_NAME[0]="rtw88_core"
BUILD_MODULE_NAME[1]="rtw88_pci"
DST_MODULE_NAME[1]="rtw88_pci"
BUILD_COMMAND="make KDIR={kernel_source_dir}"
CLEAN="make clean"
MAKE[0]="make all KDIR={kernel_source_dir}"
5、将驱动注册到DKMS系统:
sudo dkms add -m rtw88 -v 5.8.2
6、编译并安装模块:
sudo dkms build -m rtw88 -v 5.8.2
sudo dkms install -m rtw88 -v 5.8.2
四、手动加载驱动并验证网络连接
完成驱动安装后,必须确保内核正确加载了新的模块,并能识别物理网卡设备。
1、强制重新加载驱动模块以应用更改:
sudo modprobe rtw88_core
sudo modprobe rtw88_pci
2、检查模块是否成功载入:
lsmod | grep rtw88
3、查看网络接口是否出现:
ip link show
4、尝试启用接口并获取IP地址:
sudo ip link set enp3s0 up
sudo dhclient enp3s0
5、测试外部连通性:
ping -c 4 www.baidu.com











