有线网络非常慢

有线网络非常慢

在我的办公室,我们最近购买了 20 台运行 Ubuntu 20.04 的戴尔 Latitude 5420 笔记本电脑,我们的以太网连接出现了很大的问题,下载速度非常慢(但上传速度很好)。

编辑:问题仅出现在此笔记本电脑系列上,仅配备集成以太网且仅在 Ubuntu 上出现(请参阅下面的测试)。如果我们在此笔记本电脑上安装 Windows,Wifi 运行正常,以太网也运行正常,如果我们使用以太网 USB 适配器或带有以太网的扩展坞,则不会出现问题。

硬件方面,笔记本电脑配备了集成网卡:英特尔“Ethernet Connection I219-LM”。

以下是我所做的测试。

在我家进行测试的条件:

  • 使用的互联网连接类型:VDSL2+
  • 下载速度:40,43 Mbps
  • 上传速度:5.70 Mbps

在我的办公室进行测试的条件:

  • 使用的互联网连接类型:光纤
  • 下载速度:756,21 Mbps
  • 上传速度:337,64 Mbps

以下是我进行的测试:

  • Ubuntu 20.04.1 LTS“开箱即用”

    • 安装后的结果:以太网速度慢 (@home = 下载:0,89 Mbps / 上传:4,82 Mbps)
    • 安装后的内核版本:5.6.0-1032-oem
    • 安装后的以太网驱动程序版本:Intel e1000e 3.2.6-k
    • 更新后内核版本:5.10.0-1029-oem
    • 更新后的以太网驱动版本:Intel e1000e 5.10.0-1029-oem(内核中包含的驱动)
    • 更新后的结果:以太网速度慢(@ home = 下载:0,57 Mbps / 上传:4,61 Mbps)
  • Ubuntu 20.04.2 LTS“从 USB 安装”

    • 安装后的结果:以太网速度慢 (@home = 下载:0,89 Mbps / 上传:4,82 Mbps) (@office = 下载:6,36 Mbps / 上传:327,99 Mbps)
    • 安装后的内核版本:5.8.0-43-generic
    • 安装后的以太网驱动程序版本:Intel e1000e 3.2.6-k
    • 更新后内核版本:5.8.0-55-generic
    • 更新后的以太网驱动程序版本:Intel e1000e 3.2.6-k
    • 更新后的结果:以太网速度慢 (@home = 下载:0,68 Mbps / 上传:4,52 Mbps) (@office = 下载:5,31 Mbps / 上传:411,82 Mbps)
    • 手动安装 3.8.4 和 3.8.7 驱动程序的尝试失败:驱动程序编译期间出错
  • Ubuntu 20.04.2 LTS“通过 USB 进行实时会话”

    • 实时会话结果:以太网“稍微”慢一点(@home = 下载:15,60 Mbps / 上传:4,41 Mbps)
    • 内核版本:5.8.0-43-generic
    • 以太网驱动程序版本:Intel e1000e 3.2.6-k
  • Ubuntu 18.04 LTS“从 USB 安装”

    • 安装后的结果:系统看到卡但未被认领
    • 内核版本:5.4.0-74-generic
    • 以太网驱动程序版本:无
    • 更新后内核版本:5.4.0-74-generic
    • 更新后的以太网驱动程序版本:无
    • 手动安装后的以太网驱动程序版本:3.8.4-NAPI(从英特尔网站下载)
    • 更新后的结果:以太网正常(@home = 下载:40,29 Mbps / 上传:5,37 Mbps)
  • Ubuntu 20.04.1 LTS“从 Dell 恢复 iso 安装”(从 Dell OS Recovery Tool 软件下载)

    • 安装后的结果:以太网速度慢 (@home = 下载:0,87 Mbps / 上传:4,73 Mbps)
    • 安装后的内核版本:5.6.0-1032-oem
    • 安装后的以太网驱动程序版本:Intel e1000e 3.2.6-k
    • 更新后内核版本:5.10.0-1029-oem
    • 更新后的以太网驱动版本:Intel e1000e 5.10.0-1029-oem(内核中包含的驱动)
    • 更新后的结果:以太网速度慢 (@home = 下载:0.56 Mbps / 上传:4.49 Mbps)
    • 手动安装 3.8.4 和 3.8.7 驱动程序的尝试失败:使用内核 5.6.0-1032-oem 和 5.10.0-1029-oem 编译驱动程序时出错
  • Ubuntu 21.04“从 USB 安装”

    • 安装后的结果:以太网速度慢 (@office = 下载:1,52 Mbps / 上传:400,58 Mbps)
    • 安装后的内核版本:5.11.0-16-generic
    • 安装后的以太网驱动版本:5.11.0-16-generic(内核中包含的驱动)
    • 更新后内核版本:5.11.0-18-generic
    • 更新后的以太网驱动版本:5.11.0-18-generic(内核中包含的驱动)
    • 更新后的结果:以太网速度慢 (@office = 下载:2,22 Mbps / 上传:410,05 Mbps)
  • Windows 10 专业版(版本 21H1)

    • 安装后的结果:以太网正常(@office = 下载:850,12 Mbps / 上传:519,30 Mbps)

因此,经过所有这些测试后,我们可以看出,我们已经可以排除硬件问题(在收到的 20 台笔记本电脑中,有 5 或 6 台笔记本电脑存在此问题),在手动安装英特尔驱动程序并运行于 Windows 后,Ubuntu 18.04 上的带宽是完美的。

起初,我认为解决方案是能够安装较新版本的“Intel e1000e”驱动程序,但当我尝试在从“Dell ISO”安装的 Ubuntu 上编译它时,我收到这些错误(抱歉,法语不好):

  • 在内核 5.6.0-1032-oem 上(来自 Dell ISO)

    administrateur@administrateur-Latitude-5420:~/Téléchargements/e1000e-3.8.7/src$ sudo make
    *** The target kernel has CONFIG_MODULE_SIG_ALL enabled, but
    *** the signing key cannot be found. Module signing has been
    *** disabled for this build.
    make[1] : on entre dans le répertoire « /usr/src/linux-headers-5.6.0-1032-oem »
      CC [M]  /home/administrateur/Téléchargements/e1000e-3.8.7/src/netdev.o
    In file included from /home/administrateur/Téléchargements/e1000e-3.8.7/src/e1000.h:14,
                     from /home/administrateur/Téléchargements/e1000e-3.8.7/src/netdev.c:30:
    /home/administrateur/Téléchargements/e1000e-3.8.7/src/kcompat.h:825:2: error: #error UTS_UBUNTU_RELEASE_ABI is too large...
      825 | #error UTS_UBUNTU_RELEASE_ABI is too large...
          |  ^~~~~
    make[2]: *** [scripts/Makefile.build:276: /home/administrateur/Téléchargements/e1000e-3.8.7/src/netdev.o] Erreur 1
    make[1]: *** [Makefile:1707: /home/administrateur/Téléchargements/e1000e-3.8.7/src] Erreur 2
    make[1] : on quitte le répertoire « /usr/src/linux-headers-5.6.0-1032-oem »
    make: *** [Makefile:73: default] Erreur 2
    
  • 在内核 5.10.0-1029-oem 上(来自 Dell ISO)

    administrateur@administrateur-Latitude-5420:~/Téléchargements/e1000e-3.8.7/src$ sudo make
    *** The target kernel has CONFIG_MODULE_SIG_ALL enabled, but
    *** the signing key cannot be found. Module signing has been
    *** disabled for this build.
    make[1] : on entre dans le répertoire « /usr/src/linux-headers-5.10.0-1029-oem »
      CC [M]  /home/administrateur/Téléchargements/e1000e-3.8.7/src/netdev.o
    In file included from /home/administrateur/Téléchargements/e1000e-3.8.7/src/e1000.h:14,
                     from /home/administrateur/Téléchargements/e1000e-3.8.7/src/netdev.c:30:
    /home/administrateur/Téléchargements/e1000e-3.8.7/src/kcompat.h:825:2: error: #error UTS_UBUNTU_RELEASE_ABI is too large...
      825 | #error UTS_UBUNTU_RELEASE_ABI is too large...
          |  ^~~~~
    make[2]: *** [scripts/Makefile.build:287: /home/administrateur/Téléchargements/e1000e-3.8.7/src/netdev.o] Erreur 1
    make[1]: *** [Makefile:1849: /home/administrateur/Téléchargements/e1000e-3.8.7/src] Erreur 2
    make[1] : on quitte le répertoire « /usr/src/linux-headers-5.10.0-1029-oem »
    make: *** [Makefile:73: default] Erreur 2
    

从官方 ISO(不是戴尔的)重新安装 Ubuntu 并禁用 SecureBoot 后,我​​终于成功安装了新的 Intel e1000e 驱动程序......但是......问题仍然存在......

  • 在内核 5.8.0-43-generic 上(来自官方 Ubuntu ISO)

    • 3.8.7 驱动程序更新后的结果:以太网速度慢 (@home = 下载:0.16 Mbps / 上传:2.38 Mbps)
  • 在内核 5.8.0-55-generic 上(来自官方 Ubuntu ISO)

    • 3.8.7 驱动程序更新后的结果:以太网速度慢 (@home = 下载:1.00 Mbps / 上传:5.13 Mbps)

我承认我完全迷失了...你知道它是从哪里来的吗?

与此同时,这是订单的结果lshw -C network,不要犹豫,向我询问其他订单的结果,我会发布它们。

$ sudo lshw -C network
  *-network:1
       description: Ethernet interface
       produit: Ethernet Connection (13) I219-LM
       fabricant: Intel Corporation
       identifiant matériel: 1f.6
       information bus: pci@0000:00:1f.6
       nom logique: enp0s31f6
       version: 20
       numéro de série: 38:14:28:0f:32:1a
       taille: 1Gbit/s
       capacité: 1Gbit/s
       bits: 32 bits
       horloge: 33MHz
       fonctionnalités: pm msi bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=e1000e driverversion=3.8.7-NAPI duplex=full firmware=0.8-4 ip=192.168.1.31 latency=0 link=yes multicast=yes port=twisted pair speed=1Gbit/s
       ressources: irq:147 mémoire:a2300000-a231ffff

预先感谢您的帮助 ! :)

更新

nestat -i以下是和命令的结果netstat -s(在我家的网络上):

$ netstat -i
Table d'interfaces noyau
Iface      MTU    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
enp0s31f  1500    29522    448    361 0         30261      0      0      0 BMRU
lo       65536     4572      0      0 0          4572      0      0      0 LRU
wlp0s20f  1500     7350      0    672 0           563      0      0      0 BMRU

$ netstat -s
Ip:
    Forwarding: 2
    50727 total packets received
    6 with invalid addresses
    0 forwarded
    0 incoming packets discarded
    49394 incoming packets delivered
    43118 requests sent out
    20 outgoing packets dropped
    542 dropped because of missing route
Icmp:
    67 ICMP messages received
    0 input ICMP message failed
    Histogramme d'entrée ICMP
        destination unreachable: 67
    762 ICMP messages sent
    0 ICMP messages failed
    Histogramme de sortie ICMP
        destination unreachable: 762
IcmpMsg:
        InType3: 67
        OutType3: 762
Tcp:
    545 active connection openings
    0 passive connection openings
    4 failed connection attempts
    5 connection resets received
    3 connections established
    29486 segments received
    40360 segments sent out
    861 segments retransmitted
    1 bad segments received
    290 resets sent
Udp:
    11379 packets received
    1452 packets to unknown port received
    0 packet receive errors
    11028 packets sent
    0 receive buffer errors
    0 send buffer errors
    IgnoredMulti: 5760
UdpLite:
TcpExt:
    218 TCP sockets finished time wait in fast timer
    164 delayed acks sent
    Quick ack mode was activated 36 times
    7910 packet headers predicted
    6247 acknowledgments not containing data payload received
    10413 predicted acknowledgments
    TCPSackRecovery: 140
    Detected reordering 1 times using SACK
    6 congestion windows recovered without slow start after partial ack
    TCPLostRetransmit: 100
    490 fast retransmits
    48 retransmits in slow start
    TCPTimeouts: 95
    TCPLossProbes: 300
    TCPLossProbeRecovery: 30
    TCPSackRecoveryFail: 7
    TCPDSACKOldSent: 40
    TCPDSACKOfoSent: 5
    TCPDSACKRecv: 193
    93 connections reset due to unexpected data
    1 connections reset due to early user close
    3 connections aborted due to timeout
    TCPDSACKIgnoredOld: 1
    TCPDSACKIgnoredNoUndo: 109
    TCPSackShifted: 790
    TCPSackMerged: 1396
    TCPSackShiftFallback: 320
    TCPRcvCoalesce: 1208
    TCPOFOQueue: 1950
    TCPOFOMerge: 5
    TCPChallengeACK: 1
    TCPSYNChallenge: 1
    TCPAutoCorking: 157
    TCPSynRetrans: 43
    TCPOrigDataSent: 27241
    TCPHystartDelayDetect: 13
    TCPHystartDelayCwnd: 421
    TCPKeepAlive: 612
    TCPDelivered: 27555
    TCPAckCompressed: 187
    TcpTimeoutRehash: 95
    TcpDuplicateDataRehash: 3
IpExt:
    InMcastPkts: 2913
    OutMcastPkts: 260
    InBcastPkts: 5760
    OutBcastPkts: 2
    InOctets: 25001747
    OutOctets: 37878931
    InMcastOctets: 857652
    OutMcastOctets: 17502
    InBcastOctets: 5995183
    OutBcastOctets: 108
    InNoECTPkts: 52735
MPTcpExt:

答案1

最后,有人遇到了完全相同的问题。我在启动板上提交了一个错误:e1000e 非常慢

你也可以在那里发表评论吗?或者 +1 之类的?那里也有解决方法。

诀窍是禁用aspm作为pcie_aspm=off内核选项/etc/default/grub,如下所示:

GRUB_CMDLINE_LINUX_DEFAULT="splash pcie_aspm=off"

运行之后:

update-grub

pcie_aspm是某种电源管理装置,它可能会使我的网络控制器进入睡眠状态或发生其他操作,而将 USB 记忆棒插入笔记本电脑则会以某种方式将其唤醒。

答案2

尝试这个

sudo ethtool -C enp0s31f rx-usecs 6000

ethtool 不是持久性的,因此您需要每次重启时再次运行(或为此创建启动脚本)。

相关内容