Ethernet Gigabit USB rodando a 100mb / s

15

Comprei um pequeno adaptador USB Ethernet Gigabit, que funciona perfeitamente em OOTB em um Raspberry Pi 3, mas apenas a 100mbits / s. Como posso fazê-lo funcionar a toda velocidade?

ethtool:

# ethtool eth1
Settings for eth1:
Supported ports: [ TP MII ]
Supported link modes:   10baseT/Half 10baseT/Full
                        100baseT/Half 100baseT/Full
                        1000baseT/Half 1000baseT/Full
Supported pause frame use: No
Supports auto-negotiation: Yes
Advertised link modes:  10baseT/Half 10baseT/Full
                        100baseT/Half 100baseT/Full
Advertised pause frame use: Symmetric Receive-only
Advertised auto-negotiation: Yes
Link partner advertised link modes:  10baseT/Half 10baseT/Full
                                     100baseT/Half 100baseT/Full
Link partner advertised pause frame use: Symmetric
Link partner advertised auto-negotiation: Yes
Speed: 100Mb/s
Duplex: Full
Port: MII
PHYAD: 32
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: pumbg
Wake-on: g
Current message level: 0x00007fff (32767)
               drv probe link timer ifdown ifup rx_err tx_err tx_queued intr tx_done rx_status pktdata hw wol
Link detected: yes

lshw:

*-network:2
   description: Ethernet interface
   physical id: 4
   logical name: eth1
   serial: 💩💩💩💩
   size: 100Mbit/s
   capacity: 1Gbit/s
   capabilities: ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
   configuration: autonegotiation=on broadcast=yes driver=r8152 driverversion=v1.08.8 duplex=full ip=192.168.1.5 link=yes multicast=yes port=MII speed=100Mbit/s

lsmod

Module                  Size  Used by
rpcsec_gss_krb5        23752  0
brcmfmac              222874  0
brcmutil                9092  1 brcmfmac
cfg80211              543027  1 brcmfmac
cdc_ether               6354  0
rfkill                 20851  1 cfg80211
r8152                  37460  0
bcm2835_gpiomem         3940  0
uio_pdrv_genirq         3923  0
uio                    10204  1 uio_pdrv_genirq
fixed                   3285  0
snd_bcm2835            24427  0
snd_pcm                98501  1 snd_bcm2835
snd_timer              23968  1 snd_pcm
snd                    70032  3 snd_timer,snd_bcm2835,snd_pcm
joydev                  9988  0
uinput                  9125  0
ipv6                  408971  32

Primeiro, acho que notei que o 1000 é realmente suportado, mas não anunciado. Talvez porque o fallback de USB 3 para USB 2 também volte a 100mbits / s?

eu tentei

# ethtool -s eth1 speed 1000 duplex full

Mas sem sorte.

A marca do adaptador é "rankie" (fácil de encontrar na amazon).

Além disso, o adaptador está conectado a um comutador de gigabit. Meu NAS está conectado a esse comutador e está funcionando a 1000mbits / s sem problemas, por isso duvido que seja esse o problema.

Por fim, o adaptador Ethernet é o único dispositivo USB conectado ao PI, portanto, mesmo que eu não espere 1000mbps completos, esperava chegar à velocidade do USB 2.0.

santiagozky
fonte
1
Certamente o Pi3 como todos os modelos Pi é USB2 (Ethernet trava fora do barramento USB Pi)
Joan
com certeza, não espero obter a velocidade total da Ethernet de gigabit, mas vi benchmarks mostrando pelo menos 200mbps em adaptadores USB Ethernet. netbeez.net/blog/raspberry-pi-3-iperf
santiagozky
3
Verifique se o switch ao qual você está se conectando está reconhecendo o adaptador. A negociação automática pode estar falhando. Fiz testes semelhantes (infelizmente sem fazer anotações) e lembro que tive que desconectar e reconectar fisicamente a porta depois de configurar a velocidade da porta ethtool. Curiosamente, mesmo sem configurar a velocidade, o uso de adaptadores USB3 aumentou a taxa de transferência RPi de ~ 94 Mbps para ~ 113 Mbps. Já li pessoas chegando perto de 300 Mbps usando adaptadores USB3 configurados corretamente. O barramento USB2 suporta uma taxa de transferência muito superior a 100 Mbps, embora você não obtenha 1Gbps.
bobstro
O Pi 3 USB é 2.0, mas o adaptador Rankie é anunciado como compatível com 3.0. Eu suspeito que a velocidade da rede é reduzida quando conectada a uma porta 2.0.
BobT
3
Gostaria de me esclarecer sobre lshwa saída?
Ghanima

Respostas:

29

Respondendo à minha própria pergunta, o problema era mais simples do que eu pensava.

Acontece que eu estava usando um cabo barato que tinha em casa. Ele nem possui os 8 fios usuais, apenas 4 deles, o que torna incapaz de ser usado para conexões Gigabit Ethernet (a Ethernet rápida precisa de apenas 4 fios enquanto a Gigabit precisa dos 8).

Mudei para um cabo Cat 5e adequado e isso resolveu o problema. Agora, o ethtool reporta 1000mbps e, usando o iperf, recebo mais de 300mbps!

santiagozky
fonte
Se você olhar para o conector do cabo barato, ele tem 4 ou 8 pinos conectados ao cabo? Se ele tiver apenas 4, é algo a se observar ao comprar um novo cabo no futuro.
precisa saber é o seguinte
Sim, ele possui apenas 4 fios. Nunca me ocorre que possa faltar metade dos fios. Acho que não comprei esse fio, tenho certeza de que ele veio com outro gadget que comprei em algum momento. De qualquer forma, estarei mais vigilante da próxima vez!
Santiagozky
Eu editei minha resposta para adicionar mais detalhes
santiagozky
É por isso que os cabos são marcados com 5e etc.
Thorbjørn Ravn Andersen
2
@santiagozky O cabo que você está descrevendo é tecnicamente CAT3. Houve um período de tempo antes que a Gigbit Ethernet se tornasse onipresente, pois os cabos telefônicos eram terminados com um RJ-45 para substituir o cabeamento Ethernet, uma vez que as casas já estavam conectadas com linhas telefônicas. Às vezes, isso também era usado para fornecer conexões DSL sem instalar novo hardware. Seu CAT3 pode ser restante de um dispositivo 10/100 mais antigo ou de um modem DSL antigo, etc. Observe que os cabos de dois pares também eram uma atualização das linhas telefônicas antigas, porque podiam suportar duas linhas telefônicas separadas (cada uma exigia apenas um par )
thanby
8

O suporte ao barramento USB2 tem velocidades muito superiores a 100 Mbps, portanto, você deve esperar ver velocidades melhores. Os adaptadores de rede USB2 alcançam 100 Mbps (IME), mas os adaptadores de gigabit USB3 compatíveis com versões anteriores podem usar os recursos do barramento USB2 para atingir mais de 100 Mbps.

Fiz testes semelhantes usando adaptadores USB duplos em um RPi 3B. O seu comutador de rede pode não estar reconhecendo o comutador de velocidade feito com ethtool. Tente desconectar e reconectar fisicamente o cabo para forçar uma renegociação de capacidade com o switch depois de alterar a velocidade da porta no RPi. Se isso funcionar, você precisa descobrir como forçar o interruptor de velocidade na conexão inicial.

Infelizmente, eu estraguei tudo durante o teste e esqueci de modificar as velocidades da porta no RPi. Pretendo repetir o teste após reconfigurar as velocidades usando ethtoolno futuro. Como ponto de dados, fiz o mesmo teste em um Asus Tinkerboard que também fornece apenas portas USB2 ao lado de uma porta GBE. Com um adaptador USB3 GBE conectado à porta USB2 e conectado a um terceiro dispositivo pela porta GBE, consegui obter uma taxa de transferência de 308 Mbps em uma configuração roteada. Se nada mais, isso mostra que o barramento USB2 pode suportar> 100 Mbps.

Mesmo sem definir a velocidade da porta manualmente, minhas velocidades de transferência usando 2 adaptadores USB3 GBE em um RPi 3B melhoraram de ~ 94 Mbps para ~ 113 Mbps, um ganho de aproximadamente 20%.

bobstro
fonte
1
"Tente desconectar e reconectar fisicamente o cabo". o horror!! brincando de lado. Encontrei o problema e me sinto mal com isso. Eu estava usando um cabo Cat5. encontrei um 5e em algum lugar de casa e recebi 305 Mbits / s (com iperf)!
santiagozky
Hah! Eu também fui mordido por isso, esqueci. Eu odeio quando não tomo notas sobre coisas assim.
bobstro
1
Há uma diferença entre a largura de banda alcançada e o link anunciado. Em teoria, você pode criar um dispositivo USB 1.1 com uma porta Ethernet de 10 GBit e o link deve reportar como 10 GBit, apenas a transferência de dados nessa velocidade não será possível.
PlasmaHH
Sim, há uma diferença, mas isso não significa que você não pode obter mais de 100 Mbps através de um RPi. Já esclarecemos que o barramento USB2 não suporta 1 Gbps, mas que 300 Mbps + é realista.
bobstro