0%

Ubuntu 20.04 LTS 有线网卡驱动安装

Ubuntu 20.04 LTS 安装好后,发现 WIFI 可以正常连接,有线网络连图标都没有显示。经过诊断发现是有线网卡驱动未正确问题。最后通过手动安装网卡驱动得以解决。这里记录一下。

我的主板是 微星B460M MORTAR WIFI,驱动 R8125。类似型号安装应也差不多。

怎么看网卡驱动是否安装?

ifconfig查看网络设备情况。

ifconfig 没有,可以用 sudo apt install net-tools 安装。

如果一切正常,你或许看到的是类似这样的。

1
2
3
4
5
6
7
8
9
10
11
12
13
> 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 具体的查看一下网卡的型号,如:

1
2
> lspci -v | grep Ethernet
04:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller (rev 04)

驱动安装

Realtek官网 下载好驱动,如对应上面的输出RTL8125 2.5GbE Controller,我找到了该驱动。

下载好后,经入下载后的文件夹,开始准备安装了。

  1. 准备环境。

    1
    sudo apt-get install --reinstall linux-headers-$(uname -r) linux-headers-generic build-essential dkms
  2. 解压源码到 /usr/src

    1
    sudo tar xvf r8125-9.004.01.tar.bz2 -C /usr/src

    按照其中README.md的方法安装后也可使用,但重启后需要重新安装。

  3. 添加一个 dkms.conf/usr/src/r8125-9.004.01/ 目录下,内容如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    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"
  4. 编译 dkms

    1
    2
    3
    4
    5
    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
  5. 操作完成后,你就可以通过ifconfig 看到en开头的有线网连接了。

  6. 如果后续有升级,需要先删除,再安装新的。

    1
    sudo dkms remove r8125/9.004.01 --all

另外,我遇到过一次升级内核,把这个驱动弄没了,这时再编译安装一次就好了。

相关链接