Gigabit USB Ethernet fonctionnant à 100 Mo / s

15

J'ai acheté un petit adaptateur USB Gigabit Ethernet, qui fonctionne bien OOTB dans un Raspberry Pi 3, mais seulement à 100 Mbits / s. Comment puis-je le faire fonctionner à pleine vitesse?

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

Tout d'abord, je pense que j'ai remarqué que 1000 est effectivement pris en charge, mais pas annoncé. Peut-être parce que le repli de l'USB 3 vers l'USB 2 retombe également à 100 Mbits / s?

j'ai essayé

# ethtool -s eth1 speed 1000 duplex full

Mais pas de chance.

La marque de l'adaptateur est "Rankie" (facile à trouver sur Amazon).

De plus, l'adaptateur est connecté à un commutateur gigabit. Mon NAS est connecté à ce commutateur et fonctionne à 1000 Mbits / s sans problème, donc je doute que ce soit le problème.

Enfin, l'adaptateur Ethernet est le seul périphérique USB connecté au PI, donc même si je ne m'attends pas à 1000 Mbps, je m'attendais à atteindre la vitesse USB2.0

santiagozky
la source
1
Certes, le Pi3 comme tous les modèles Pi est USB2 (Ethernet se bloque sur le bus USB Pi)
joan
bien sûr, je ne m'attends pas à obtenir la pleine vitesse Ethernet gigabit, mais j'ai vu des repères montrant au moins 200 Mbps sur des adaptateurs Ethernet USB. netbeez.net/blog/raspberry-pi-3-iperf
santiagozky
3
Assurez-vous que le commutateur auquel vous vous connectez reconnaît l'adaptateur. La négociation automatique peut échouer. J'ai fait des tests similaires (malheureusement sans prendre de notes) et je me souviens que je devais physiquement déconnecter et reconnecter le port après avoir configuré la vitesse du port à l'aide ethtool. Fait intéressant, même sans configurer la vitesse, l'utilisation d'adaptateurs USB3 a augmenté le débit RPi de ~ 94 Mbps à ~ 113 Mbps. J'ai lu que des personnes obtenaient près de 300 Mbps en utilisant des adaptateurs USB3 correctement configurés. Le bus USB2 prend en charge un débit beaucoup plus élevé que 100 Mbps, bien que vous n'obtiendrez pas 1 Gbps.
bobstro
Le Pi 3 USB est 2.0 mais l'adaptateur Rankie est annoncé comme étant compatible 3.0. Je soupçonne que la vitesse du réseau est rétrogradée lorsqu'elle est connectée à un port 2.0.
BobT
3
Vous voulez m'éclairer sur lshwla sortie de?
Ghanima

Réponses:

29

Répondant à ma propre question, le problème était plus simple que je ne le pensais.

Il s'avère que j'utilisais un câble bon marché que j'avais à la maison. Il n'a même pas les 8 fils habituels, seulement 4 d'entre eux, ce qui le rend incapable d'être utilisé pour les connexions Gigabit Ethernet (l'Ethernet rapide n'a besoin que de 4 fils tandis que le Gigabit a besoin des 8).

Je suis passé à un câble Cat 5e approprié et cela a résolu le problème. Ethtool rapporte maintenant 1000mbps et en utilisant iperf, j'obtiens plus de 300mbps!

santiagozky
la source
Si vous regardez le connecteur du câble bon marché, est-ce qu'il a 4 ou 8 broches connectées au câble? S'il n'en a que 4, c'est quelque chose à surveiller lors de l'achat d'un nouveau câble à l'avenir.
Ferrybig
Oui, il ne contient que 4 fils. Il ne m'est jamais venu à l'esprit qu'il pourrait manquer de la moitié des fils. Je ne pense pas avoir acheté ce fil, je suis presque sûr qu'il est venu avec un autre gadget que j'ai acheté à un moment donné. Quoi qu'il en soit, je serai plus vigilant la prochaine fois!
santiagozky du
J'ai modifié ma réponse pour ajouter plus de détails
santiagozky
C'est pourquoi les câbles sont marqués avec 5e etc.
Thorbjørn Ravn Andersen
2
@santiagozky Le câble que vous décrivez est techniquement CAT3. Il a fallu un certain temps avant que Gigbit Ethernet ne devienne omniprésent pour que les câbles téléphoniques soient terminés par un RJ-45 pour remplacer le câblage Ethernet, car les maisons étaient déjà câblées avec des lignes téléphoniques. Cela a également été parfois utilisé pour fournir des connexions DSL sans installer de nouveau matériel. Votre CAT3 peut provenir d'un ancien appareil 10/100, ou d'un ancien modem DSL, etc. Notez que les câbles à deux paires étaient également une mise à niveau des anciennes lignes téléphoniques car ils pouvaient prendre en charge deux lignes téléphoniques distinctes (chacune n'avait besoin que d'une paire ).
merci le
8

Le bus USB2 prend en charge des vitesses bien supérieures à 100 Mbps, vous devez donc vous attendre à de meilleures vitesses. Les adaptateurs réseau USB2 plafonnent à 100 Mbps (IME), mais les adaptateurs Gigabit USB3 rétrocompatibles peuvent utiliser les capacités du bus USB2 pour atteindre des débits supérieurs à 100 Mbps.

J'ai fait des tests similaires en utilisant deux adaptateurs USB sur un RPi 3B. Votre commutateur réseau ne reconnaît peut-être pas le commutateur de vitesse effectué avec ethtool. Essayez de déconnecter et de reconnecter physiquement le câble pour forcer une renégociation des capacités avec le commutateur après avoir modifié la vitesse du port sur le RPi. Si cela fonctionne, vous devez comprendre comment forcer le commutateur de vitesse lors de la connexion initiale.

Malheureusement, j'ai foiré lors des tests et négligé de modifier les vitesses de port sur le RPi. J'ai l'intention de répéter les tests après avoir reconfiguré les vitesses en utilisantethtool à l'avenir. En tant que point de données, j'ai fait les mêmes tests sur un Asus Tinkerboard qui ne fournit également que des ports USB2 aux côtés d'un port GBE. Avec un adaptateur USB3 GBE branché sur le port USB2 et se connectant à un 3ème appareil via le port GBE, j'ai pu obtenir un débit de 308 Mbps dans une configuration routée. Si rien d'autre, cela montre que le bus USB2 peut prendre en charge> 100 Mbps.

Même sans régler manuellement la vitesse du port, mes vitesses de débit à l'aide de 2 adaptateurs USB3 GBE sur un RPi 3B sont passées de ~ 94 Mbps à ~ 113 Mbps, soit un gain d'environ 20%.

bobstro
la source
1
"Essayez de déconnecter et de reconnecter physiquement le câble". l'horreur!! je plaisante. J'ai trouvé le problème et je me sens mal. J'utilisais un câble Cat5. trouvé un 5e quelque part à la maison et a obtenu 305 Mbits / sec (avec iperf)!
santiagozky
Hah! Je me suis mordu aussi, j'ai oublié ça. Je déteste quand je ne prends pas de notes sur des choses comme ça.
bobstro
1
Il existe une différence entre la bande passante obtenue et le lien annoncé. En théorie, vous pourriez créer un périphérique USB 1.1 avec un port Ethernet de 10 Go et le lien devrait indiquer 10 Go, le transfert de données à cette vitesse ne sera pas possible.
PlasmaHH
Oui, il y a une différence, mais cela ne signifie pas que vous ne pouvez pas obtenir plus de 100 Mbps via un RPi. Nous avons déjà précisé que le bus USB2 ne supportera pas 1 Gbps mais que 300 Mbps + est réaliste.
bobstro