Ethernet Gigabit USB funzionante a 100mb / s


15

Ho comprato un piccolo adattatore USB Ethernet Gigabit, che funziona bene OOTB in un Raspberry Pi 3, ma solo a 100 MB / s. Come posso farlo funzionare a tutta velocità?

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

La prima cosa che ho notato è che 1000 è effettivamente supportato, ma non pubblicizzato. Forse perché il fallback da USB 3 a USB 2 ricade anche a 100 MBit / s?

Provai

# ethtool -s eth1 speed 1000 duplex full

Ma niente fortuna.

Il marchio dell'adattatore è "rankie" (facile da trovare su Amazon).

Inoltre, l'adattatore è collegato a uno switch gigabit. Il mio NAS è collegato a quello switch e funziona senza problemi a 1000mbits / s, quindi dubito che sia questo il problema.

Infine, l'adattatore Ethernet è l'unico dispositivo USB collegato al PI, quindi anche se non mi aspetto un pieno di 1000 Mbps, mi aspettavo di arrivare da qualche parte alla velocità USB 2.0


1
Sicuramente il Pi3 come tutti i modelli Pi è USB2 (Ethernet si blocca sul bus Pi USB)
joan

certo, non mi aspetto di ottenere la massima velocità Gigabit Ethernet, ma ho visto benchmark che mostrano almeno 200 Mbps su adattatori Ethernet USB. netbeez.net/blog/raspberry-pi-3-iperf
santiagozky

3
Assicurarsi che l'interruttore a cui ci si sta connettendo riconosca l'adattatore. La negoziazione automatica potrebbe non riuscire. Ho fatto test simili (purtroppo senza tenere appunti) e ricordo che dovevo disconnettere fisicamente e riconnettere la porta dopo aver configurato la velocità della porta usando ethtool. È interessante notare che, anche senza configurare la velocità, l'uso di adattatori USB3 ha aumentato la velocità di trasmissione RPi da ~ 94 Mbps a ~ 113 Mbps. Ho letto di persone che si avvicinano a 300 Mbps usando adattatori USB3 correttamente configurati. Il bus USB2 supporta un throughput di gran lunga superiore a 100 Mbps, anche se non otterrai 1 Gbps.
bobstro,

Pi 3 USB è 2.0 ma l'adattatore Rankie è pubblicizzato come compatibile 3.0. Sospetto che la velocità della rete sia ridotta quando è collegata a una porta 2.0.
BobT

3
lshwVuoi illuminarmi sull'output?
Ghanima

Risposte:


29

Rispondendo alla mia domanda, il problema era più semplice di quanto pensassi.

Ho scoperto che stavo usando un cavo economico che avevo in giro a casa. Non ha nemmeno i soliti 8 fili, solo 4 di essi, il che lo rende incapace di essere utilizzato per le connessioni Gigabit Ethernet (Fast Ethernet richiede solo 4 fili mentre Gigabit ha bisogno di tutti e 8).

Sono passato a un cavo Cat 5e appropriato e questo ha risolto il problema. Ora ethtool riporta 1000 Mbps e usando iperf ottengo oltre 300 Mbps!


Se guardi il connettore del cavo economico, ha 4 o 8 pin collegati al cavo? Se ne ha solo 4, è qualcosa a cui prestare attenzione quando si acquista un nuovo cavo in futuro.
Ferrybig,

Sì, contiene solo 4 fili. Non mi viene mai in mente che potrebbe mancare metà dei fili. Non credo di aver comprato quel filo, sono abbastanza sicuro che sia arrivato con qualche altro gadget che ho comprato ad un certo punto. Comunque, la prossima volta sarò più vigile!
santiagozky,

Ho modificato la mia risposta per aggiungere ulteriori dettagli
santiagozky,

Ecco perché i cavi sono contrassegnati con 5e ecc.
Thorbjørn Ravn Andersen,

2
@santiagozky Il cavo che stai descrivendo è tecnicamente CAT3. C'è stato un periodo di tempo prima che Gigbit Ethernet diventasse onnipresente che i cavi telefonici fossero terminati con un RJ-45 per sostituire il cablaggio Ethernet, poiché le case erano già cablate con linee telefoniche. Questo veniva talvolta utilizzato anche per fornire connessioni DSL senza installare nuovo hardware. Il tuo CAT3 potrebbe essere rimasto da un vecchio dispositivo 10/100, o da un vecchio modem DSL, ecc. Nota che i cavi a due coppie erano anche un aggiornamento dalle vecchie linee telefoniche perché potevano supportare due linee telefoniche separate (ognuna richiedeva solo una coppia ).
grazie al

8

Il supporto del bus USB2 ha velocità molto superiori a 100 Mbps, quindi dovresti aspettarti di vedere velocità migliori. Gli adattatori di rete USB2 superano i 100 Mbps (IME), ma gli adattatori gigabit USB3 compatibili con le versioni precedenti possono utilizzare le funzionalità del bus USB2 per raggiungere valori superiori a 100 Mbps.

Ho fatto test simili usando due adattatori USB su un RPi 3B. Lo switch di rete potrebbe non riconoscere l'interruttore di velocità realizzato conethtool . Prova a scollegare e ricollegare fisicamente il cavo per forzare una rinegoziazione della funzionalità con lo switch dopo aver modificato la velocità della porta sull'RPi. Se funziona, devi capire come forzare l'interruttore di velocità sulla connessione iniziale.

Sfortunatamente, ho fatto un casino durante il test e ho trascurato di modificare la velocità delle porte su RPi. Intendo ripetere i test dopo aver riconfigurato le velocità conethtool in futuro. Come punto dati, ho fatto gli stessi test su un Asus Tinkerboard che fornisce anche solo porte USB2 insieme a una porta GBE. Con un adattatore GBE USB3 collegato alla porta USB2 e il collegamento a un terzo dispositivo tramite la porta GBE, sono stato in grado di ottenere un throughput di 308 Mbps in una configurazione indirizzata. Se non altro, questo dimostra che il bus USB2 può supportare> 100 Mbps.

Anche senza impostare manualmente la velocità della porta, la velocità del mio throughput utilizzando 2 adattatori USB3 GBE su un RPi 3B è migliorata da ~ 94 Mbps a ~ 113 Mbps, con un guadagno di circa il 20%.


1
"Prova a scollegare e ricollegare fisicamente il cavo". l'orrore!! scherzando da parte. Ho trovato il problema e mi sento male. Stavo usando un cavo Cat5. trovato un 5e da qualche parte a casa e ottenuto 305 Mbits / sec (con iperf)!
santiagozky,

Hah! Anche io me ne sono pentito, me ne sono dimenticato. Lo odio quando non prendo appunti su cose come questa.
Bobstro,

1
C'è una differenza tra la larghezza di banda raggiunta e il collegamento pubblicizzato. In teoria potresti creare un dispositivo USB 1.1 con una porta ethernet da 10 GB e il collegamento dovrebbe riportare come 10 GBit, non sarà possibile trasferire i dati a quella velocità.
PlasmaHH,

Sì, c'è una differenza, ma ciò non significa che non puoi ottenere più di 100 Mbps attraverso un RPi. Abbiamo già chiarito che il bus USB2 non supporterà 1 Gbps ma che 300 Mbps + è realistico.
bobstro,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.