Rede cabeada extremamente lenta

Rede cabeada extremamente lenta

No meu escritório, compramos recentemente vinte laptops Dell Latitude 5420 com Ubuntu 20.04 e temos um grande problema com a conexão Ethernet, o download é extremamente lento (mas o upload é bom).

Editar: O problema está apenas nesta série de laptops, apenas com Ethernet integrada e apenas no Ubuntu (veja os testes abaixo). Wifi está funcionando perfeitamente, Ethernet também está funcionando perfeitamente se instalarmos o Windows nestes laptops e não teremos problemas se usarmos um adaptador Ethernet USB ou uma dockstation com ethernet.

Do lado do hardware, os laptops são equipados com placas de rede integradas: Intel "Ethernet Connection I219-LM".

Abaixo estão os testes que fiz.

Condições dos testes realizados em minha casa:

  • Tipo de conexão de internet utilizada: VDSL2+
  • Velocidade de download: 40,43 Mbps
  • Velocidade de upload: 5,70 Mbps

Condições dos testes realizados no meu consultório:

  • Tipo de conexão de internet utilizada: Fibra óptica
  • Velocidade de download: 756,21 Mbps
  • Velocidade de upload: 337,64 Mbps

Aqui estão os testes que realizei:

  • Ubuntu 20.04.1 LTS "pronto para uso"

    • Resultado após instalação: Ethernet lenta (@home = download: 0,89 Mbps / upload: 4,82 Mbps)
    • Versão do kernel após instalação: 5.6.0-1032-oem
    • Versão do driver Ethernet após instalação: Intel e1000e 3.2.6-k
    • Versão do kernel após atualização: 5.10.0-1029-oem
    • Versão do driver Ethernet após atualização: Intel e1000e 5.10.0-1029-oem (driver incluído no kernel)
    • Resultado após atualização: Ethernet lenta (@home = download: 0,57 Mbps / upload: 4,61 Mbps)
  • Ubuntu 20.04.2 LTS “instalar via USB”

    • Resultado após instalação: Ethernet lenta (@home = download: 0,89 Mbps / upload: 4,82 Mbps) (@office = download: 6,36 Mbps / upload: 327,99 Mbps)
    • Versão do kernel após instalação: 5.8.0-43-generic
    • Versão do driver Ethernet após instalação: Intel e1000e 3.2.6-k
    • Versão do kernel após atualização: 5.8.0-55-generic
    • Versão do driver Ethernet após atualização: Intel e1000e 3.2.6-k
    • Resultado após atualização: Ethernet lenta (@home = download: 0,68 Mbps / upload: 4,52 Mbps) (@office = download: 5,31 Mbps / upload: 411,82 Mbps)
    • Tentativas malsucedidas de instalar manualmente o driver 3.8.4 e 3.8.7: Erros durante a compilação do driver
  • Ubuntu 20.04.2 LTS “sessão ao vivo de USB”

    • Resultado na sessão ao vivo: Ethernet "um pouco menos" lenta (@home = download: 15,60 Mbps / upload: 4,41 Mbps)
    • Versão do kernel: 5.8.0-43-genérico
    • Versão do driver Ethernet: Intel e1000e 3.2.6-k
  • Ubuntu 18.04 LTS “instalar via USB”

    • Resultado após a instalação: Cartão visto pelo sistema, mas não reivindicado
    • Versão do kernel: 5.4.0-74-genérico
    • Versão do driver Ethernet: Nenhuma
    • Versão do kernel após atualização: 5.4.0-74-generic
    • Versão do driver Ethernet após atualização: Nenhuma
    • Versão do driver Ethernet após instalação manual: 3.8.4-NAPI (baixado do site da Intel)
    • Resultado após atualização: Ethernet ok (@home = download: 40,29 Mbps / upload: 5,37 Mbps)
  • Ubuntu 20.04.1 LTS "instalar a partir do Dell Recovery ISO" (baixado do software Dell OS Recovery Tool)

    • Resultado após instalação: Ethernet lenta (@home = download: 0,87 Mbps / upload: 4,73 Mbps)
    • Versão do kernel após instalação: 5.6.0-1032-oem
    • Versão do driver Ethernet após instalação: Intel e1000e 3.2.6-k
    • Versão do kernel após atualização: 5.10.0-1029-oem
    • Versão do driver Ethernet após atualização: Intel e1000e 5.10.0-1029-oem (driver incluído no kernel)
    • Resultado após atualização: Ethernet lenta (@home = download: 0,56 Mbps / upload: 4,49 Mbps)
    • Tentativas malsucedidas de instalar manualmente o driver 3.8.4 e 3.8.7: Erros durante a compilação do driver com kernels 5.6.0-1032-oem e 5.10.0-1029-oem
  • Ubuntu 21.04 “instalar via USB”

    • Resultado após instalação: Ethernet lenta (@office = download: 1,52 Mbps / upload: 400,58 Mbps)
    • Versão do kernel após instalação: 5.11.0-16-generic
    • Versão do driver Ethernet após a instalação: 5.11.0-16-generic (driver incluído no kernel)
    • Versão do kernel após atualização: 5.11.0-18-generic
    • Versão do driver Ethernet após atualização: 5.11.0-18-generic (driver incluído no kernel)
    • Resultado após atualização: Ethernet lenta (@office = download: 2,22 Mbps / upload: 410,05 Mbps)
  • Windows 10 Professional (versão 21H1)

    • Resultado após instalação: Ethernet ok (@office = download: 850,12 Mbps / upload: 519,30 Mbps)

Então, como podemos ver depois de todos esses testes, já podemos excluir um problema de hardware (o problema está presente em 5 ou 6 laptops testados dos 20 laptops recebidos) e a largura de banda é perfeita no Ubuntu 18.04 quando os drivers Intel são instalados manualmente e no Windows.

A princípio acho que a solução seria conseguir instalar uma versão mais recente do driver "Intel e1000e", mas quando tento compilá-lo no Ubuntu instalado a partir do "Dell ISO", recebo estes erros (desculpe pela língua francesa) :

  • No kernel 5.6.0-1032-oem (da 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
    
  • No kernel 5.10.0-1029-oem (da 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
    

Depois de reinstalar o Ubuntu a partir do ISO oficial (não o da Dell) e desabilitar o SecureBoot, finalmente instalei com sucesso o novo driver Intel e1000e... mas... o problema ainda está aqui...

  • No kernel 5.8.0-43-generic (do ISO oficial do Ubuntu)

    • Resultado após atualização do driver 3.8.7: Ethernet lenta (@home = download: 0,16 Mbps / upload: 2,38 Mbps)
  • No kernel 5.8.0-55-generic (do ISO oficial do Ubuntu)

    • Resultado após atualização do driver 3.8.7: Ethernet lenta (@home = download: 1,00 Mbps / upload: 5,13 Mbps)

Confesso que estou completamente perdido... Você tem ideia de onde isso pode surgir?

Entretanto, aqui está o resultado da lshw -C networkencomenda, não hesite em perguntar-me os resultados de outras encomendas, irei publicá-los.

$ 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

Agradeço antecipadamente por sua ajuda ! :)

Yann

Atualizar

Aqui estão os resultados dos comandos nestat -ie netstat -s(na minha rede em casa):

$ 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:

Responder1

Finalmente, alguém que tem exatamente o mesmo problema. Eu registrei um bug no launchpad:e1000e extremamente lento.

Você pode comentar aí também? Ou marcar com +1 ou algo assim? A solução alternativa também está lá.

O truque é desabilitar aspmwith pcie_aspm=offcomo uma opção de kernel no /etc/default/grub, assim:

GRUB_CMDLINE_LINUX_DEFAULT="splash pcie_aspm=off"

Depois dessa execução:

update-grub

pcie_aspmé algum tipo de gerenciamento de energia que provavelmente coloca meu controlador de rede em suspensão ou algo assim, e colocar um cartão de memória USB no laptop de alguma forma o acorda.

Responder2

Experimente isso

sudo ethtool -C enp0s31f rx-usecs 6000

ethtool não é persistência, então você precisa executar novamente a cada reinicialização (ou criar um script de inicialização para isso).

informação relacionada