[Share Experiences] Deepin V23安装2.5G有线网卡驱动
Tofloor
poster avatar
川顺页
deepin
2023-06-16 06:28
Author
  1. 确定网卡芯片型号(不是说让你确认品牌型号,找客服或者进windows看,一般是intel/Realtek,偶尔会出现博通的),或者运气好也可以去deepin自带的设别管理器看到对应型号,我的是Realtek RTL8125

  2. 设备管理器观察是否正确识别或者驱动,我这个算识别了,但是显示的最大速率是1Gbit/s,并且用的是内核自带的r8169驱动。实际我这个网卡应该是2.5Gb/s,而不是1Gb/s,所以这里识别的有一点点问题。

    image.png

  3. 假设你的网卡未识别或者和我一样识别有点问题,可以继续下一步折腾了。当然也可以用终端命令行观察当前状态,比如刚刚设备管理器显示的逻辑名称是enp5s0,可以用ethtool来查看完整命令

  • 安装这个工具
sudo apt install ethtool
  • 然后运行检测
sudo ethtool enp5s0
  • 检测结果大概长这样:
$ sudo ethtool enp5s0
Settings for enp5s0:
        Supported ports: [ TP    MII ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
                                2500baseT/Full
        Supported pause frame use: Symmetric Receive-only
        Supports auto-negotiation: Yes
        Supported FEC modes: Not reported
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
                                2500baseT/Full
        Advertised pause frame use: Symmetric Receive-only
        Advertised auto-negotiation: Yes
        Advertised FEC modes: Not reported
        Link partner advertised link modes:  10baseT/Half 10baseT/Full
                                             100baseT/Half 100baseT/Full
                                             1000baseT/Full
                                             2500baseT/Full
        Link partner advertised pause frame use: Symmetric Receive-only
        Link partner advertised auto-negotiation: Yes
        Link partner advertised FEC modes: Not reported
        Speed: 2500Mb/s
        Duplex: Full
        Auto-negotiation: on
        master-slave cfg: preferred slave
        master-slave status: slave
        Port: Twisted Pair
        PHYAD: 0
        Transceiver: external
        MDI-X: Unknown
        Supports Wake-on: pumbg
        Wake-on: d
        Link detected: yes
  • 上面的识别结果中有三个重要信息:
# 1.关于支持的网速,可以看出支持10/100/1000/2500M四种类型
Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
                                2500baseT/Full
# 2. 当前最大支持的上网速度,可以看出目前是2500Mb/s
Speed: 2500Mb/s

# 3.当前工作模式。Full是全双工,Half是半工。前者可以同时上传与下载,后者只能二选一。
Duplex: Full
  • 从终端的信息来看我的网卡实际是可以用的,可以不用折腾了。不过我测了一下nas内网传输,大概也就180MB/s,实际我在windows下可以跑到250MB/s。注:1MB=8Mb,2500Mb=300多MB/s。这里说明还有提升空间,可以去看看有没有更好的闭源驱动(Linux内核里面的驱动都是开源驱动,可能性能不如厂家发布的闭源驱动,比如英伟达显卡驱动就是如此。)
  1. 去开源社区/搜索引擎找找有没有这个Realtek RTL8125的网卡驱动,对于开源社区,我建议直接搜数字会更好。
  • 搜到的符合结果1(注:dkms算是一个特殊的插件,可以在你内核变动时自动构建驱动到新内核上面,算是非常好用的工具):
    image.png

  • 用谷/ge也可以搜索到官网提供的驱动。

    image.png

  • 这里我选择用dkms方案,因为更加方便。加上更新时间也差不多,问题不大。

  1. 直接阅读这个仓库文档,看了一下他可以直接装打包好的deb文件,不过他的deb文件有点老,更新时间是2022年12月份,是基于官网驱动9.010.01-2做的,但是主仓库更新时间是2023年5月,基于官网驱动9.011.01-1做的,所以我选择用仓库来编译。
  2. 根据他的仓库教程,大概只需要做两步。
  • 拉取仓库/下载仓库,这里给一个下载代码的截图,方便普通人下载。

    image.png

  • 安装仓库。先将仓库解压,然后进入刚解压后的目录,然后右键,在当前目录打开终端。一般安装教程仓库Readme.md文件都会写,小白可以直接在之前的链接查看。

    image.png

  • 这里直接按他给的命令安装就行来。

sudo ./dkms-install.sh
  • 这里还说了,要把旧的开源驱动给屏蔽掉(英伟达闭源驱动也是这样),参考最开始的图,里面有一个驱动r8169。按照,先检查旧的驱动是否还在加载,如果是,则需要屏蔽掉。

    image.png

  • 这里我输入一下看看,如果输入命令有东西显示,说明就是驱动还在用:

$ lsmod | grep -i r8169
# 输出结果如下
r8169                  86016  0
  • 说明我还在用旧驱动,我继续安装教程屏蔽这个驱动。
sudo tee -a /etc/modprobe.d/blacklist-r8169.conf > /dev/null <
  • 然后按他的教程,更新内核信息
sudo update-initramfs -u
  • 最后,重启一下
  • 然后再看看旧驱动是否屏蔽掉了,结果没有任何输出,显然是成功了。
lsmod | grep -i r8169
  1. 再看一下设备管理器,好吧,这个显示有问题,不过驱动已经从r8169这个开源驱动,变成来r8125这个官方魔改而来的闭源驱动了。

    image.png

  2. 最后再看一下ethtool

$ sudo ethtool enp5s0            
请输入密码:
验证成功
Settings for enp5s0:
        Supported ports: [ TP ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
                                2500baseT/Full
        Supported pause frame use: Symmetric Receive-only
        Supports auto-negotiation: Yes
        Supported FEC modes: Not reported
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Advertised pause frame use: Symmetric Receive-only
        Advertised auto-negotiation: Yes
        Advertised FEC modes: Not reported
        Link partner advertised link modes:  10baseT/Half 10baseT/Full
                                             100baseT/Half 100baseT/Full
                                             1000baseT/Full
                                             2500baseT/Full
        Link partner advertised pause frame use: Symmetric Receive-only
        Link partner advertised auto-negotiation: Yes
        Link partner advertised FEC modes: Not reported
        Speed: 2500Mb/s
        Duplex: Full
        Auto-negotiation: on
        Port: Twisted Pair
        PHYAD: 0
        Transceiver: internal
        MDI-X: Unknown
        Supports Wake-on: pumbg
        Wake-on: g
        Current message level: 0x00000033 (51)
                               drv probe ifdown ifup
        Link detected: yes
  • 发现有啥变化没有,好像Wake-on: g之前是Wake-on: d,这个是一个利用网线唤醒关机设备的功能,说明还是闭源驱动更好一些。
  • 网速测试了一下,多了一点点。说明变化不大。
  • 所以,如果你的网卡能够正确识别,就不要瞎折腾了,如果不不能识别,或者没办法全双工,那就要折腾一下。
  • 屏蔽旧网卡驱动这个一般都不需要,这个比较特殊,因为他开源驱动就可以正常识别和使用来,只不过闭源驱动更好用一些。
  • 比如我有个2.5Gusb有线网卡,没装驱动前只能半双工,1000Mb/s,装完驱动后就正常了。
Reply Favorite View the author
All Replies
阿尼樱奈奈
deepin
2023-06-16 06:33
#1

like

Reply View the author
HMOS1
deepin
2023-06-16 06:37
#2

pride

Reply View the author
jjcui8595
deepin
2023-06-16 06:47
#3

大赞

Reply View the author
青稚
deepin
2023-06-16 14:34
#4
jjcui8595

大赞

赞同like

Reply View the author