Gigabitowy Ethernet Ethernet działający z prędkością 100 Mb / s

15

Kupiłem mały gigabitowy adapter Ethernet Ethernet, który działa dobrze OOTB w Raspberry Pi 3, ale tylko przy prędkości 100 Mb / s. Jak sprawić, by działał z pełną prędkością?

ettool:

# 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

Po pierwsze, zauważyłem, że 1000 jest rzeczywiście obsługiwane, ale nie reklamowane. Może dlatego, że powrót z USB 3 na USB 2 również spada do 100 Mb / s?

próbowałem

# ethtool -s eth1 speed 1000 duplex full

Ale bez powodzenia.

Marka adaptera to „rankie” (łatwe do znalezienia w Amazon).

Ponadto adapter jest podłączony do przełącznika gigabitowego. Mój NAS jest podłączony do tego przełącznika i działa bez problemów z prędkością 1000 Mb / s, więc wątpię, czy to jest problem.

Wreszcie, adapter Ethernet jest jedynym urządzeniem USB podłączonym do PI, więc nawet jeśli nie oczekuję pełnego 1000 Mb / s, spodziewałem się, że osiągnę prędkość USB2.0

Santiagozky
źródło
1
Z pewnością Pi3, podobnie jak wszystkie modele Pi, to USB2 (Ethernet zwisa z magistrali Pi USB)
joan
pewnie, nie oczekuję uzyskania pełnej prędkości Gigabit Ethernet, ale widziałem testy porównawcze pokazujące co najmniej 200 Mb / s na adapterach Ethernet USB. netbeez.net/blog/raspberry-pi-3-iperf
santiagozky
3
Upewnij się, że przełącznik, do którego się podłączasz, rozpoznaje adapter. Autonegocjacja może się nie powieść. Zrobiłem podobne testy (niestety bez przechowywania notatek) i przypomniałem sobie, że musiałem fizycznie odłączyć i ponownie podłączyć port po skonfigurowaniu szybkości portu za pomocą ethtool. Co ciekawe, nawet bez konfiguracji prędkości, użycie adapterów USB3 zwiększyło przepustowość RPi z ~ 94 Mb / s do ~ 113 Mb / s. Czytałem o ludziach zbliżających się do 300 Mbps przy użyciu odpowiednio skonfigurowanych adapterów USB3. Magistrala USB2 obsługuje znacznie wyższą przepustowość niż 100 Mb / s, choć nie otrzymasz 1 Gb / s.
bobstro
Pi 3 USB to 2.0, ale adapter Rankie jest reklamowany jako zgodny z wersją 3.0. Podejrzewam, że prędkość sieci jest obniżona po podłączeniu do portu 2.0.
BobT
3
Chcesz oświecić mnie na lshwtemat wyników?
Ghanima

Odpowiedzi:

29

Odpowiadając na moje pytanie, problem był prostszy niż myślałem.

Okazało się, że korzystałem z taniego kabla, który miałem w domu. Nie ma nawet zwykłych 8 przewodów, tylko 4 z nich, co sprawia, że ​​nie można go używać do połączeń Gigabit Ethernet (szybki Ethernet wymaga tylko 4 przewodów, podczas gdy Gigabit potrzebuje wszystkich 8).

Przełączyłem się na odpowiedni kabel Cat 5e i to rozwiązało problem. Teraz ethtool zgłasza 1000 Mb / s, a używając iperf uzyskuję ponad 300 Mb / s!

Santiagozky
źródło
Jeśli spojrzysz na konektor taniego kabla, czy ma on 4 lub 8 pinów podłączonych do kabla? Jeśli ma tylko 4, należy na nie zwrócić uwagę przy zakupie nowego kabla w przyszłości.
Ferrybig
Tak, ma tylko 4 przewody. Nigdy nie przyszło mi do głowy, że może brakować połowy przewodów. Nie sądzę, że kupiłem ten drut. Jestem pewien, że przyszedł z innym gadżetem, który kupiłem w pewnym momencie. W każdym razie następnym razem będę bardziej czujny!
santiagozky
Zredagowałem swoją odpowiedź, aby dodać więcej szczegółów
Santiagozky
Dlatego kable są oznaczone 5e itp.
Thorbjørn Ravn Andersen
2
@santiagozky Opisywany kabel jest technicznie CAT3. Upłynęło trochę czasu, zanim Gigbit Ethernet stał się wszechobecny, że kable telefoniczne zostały zakończone RJ-45, aby zastąpić je okablowaniem Ethernet, ponieważ domy były już okablowane liniami telefonicznymi. Czasami było to również wykorzystywane do dostarczania połączeń DSL bez instalowania nowego sprzętu. Twój CAT3 może pozostać ze starszego urządzenia 10/100, lub ze starego modemu DSL itp. Pamiętaj, że dwuparowe kable były również ulepszeniem starszych linii telefonicznych, ponieważ mogły obsługiwać dwie oddzielne linie telefoniczne (każda wymagała tylko jednej pary ).
niż do
8

Obsługa magistrali USB2 jest znacznie wyższa niż 100 Mb / s, więc powinieneś spodziewać się lepszych prędkości. Karty sieciowe USB2 pracują z szybkością 100 Mb / s (IME), ale kompatybilne z poprzednimi wersjami karty gigabitowe USB3 mogą wykorzystywać możliwości magistrali USB2 do osiągnięcia prędkości większej niż 100 Mb / s.

Podobne testy przeprowadziłem przy użyciu podwójnych adapterów USB na RPi 3B. Twój przełącznik sieciowy może nie rozpoznawać przełącznika prędkości wykonanego za pomocą ethtool. Spróbuj fizycznie odłączyć i ponownie podłączyć kabel, aby wymusić ponowną negocjację możliwości z przełącznikiem po zmianie prędkości portu na RPi. Jeśli to zadziała, musisz dowiedzieć się, jak wymusić przełącznik prędkości przy pierwszym połączeniu.

Niestety spieprzyłem podczas testowania i zaniedbałem modyfikowanie prędkości portów na RPi. Zamierzam powtórzyć testy po zmianie konfiguracji prędkości ethtoolw przyszłości. Jako punkt danych przeprowadziłem te same testy na Asus Tinkerboard, który zapewnia również tylko porty USB2 wraz z portem GBE. Dzięki adapterowi USB3 GBE podłączonemu do portu USB2 i łączącemu się z trzecim urządzeniem przez port GBE, byłem w stanie uzyskać przepustowość 308 Mbps w konfiguracji routowanej. Jeśli nic więcej, oznacza to, że magistrala USB2 może obsługiwać> 100 Mbps.

Nawet bez ręcznego ustawiania prędkości portu, moje prędkości transmisji przy użyciu 2 adapterów USB3 GBE w RPi 3B uległy poprawie z ~ 94 Mbps do ~ 113 Mbps, co stanowi wzrost o około 20%.

Bobstro
źródło
1
„Spróbuj fizycznie odłączyć i ponownie podłączyć kabel”. horror!! żartuję na bok. Znalazłem problem i źle się z tym czuję. Korzystałem z kabla Cat5. znalazłem 5e gdzieś w domu i dostałem 305 Mb / s (z iperf)!
santiagozky
Hah! Też mnie to trochę obchodziło, zapomniałem o tym. Nienawidzę tego, kiedy nie robię notatek na takie rzeczy.
bobstro
1
Istnieje różnica między osiągniętym pasmem a reklamowanym łączem. Teoretycznie można utworzyć urządzenie USB 1.1 z portem Ethernet 10 GBit, a łącze powinno zgłaszać jako 10 GBit, po prostu przesyłanie danych z tą prędkością nie będzie możliwe.
PlasmaHH
Tak, jest różnica, ale to nie znaczy, że nie możesz uzyskać więcej niż 100 Mbps przez RPi. Wyjaśniliśmy już, że magistrala USB2 nie będzie obsługiwać 1 Gb / s, ale że 300 Mb / s + jest realistyczne.
bobstro