4

自己装了一台台式机,用的微星B460M迫击炮主板,插入网线后无法识别有线连接。最后发现时因为主板有线网卡的型号和系统中网卡的驱动不匹配,更换驱动后问题解决。

查看并删除原驱动

  1. 查看网卡型号

    在终端输入以下命令查看网卡芯片:

    lspci | grep net

    显示 02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller (rev 04),其中的Ethernet controller:后的部分为网卡型号,在这里我的网卡型号的瑞昱的RTL8125。

  2. 查看网卡驱动

    在终端输入以下命令查看网卡驱动:

    lspci -k

    这个命令会列出系统所有的pci设备的硬件和驱动信息,找到Ethernet相关的行,比如我这里显示的是:

    02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller (rev 04)
            Subsystem: Micro-Star International Co., Ltd. [MSI] Device 7c82
            Kernel driver in use: r8169
            Kernel modules: r8169

    其中第一行显示的就是网卡的型号,与步骤1中显示的相同,Kernel driver显示的是驱动信息,这里显示的是r8169。因为网卡型号和驱动不匹配,导致了无法使用有线网上网。

  3. 卸载原有驱动

    依次执行以下命令:

    • 查看驱动文件所在的位置,其中的r8169请自行替换为自己的网卡驱动名称。

      modinfo r8169 | grep filename 
    • 备份或直接删除驱动文件,下面两个命令执行其中一个即可,其中的path请用上一步查找到的文件路径替换,r8169请用自己的驱动名称替换。

      mv path/r8169.ko path/r8169.ko.backup #备份
      rm path/r8169.ko #直接删除
    • 卸载驱动。其中的r8169请自行替换。

      rmmod r8169
    • 查看是否删除成功,如果无显示或者显示结果没有r8169则表明删除成功。

      lsmod | grep r8169

安装正确的驱动

因为网卡型号为RTL8125,下面来装它的驱动r8125。

尝试直接安装

  • 下载驱动

    sudo pacman -S r8125 #Manjaro系统
    sudo apt-get install r8125 #Ubuntu系统
  • 尝试挂载

    sudo modprobe r8125

但是我这里报错,原因好像是下载的驱动包与系统内核不兼容。。

使用DKMS安装驱动

  • 安装dkms

    sudo pacman -S dkms #Manjaro系统
    sudo apt-get install dkms #Ubuntu系统
  • 驱动官网下载自己对应的压缩包,然后到下载目录打开终端(或者在终端中cd到下载目录),然后执行以下命令,将驱动解压到/use/src,这里以r8125举例,请自行替换压缩文件的名称:

    sudo tar xvf r8125-9.004.01.tar.bz2 -C /usr/src
  • /use/src的对应文件夹中创建一个新文件,名称为dkms.conf,比如我这里就要在/usr/src/r8125-9.004.01中创建。在dkms.conf中输入以下内容:

    PACKAGE_NAME=Realtek_r8125
    PACKAGE_VERSION=9.004.01 
    
    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"

    其中的PACKAGE_NAMEPACKAGE_VERSIONBUILT_MODULE_NAME等号后的内容自行替换为自己下载驱动和版本。

  • 编译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 #挂载驱动

    其中的r81259.004.01请自行替换为对应的驱动和版本号。

  • 执行lspci -k查看驱动是否安装成功(其实不用,成功的话网络应该会自己变成有线连接)。

盛夏的猫宁
23 声望2 粉丝