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.
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.lshw
a saída?Respostas:
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!
fonte
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
ethtool
no 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%.
fonte