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 network
encomenda, 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 -i
e 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 aspm
with pcie_aspm=off
como 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).