Ubuntu 20.04 LTS 安装好后,发现 WIFI 可以正常连接,有线网络连图标都没有显示。经过诊断发现是有线网卡驱动未正确问题。最后通过手动安装网卡驱动得以解决。这里记录一下。
我的主板是 微星B460M MORTAR WIFI
,驱动 R8125
。类似型号安装应也差不多。
怎么看网卡驱动是否安装?
用 ifconfig
查看网络设备情况。
ifconfig
没有,可以用sudo apt install net-tools
安装。
如果一切正常,你或许看到的是类似这样的。
> ifconfig
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
....
wlp3s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.123.57 netmask 255.255.255.0 broadcast 192.168.123.255
....
enp4s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.123.64 netmask 255.255.255.0 broadcast 192.168.123.255
....
其中,
lo
开头的,表示本地连接wl
开头的,表示无线局域网 (wlan Wireless Local Area Network)p3s0
描述了无线局域网的 PCI 接口位置: bus=3, slot=0
en
开头的,表示以太网(ethernet)p2s0
描述了以太网的 PCI 接口位置: bus=2, slot=0
PCI
全称(Peripheral Component Interconnect),即外设部件互连标准
如果没有en
开头的这个,说明网卡驱动存在问题。 我们可以利用lspci -v | grep Ethernet
具体的查看一下网卡的型号,如:
> lspci -v | grep Ethernet
04:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller (rev 04)
驱动安装
到 Realtek官网 下载好驱动,如对应上面的输出RTL8125 2.5GbE Controller
,我找到了该驱动。
下载好后,经入下载后的文件夹,开始准备安装了。
准备环境。
sudo apt-get install --reinstall linux-headers-$(uname -r) linux-headers-generic build-essential dkms
解压源码到
/usr/src
sudo tar xvf r8125-9.004.01.tar.bz2 -C /usr/src
按照其中README.md的方法安装后也可使用,但重启后需要重新安装。
添加一个
dkms.conf
到/usr/src/r8125-9.004.01/
目录下,内容如下:PACKAGE_NAME=Realtek_r8125 PACKAGE_VERSION=9.003.02 DEST_MODULE_LOCATION=/updates/dkms BUILT_MODULE_NAME=r8125 BUILT_MODULE_LOCATION=src/ MAKE="'make' -C src/ all" CLEAN="'make' -C src/ clean" AUTOINSTALL="yes"
编译 dkms
sudo dkms add -m r8125 -v 9.004.01 sudo dkms build -m r8125 -v 9.004.01 sudo dkms install -m r8125 -v 9.004.01 sudo depmod -a sudo modprobe r8125
操作完成后,你就可以通过
ifconfig
看到en
开头的有线网连接了。如果后续有升级,需要先删除,再安装新的。
sudo dkms remove r8125/9.004.01 --all
另外,我遇到过一次升级内核,把这个驱动弄没了,这时再编译安装一次就好了。
相关链接