Я купил небольшой гигабитный сетевой USB-адаптер, который отлично работает OOTB в Raspberry Pi 3, но только на скорости 100 Мбит / с. Как я могу заставить его работать на полной скорости?
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
Первое, что я заметил, это то, что 1000 действительно поддерживается, но не рекламируется. Может быть, потому что откат от USB 3 до USB 2 также возвращается к 100 Мбит / с?
Я старался
# ethtool -s eth1 speed 1000 duplex full
Но не повезло.
Марка адаптера - "Rankie" (ее легко найти на Amazon).
Также адаптер подключен к гигабитному коммутатору. Мой NAS подключен к этому коммутатору и работает со скоростью 1000 Мбит / с без проблем, поэтому я сомневаюсь, что это проблема.
Наконец, Ethernet-адаптер является единственным USB-устройством, подключенным к PI, поэтому даже если я не ожидаю полной скорости 1000 Мбит / с, я ожидал получить где-то скорость USB2.0
ethtool
. Интересно, что даже без настройки скорости использование адаптеров USB3 увеличило пропускную способность RPi с ~ 94 Мбит / с до ~ 113 Мбит / с. Я читал о людях, которые приближаются к 300 Мбит / с, используя правильно настроенные адаптеры USB3. Шина USB2 поддерживает намного более высокую пропускную способность, чем 100 Мбит / с, хотя вы не получите 1 Гбит / с.lshw
выходным?Ответы:
Отвечая на мой собственный вопрос, проблема оказалась проще, чем я думал.
Оказывается, я использовал дешевый кабель, который лежал дома. Он даже не имеет обычных 8 проводов, только 4 из них, что делает его неспособным к использованию для соединений Gigabit Ethernet (для Fast Ethernet требуется только 4 провода, а для Gigabit - все 8).
Я переключился на правильный кабель Cat 5e, и это решило проблему. Теперь ethtool сообщает 1000 Мбит / с, и с помощью iperf я получаю более 300 Мбит / с!
источник
Скорость шины USB2 намного выше, чем 100 Мбит / с, так что вы действительно должны ожидать лучших скоростей. Сетевые адаптеры USB2 работают со скоростью 100 Мбит / с (IME), но обратно совместимые гигабитные адаптеры USB3 могут использовать возможности шины USB2 для достижения скорости выше 100 Мбит / с.
Я провел аналогичное тестирование с использованием двух USB-адаптеров на RPi 3B. Ваш сетевой коммутатор может не распознавать переключатель скорости, выполненный с помощью
ethtool
. Попробуйте физически отключить и снова подключить кабель, чтобы принудительно возобновить согласование с коммутатором после изменения скорости порта на RPi. Если это работает, вам нужно выяснить, как принудительно включить переключатель скорости при первоначальном подключении.К сожалению, я облажался при тестировании и не смог изменить скорость портов на RPi. Я намерен повторить тестирование после перенастройки скоростей
ethtool
в будущем. В качестве точки данных я провел такое же тестирование на Asus Tinkerboard, который также предоставляет порты USB2 вместе с портом GBE. С адаптером USB3 GBE, подключенным к порту USB2 и подключенным к третьему устройству через порт GBE, я смог получить пропускную способность 308 Мбит / с в маршрутизируемой конфигурации. Если ничего другого, это показывает, что шина USB2 может поддерживать> 100 Мбит / с.Даже если не устанавливать скорость порта вручную, моя пропускная способность с использованием двух адаптеров USB3 GBE на RPi 3B улучшилась с ~ 94 Мбит / с до ~ 113 Мбит / с, что составляет примерно 20% прироста.
источник