Compré un pequeño adaptador USB de gigabit ethernet, que funciona bien OOTB en una Raspberry Pi 3, pero solo a 100mbits / s. ¿Cómo puedo hacer que funcione a toda velocidad?
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
Lo primero que creo que noté es que 1000 es compatible, pero no se anuncia. ¿Quizás porque el retroceso de USB 3 a USB 2 vuelve a caer a 100mbits / s también?
Lo intenté
# ethtool -s eth1 speed 1000 duplex full
Pero sin suerte.
La marca del adaptador es "Rankie" (fácil de encontrar en Amazon).
Además, el adaptador está conectado a un conmutador gigabit. Mi NAS está conectado a ese conmutador y funciona a 1000 Mbits / s sin problemas, por lo que dudo que ese sea el problema.
Finalmente, el adaptador Ethernet es el único dispositivo USB conectado al PI, por lo que incluso si no espero 1000 Mbps completos, esperaba llegar a algún lugar con la velocidad USB2.0
ethtool
. Curiosamente, incluso sin configurar la velocidad, el uso de adaptadores USB3 aumentó el rendimiento de RPi de ~ 94 Mbps a ~ 113 Mbps. He leído que las personas se acercan a 300 Mbps utilizando adaptadores USB3 configurados correctamente. El bus USB2 admite un rendimiento mucho mayor que 100 Mbps, aunque no obtendrá 1 Gbps.lshw
la salida?Respuestas:
Respondiendo a mi propia pregunta, el problema fue más simple de lo que pensaba.
Resulta que estaba usando un cable barato que tenía en casa. Ni siquiera tiene los 8 cables habituales, solo 4 de ellos, lo que lo hace incapaz de usarse para conexiones Gigabit Ethernet (Fast ethernet necesita solo 4 cables, mientras que Gigabit necesita los 8).
Cambié a un cable Cat 5e adecuado y eso resolvió el problema. ¡Ahora ethtool informa 1000mbps y usando iperf obtengo más de 300mbps!
fuente
El bus USB2 admite velocidades mucho más altas que 100 Mbps, por lo que debería esperar ver mejores velocidades. Los adaptadores de red USB2 tienen un límite de 100 Mbps (IME), pero los adaptadores USB3 gigabit compatibles con versiones anteriores pueden usar las capacidades del bus USB2 para alcanzar más de 100 Mbps.
Hice pruebas similares usando adaptadores USB duales en un RPi 3B. Es posible que su conmutador de red no reconozca el conmutador de velocidad realizado con
ethtool
. Intente desconectar y volver a conectar físicamente el cable para forzar una renegociación de capacidad con el conmutador después de cambiar la velocidad del puerto en el RPi. Si eso funciona, debe descubrir cómo forzar el interruptor de velocidad en la conexión inicial.Desafortunadamente, me equivoqué al probar y no modifiqué las velocidades de puerto en el RPi. Tengo la intención de repetir las pruebas después de reconfigurar las velocidades usando
ethtool
en el futuro. Como punto de datos, hice las mismas pruebas en un Asus Tinkerboard que también solo proporciona puertos USB2 junto con un puerto GBE. Con un adaptador USB3 GBE conectado al puerto USB2 y conectado a un tercer dispositivo a través del puerto GBE, pude obtener un rendimiento de 308 Mbps en una configuración enrutada. Por lo menos, esto muestra que el bus USB2 puede soportar> 100 Mbps.Incluso sin configurar la velocidad del puerto manualmente, mis velocidades de rendimiento con 2 adaptadores USB3 GBE en un RPi 3B mejoraron de ~ 94 Mbps a ~ 113 Mbps, una ganancia de aproximadamente el 20%.
fuente