ubuntu网卡驱动怎么配置
小樊
33
2025-12-27 22:33:49
Ubuntu 网卡驱动配置全流程
一 识别网卡与当前驱动
- 查看网卡型号与驱动绑定:
- 查看设备:lspci | grep -i network
- 查看驱动绑定:lspci -knn | grep -A3 -i “Network”
- 查看已加载模块:lsmod | grep -iE “iwlwifi|r8169|wl|r8125”
- 查看接口状态:ip link
- 若设备存在但无驱动(Kernel driver in use: N/A),需安装或切换驱动;若驱动加载失败,优先检查内核头文件与编译环境是否就绪。
二 优先使用仓库与DKMS安装
- 更新索引并安装常见固件/驱动支持:
- sudo apt update
- sudo apt install build-essential linux-headers-$(uname -r) firmware-iwlwifi firmware-linux-nonfree
- 常见厂商方案(按网卡型号选择其一):
- Intel 无线:sudo apt install firmware-iwlwifi,然后 sudo modprobe iwlwifi
- Broadcom 无线:sudo apt install bcmwl-kernel-source
- Realtek 有线(示例):sudo apt install r8168-dkms r8125-dkms
- 安装完成后重启:sudo reboot。DKMS 可在内核升级后自动重建驱动模块,适合长期使用。
三 源码编译与DKMS安装
- 适用于仓库无驱动或需特定版本的场景(以 Realtek RTL8125 为例):
- 安装依赖:sudo apt update && sudo apt install build-essential linux-headers-$(uname -r) dkms
- 下载驱动并解压至 /usr/src/r8125-<版本>/
- 使用 DKMS 注册并构建安装:
- sudo dkms add -m r8125 -v <版本>
- sudo dkms build -m r8125 -v <版本>
- sudo dkms install -m r8125 -v <版本>
- sudo depmod -a && sudo modprobe r8125
- 验证:lsmod | grep r8125 与 ip link 应能看到网卡与驱动已就绪。
- 若之前加载了错误驱动(如 r8169 对 RTL8125),先卸载再加载正确驱动:
- sudo rmmod r8169(若占用先停用接口:sudo ip link set down)
- 必要时屏蔽错误驱动(谨慎):在 /etc/modprobe.d/blacklist.conf 添加 blacklist r8169,然后 sudo update-initramfs -u
- 某些驱动也提供 dkms.conf 或 autorun.sh,按驱动目录 README 执行即可。
四 网络配置与生效
- Ubuntu 18.04+ 默认使用 Netplan(/etc/netplan/*.yaml):
- 编辑配置(示例为静态 IPv4):
- sudo nano /etc/netplan/50-cloud-init.yaml
- 示例片段:
- network:
- version: 2
- renderer: networkd
- ethernets:
- eno1:
- dhcp4: no
- addresses: [192.168.1.100/24]
- gateway4: 192.168.1.1
- nameservers:
- addresses: [8.8.8.8, 8.8.4.4]
- 应用:sudo netplan apply(远程环境可用 sudo netplan try 降低断连风险)
- 使用 NetworkManager(桌面版或 renderer 设为 NetworkManager 时):
- 命令行:nmcli con add type ethernet ifname eno1 con-name eth0 ipv4.method manual ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.dns “8.8.8.8 8.8.4.4”
- 启用连接:nmcli con up eth0
- 验证:ping 8.8.8.8 与 ping google.com,确认链路与 DNS 正常。
五 常见问题与排查
- 驱动冲突与切换:确认当前驱动 lsmod | grep <驱动名>,必要时 sudo rmmod <旧驱动> 并 sudo modprobe <新驱动>;对顽固冲突可在 /etc/modprobe.d/blacklist.conf 中屏蔽旧驱动并更新 initramfs。
- 未识别设备或固件缺失:安装 firmware-iwlwifi、firmware-linux-nonfree 等通用固件包;Intel 无线执行 sudo modprobe iwlwifi 后再检查 dmesg | tail。
- 编译失败:确保安装 linux-headers-$(uname -r) 与 build-essential;DKMS 构建失败可先 dkms remove -m <模块名> -v <版本> --all 后重装。
- 虚拟机/云主机:优先使用云厂商提供的 HWE 内核与官方镜像驱动,避免与虚拟驱动冲突。
- 变更后无网络:优先回滚到上一个可用 Netplan 配置(备份后再 apply),或改用 renderer: NetworkManager 以便图形界面排障。