Gigabit-USB-Ethernet mit 100 MBit / s

15

Ich habe einen kleinen Gigabit-Ethernet-USB-Adapter gekauft, der in einem Raspberry Pi 3 einwandfrei funktioniert, aber nur mit 100 MBit / s. Wie kann ich es mit voller Geschwindigkeit laufen lassen?

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

Als erstes ist mir aufgefallen, dass 1000 zwar unterstützt, aber nicht beworben wird. Vielleicht, weil der Fallback von USB 3 auf USB 2 ebenfalls auf 100 MBit / s zurückgeht?

Ich habe es versucht

# ethtool -s eth1 speed 1000 duplex full

Aber kein glück

Die Adaptermarke ist "rankie" (bei amazon leicht zu finden).

Außerdem ist der Adapter an einen Gigabit-Switch angeschlossen. Mein NAS ist an diesen Switch angeschlossen und läuft mit 1000 MBit / s ohne Probleme. Ich bezweifle, dass dies das Problem ist.

Schließlich ist der Ethernet-Adapter das einzige USB-Gerät, das an den PI angeschlossen ist. Selbst wenn ich keine vollen 1000 MBit / s erwarte, habe ich damit gerechnet, dass ich irgendwo die USB 2.0-Geschwindigkeit erreichen kann

santiagozky
quelle
1
Sicherlich ist der Pi3 wie alle Pi-Modelle USB2 (Ethernet hängt am Pi-USB-Bus)
joan
Natürlich erwarte ich nicht die volle Gigabit-Ethernet-Geschwindigkeit, aber ich habe Benchmarks gesehen, die mindestens 200 MBit / s auf USB-Ethernet-Adaptern anzeigen. netbeez.net/blog/raspberry-pi-3-iperf
santiagozky
3
Stellen Sie sicher, dass der Switch, mit dem Sie eine Verbindung herstellen, den Adapter erkennt. Die automatische Aushandlung schlägt möglicherweise fehl. Ich habe ähnliche Tests durchgeführt (leider ohne Notizen zu machen) und erinnere mich, dass ich den Port physisch trennen und wieder verbinden musste, nachdem ich die Portgeschwindigkeit mit konfiguriert hatte ethtool. Interessanterweise konnte der RPi-Durchsatz mithilfe von USB3-Adaptern von ~ 94 Mbit / s auf ~ 113 Mbit / s gesteigert werden, auch ohne dass die Geschwindigkeit konfiguriert werden musste. Ich habe von Leuten gelesen, die sich mit richtig konfigurierten USB3-Adaptern 300 Mbit / s nähern. Der USB2-Bus unterstützt einen weitaus höheren Durchsatz als 100 Mbit / s, obwohl Sie keine 1 Gbit / s erhalten.
Bobstro
Der Pi 3 USB ist 2.0, aber der Rankie-Adapter ist 3.0-kompatibel. Ich vermute, dass die Netzwerkgeschwindigkeit bei Anschluss an einen 2.0-Port herabgesetzt wird.
BobT
3
Möchtest du mich über lshwdie Ausgabe aufklären ?
Ghanima

Antworten:

29

Bei der Beantwortung meiner eigenen Frage war das Problem einfacher als ich dachte.

Es stellte sich heraus, dass ich ein billiges Kabel verwendete, das ich zu Hause herumgelegt hatte. Es hat nicht einmal die üblichen 8 Drähte, nur 4 von ihnen, was es unfähig macht, für Gigabit-Ethernet-Verbindungen verwendet zu werden (Fast Ethernet benötigt nur 4 Drähte, während Gigabit alle 8 benötigt).

Ich habe auf ein richtiges Cat 5e-Kabel umgestellt und das hat das Problem gelöst. Jetzt meldet ethtool 1000mbps und mit iperf bekomme ich über 300mbps!

santiagozky
quelle
Wenn Sie sich den Stecker des billigen Kabels ansehen, sind 4 oder 8 Pins mit dem Kabel verbunden? Wenn es nur 4 hat, ist es etwas, auf das Sie achten müssen, wenn Sie in Zukunft ein neues Kabel kaufen.
Ferrybig
Ja, es hat nur 4 Drähte. Mir ist nie in den Sinn gekommen, dass die Hälfte der Drähte fehlen könnte. Ich glaube nicht, dass ich diesen Draht gekauft habe. Ich bin mir ziemlich sicher, dass er mit einem anderen Gerät geliefert wurde, das ich irgendwann gekauft habe. Wie auch immer, ich werde das nächste Mal wachsamer sein!
Santiagozky
Ich habe meine Antwort bearbeitet, um weitere Details hinzuzufügen
santiagozky
Aus diesem Grund sind Kabel mit 5e usw. gekennzeichnet.
Thorbjørn Ravn Andersen
2
@santiagozky Das Kabel, das Sie beschreiben, ist technisch CAT3. Es dauerte eine Weile, bis Gigbit-Ethernet allgegenwärtig wurde, dass Telefonkabel mit einem RJ-45-Kabel als Ersatz für die Ethernet-Verkabelung terminiert wurden, da Häuser bereits mit Telefonleitungen verkabelt waren. Dies wurde auch manchmal verwendet, um DSL-Verbindungen ohne Installation neuer Hardware bereitzustellen. Ihr CAT3 kann von einem älteren 10/100-Gerät oder von einem alten DSL-Modem stammen. Beachten Sie, dass zwei Kabelpaare auch ein Upgrade von alten Telefonleitungen darstellen, da sie zwei separate Telefonleitungen unterstützen können (für die jeweils nur ein Paar erforderlich ist) ).
Dann bis zum
8

Die USB2-Bus-Unterstützungsgeschwindigkeiten liegen weit über 100 Mbit / s, sodass Sie in der Tat mit besseren Geschwindigkeiten rechnen müssen. USB2-Netzwerkadapter erreichen eine maximale Übertragungsgeschwindigkeit von 100 Mbit / s (IME). Abwärtskompatible USB3-Gigabit-Adapter können jedoch die Funktionen des USB2-Busses nutzen, um eine Übertragungsgeschwindigkeit von mehr als 100 Mbit / s zu erreichen.

Ich habe ähnliche Tests mit zwei USB-Adaptern auf einem RPi 3B durchgeführt. Möglicherweise erkennt Ihr Netzwerk-Switch den mit vorgenommenen Geschwindigkeitswechsel nicht ethtool. Versuchen Sie, das Kabel physisch zu trennen und wieder anzuschließen, um eine erneute Aushandlung der Funktion mit dem Switch zu erzwingen, nachdem Sie die Portgeschwindigkeit am RPi geändert haben. Wenn das funktioniert, müssen Sie herausfinden, wie Sie den Geschwindigkeitsschalter beim erstmaligen Verbinden zwingen.

Leider habe ich es beim Testen vermasselt und es versäumt, die Port-Geschwindigkeiten auf dem RPi zu ändern. Ich beabsichtige, das Testen zu wiederholen, nachdem ich die Geschwindigkeit ethtoolin Zukunft mit neu konfiguriert habe . Als Datenpunkt habe ich den gleichen Test auf einem Asus Tinkerboard durchgeführt, das neben einem GBE-Port auch nur USB2-Ports bietet. Mit einem USB3-GBE-Adapter, der an den USB2-Port angeschlossen und über den GBE-Port mit einem dritten Gerät verbunden wurde, konnte ich in einer gerouteten Konfiguration einen Durchsatz von 308 Mbit / s erzielen. Dies zeigt nicht zuletzt, dass der USB2-Bus> 100 Mbit / s unterstützen kann.

Auch ohne die Portgeschwindigkeit manuell einzustellen, verbesserte sich meine Durchsatzgeschwindigkeit mit 2 USB3-GBE-Adaptern auf einem RPi 3B von ~ 94 Mbit / s auf ~ 113 Mbit / s, was einer Steigerung von ca. 20% entspricht.

Bobstro
quelle
1
Msgstr "Versuchen Sie, das Kabel physisch zu trennen und wieder anzuschließen". der Horror!! scherz beiseite. Fand das Problem und fühle mich schlecht dabei. Ich habe ein Cat5-Kabel verwendet. irgendwo zu hause eine 5e gefunden und 305 mbits / sec bekommen (mit iperf)!
Santiagozky
Hah! Das habe ich auch mitbekommen, vergessen. Ich hasse es, wenn ich mir über solche Dinge keine Notizen mache.
Bobstro
1
Es besteht ein Unterschied zwischen der erreichten Bandbreite und dem beworbenen Link. Theoretisch könnten Sie ein USB 1.1-Gerät mit einem 10-GBit-Ethernet-Anschluss erstellen und die Verbindung sollte 10 GBit anzeigen. Eine Übertragung von Daten mit dieser Geschwindigkeit ist nicht möglich.
PlasmaHH
Ja, es gibt einen Unterschied, aber das bedeutet nicht, dass Sie über ein RPi nicht mehr als 100 Mbit / s erreichen können. Wir haben bereits klargestellt, dass der USB2-Bus 1 Gbit / s nicht unterstützt, 300 Mbit / s + jedoch realistisch sind.
Bobstro