Обзор Ethernet-адаптера с USB 3.0 на 2,5 Гбит/с

В конце прошлого месяца мы получили оборудование для тестирования 2.5GbE и WiFi 6, а именно SBC Radxa E25, маршрутизатор Xiaomi AX6000 WiFi 6 и 8-портовый коммутатор TP-Link 2.5GbE. Мы намеревались начать тестирование сети 2.5GbE с мини-ПК UP Xtreme i11 и Radxa E25, но подумали, что было бы неплохо на всякий случай приобрести Ethernet-адаптер USB 3.0 на 2,5 Гбит/с.

Мы приобрели ключ менее чем за 15 долларов ( 475 бат на Lazada ) в Таиланде, но ключ USB 3.0, который выглядит точно так же, также можно купить на Aliexpress с портом USB Type-A или USB Type-C. Есть некоторая проблема с Radxa E25 (он не загружается), поэтому мы протестировали ключ с мини-ПК UP Xtreme i11.

Распаковка Ethernet-адаптера USB 3.0 на 2,5 Гбит/с

На упаковке с пометкой «Gigabit Ethernet Ethernet-адаптер USB-LAN» отмечены «USB 3.0» и «2,5 Гбит/с», это именно то, что нам нужно…

Ключ поставляется с компакт-диском с драйверами, но мы не использовали его, так как подключили ключ к нашему ноутбуку с Ubuntu 20.04.

Разборка USB-ключа 2.5GbE: RTL8156B внутри

Мы провели все испытания, прежде чем разобрать его. Давайте рассмотрим из чего он состоит.

Адаптер основан на «контроллере Ethernet 10/100/1000M/2,5G Ethernet для приложений USB 3.0» Realtek RTL8156B и низкопрофильном разъеме RJ45, что делает его довольно тонким (для адаптера USB Ethernet).

Задняя часть платы XHT156B v2.0 имеет незанятую площадь с 8 контактами. В описании микросхем Realtek говорится, что «RTL8156B(S) имеет встроенную память с однократным программированием (OTP), которая может заменить внешнюю EEPROM (93C46/93C56/93C66)». Таким образом, это должно быть для внешней EEPROM, например, 93C46 EEPROM доступна в различных 8-контактных корпусах .

Информация в Ubuntu 20.04

В первый раз, когда мы вставили адаптер в порт USB 3.0 нашего ноутбука, мы подумали, что у него есть некоторые проблемы, поскольку нам не удалось найти никаких новых сообщений USB в dmesg. Оказалось, что были просто некоторые задержки, так как устройство Realtek USB LAN появилось с lsusb:

lsusb
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 003: ID 046d:c534 Logitech, Inc. Unifying Receiver
Bus 003 Device 002: ID 0408:a031 Quanta Computer, Inc. VGA WebCam
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 004: ID 0bda:8156 Realtek Semiconductor Corp. USB 10/100/1G/2.5G LAN
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 04ca:3015 Lite-On Technology Corp. 
Bus 001 Device 011: ID 046d:c542 Logitech, Inc. Wireless Receiver
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Мы заметили некоторые предупреждения/ошибки? в /var/log/syslog:

Feb 14 17:04:42 cnx-laptop-4 NetworkManager[1114]: <info>  [1644833082.0081] settings: (enx1cbfced40321): created default wired connection 'Wired connection 2'
Feb 14 17:04:42 cnx-laptop-4 mtp-probe: checking bus 1, device 10: "/sys/devices/pci0000:00/0000:00:08.1/0000:04:00.3/usb1/1-2"
Feb 14 17:04:42 cnx-laptop-4 mtp-probe: bus: 1, device: 10 was not an MTP device
Feb 14 17:04:42 cnx-laptop-4 systemd-udevd[54394]: ethtool: autonegotiation is unset or enabled, the speed and duplex are not writable.
Feb 14 17:04:44 cnx-laptop-4 ModemManager[1235]: <info>  [base-manager] couldn't check support for device '/sys/devices/pci0000:00/0000:00:08.1/0000:04:00.3/usb1/1-2': not supported by any plugin

Но когда мы подключили USB-ключ к коммутатору и проверили информацию с помощью inxi, ссылка была установлена:

inxi -n
Network:
  Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet 
  driver: r8169 
  IF: enp2s0f1 state: down mac: 98:28:a6:0f:06:07 
  Device-2: Qualcomm Atheros QCA9377 802.11ac Wireless Network Adapter 
  driver: ath10k_pci 
  IF: wlp3s0 state: up mac: 70:c9:4e:b7:84:77 
  Device-3: Realtek USB 10/100/1G/2.5G LAN type: USB driver: cdc_ncm 
  IF: enx1cbfced40321 state: up speed: 2500 Mbps duplex: half 
  mac: 1c:bf:ce:d4:03:21 

Это канал на 2500 Мбит/с, но только в полудуплексном режиме, поэтому мы просто простим полнодуплексный тест, который обычно делаем с iperf.

Вернемся к журналу ядра с помощью dmesg:

[29818.749904] usb 2-1: new SuperSpeed USB device number 4 using xhci_hcd
[29818.770326] usb 2-1: New USB device found, idVendor=0bda, idProduct=8156, bcdDevice=31.00
[29818.770336] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=6
[29818.770341] usb 2-1: Product: USB 10/100/1G/2.5G LAN
[29818.770344] usb 2-1: Manufacturer: Realtek
[29818.770347] usb 2-1: SerialNumber: 0013000000
[29818.836184] cdc_ncm 2-1:2.0: MAC-Address: 1c:bf:ce:d4:03:21
[29818.836192] cdc_ncm 2-1:2.0: setting rx_max = 16384
[29818.836253] cdc_ncm 2-1:2.0: setting tx_max = 16384
[29818.836707] cdc_ncm 2-1:2.0 eth0: register 'cdc_ncm' at usb-0000:04:00.3-1, CDC NCM, 1c:bf:ce:d4:03:21

В качестве примечания: мы используем Xiaomi AX6000 в качестве DHCP-сервера, но у нас нет проводного интернета в нашем текущем местоположении (только через модем 4G LTE WiFi без порта RJ45), поэтому мы должны поставить галочку «Использовать это соединение только для ресурсов в своей сети» на вкладках IPv4 и IPv6, чтобы предотвратить доступ моего ноутбука к Интернету через порт USB LAN.

Тестирование 2.5GbE с UP Xtreme i11

После того, как все подключено, мы можем легко проверить, все ли интерфейсы используют соединение 2500 Мбит/с, проверив светодиоды на коммутаторе TP-Link.

Если левый светодиод зеленый, у нас канал на 2500 Мбит/с, если правый светодиод зеленый, то это 1000 Мбит/с, а оранжевый цвет указывает на более низкие скорости (100M/10M). Тогда три соединения составляют 2500 Мбит/с. Все хорошо!

Поскольку доступ к интерфейсу роутера Xiaomi AX6000 и/или мобильному приложению работает только при подключении к Интернету, нам пришлось найти другой способ вывести хост в локальную сеть. Мы использовали nmap в окне терминала:

nmap -sP 192.168.31.0/24
Starting Nmap 7.80 ( https://nmap.org ) at 2022-02-14 19:39 +07
Nmap scan report for 192.168.31.1
Host is up (0.0031s latency).
Nmap scan report for 192.168.31.12
Host is up (0.0019s latency).
Nmap scan report for cnx-laptop-4 (192.168.31.166)
Host is up (0.00014s latency).
Nmap done: 256 IP addresses (3 hosts up) scanned in 2.96 seconds

192.168.31.1 — это маршрутизатор, 192.168.31.166 — наш ноутбук, поэтому 192.168.31.12 должен быть UP Xtreme i11 mini PC…

Mini также работает под управлением Ubuntu 20.04, поэтому мы можем сравнить вывод inxi:

devkit@UPX-i11:~$ inxi -n
Network:
  Device-1: Intel Ethernet I219-LM driver: e1000e 
  IF: eno1 state: down mac: 00:07:32:89:ef:c3 
  Device-2: Intel driver: igc 
  IF: enp44s0 state: up speed: 2500 Mbps duplex: full mac: 00:07:32:89:ef:c2 
  IF-ID-1: cni0 state: up speed: 10000 Mbps duplex: unknown 
  mac: e6:f7:bf:cd:87:ae 
  IF-ID-2: docker0 state: down mac: 02:42:ab:5f:2b:57 
  IF-ID-3: flannel.1 state: unknown speed: 2500 Mbps duplex: full 
  mac: 3a:a0:1f:c2:55:45 
  IF-ID-4: veth0f359f7f state: up speed: 10000 Mbps duplex: full 
  mac: 52:a2:26:ea:ce:36 
  IF-ID-5: veth167c9fcb state: up speed: 10000 Mbps duplex: full 
  mac: f6:0a:7c:50:a2:dc 
  IF-ID-6: veth515ebe48 state: up speed: 10000 Mbps duplex: full 
  mac: 92:3d:0a:03:c4:dc 
  IF-ID-7: veth655cbd04 state: up speed: 10000 Mbps duplex: full 
  mac: 76:19:ff:ff:52:d5 
  IF-ID-8: veth81914ed8 state: up speed: 10000 Mbps duplex: full 
  mac: 26:3f:f5:21:18:8e 

Интерфейс enp44s0 поддерживает полнодуплексную связь со скоростью 2500 Мбит/с.

Давайте запустим iperf, чтобы проверить скорость «загрузки» с ноутбука на мини-ПК:


iperf -t 60 -c 192.168.31.12
------------------------------------------------------------
Client connecting to 192.168.31.12, TCP port 5001
TCP window size: 1.39 MByte (default)
------------------------------------------------------------
[  3] local 192.168.31.166 port 41050 connected with 192.168.31.12 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-60.0 sec  16.4 GBytes  2.35 Gbits/sec

В среднем 2,35 Гбит/с со скачками, близкими к 2,46 Гбит/с. 

Перейдем к «закачке» с мини ПК на ноутбук.


iperf -t 60 -c 192.168.31.166
------------------------------------------------------------
Client connecting to 192.168.31.166, TCP port 5001
TCP window size:  221 KByte (default)
------------------------------------------------------------
[  3] local 192.168.31.12 port 52974 connected with 192.168.31.166 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-60.0 sec  4.13 GBytes   591 Mbits/sec

Результат разочаровал — чуть менее 600 Мбит/с. Это хуже, чем мы ожидали от Gigabit Ethernet.

Попробуем еще раз, но на этот раз с загрузкой iperf3:

iperf3 -t 60 -c 192.168.31.12 -i 5
Connecting to host 192.168.31.12, port 5201
[  5] local 192.168.31.166 port 59878 connected to 192.168.31.12 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-5.00   sec  1.37 GBytes  2.36 Gbits/sec    0   1.57 MBytes       
[  5]   5.00-10.00  sec  1.37 GBytes  2.35 Gbits/sec    0   1.65 MBytes       
[  5]  10.00-15.00  sec  1.37 GBytes  2.35 Gbits/sec    1   1.75 MBytes       
[  5]  15.00-20.00  sec  1.37 GBytes  2.35 Gbits/sec    0   1.81 MBytes       
[  5]  20.00-25.00  sec  1.37 GBytes  2.35 Gbits/sec    0   2.53 MBytes       
[  5]  25.00-30.00  sec  1.37 GBytes  2.35 Gbits/sec    0   2.53 MBytes       
[  5]  30.00-35.00  sec  1.37 GBytes  2.35 Gbits/sec    0   2.53 MBytes       
[  5]  35.00-40.00  sec  1.37 GBytes  2.36 Gbits/sec    0   2.53 MBytes       
[  5]  40.00-45.00  sec  1.37 GBytes  2.35 Gbits/sec    0   2.53 MBytes       
[  5]  45.00-50.00  sec  1.37 GBytes  2.35 Gbits/sec    0   2.53 MBytes       
[  5]  50.00-55.00  sec  1.37 GBytes  2.35 Gbits/sec    0   2.53 MBytes       
[  5]  55.00-60.00  sec  1.37 GBytes  2.35 Gbits/sec    0   2.53 MBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-60.00  sec  16.4 GBytes  2.35 Gbits/sec    1             sender
[  5]   0.00-60.04  sec  16.4 GBytes  2.35 Gbits/sec                  receiver
 
iperf Done.

и скачать iperf3:

iperf3 -t 60 -c 192.168.31.166 -i 5
Connecting to host 192.168.31.166, port 5201
[  5] local 192.168.31.12 port 57138 connected to 192.168.31.166 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-5.00   sec   357 MBytes   599 Mbits/sec  121   84.8 KBytes       
[  5]   5.00-10.00  sec   343 MBytes   576 Mbits/sec  123   91.9 KBytes       
[  5]  10.00-15.00  sec   351 MBytes   589 Mbits/sec  110   72.1 KBytes       
[  5]  15.00-20.00  sec   364 MBytes   611 Mbits/sec  124    133 KBytes       
[  5]  20.00-25.00  sec   371 MBytes   622 Mbits/sec  145   72.1 KBytes       
[  5]  25.00-30.00  sec   363 MBytes   608 Mbits/sec  124    157 KBytes       
[  5]  30.00-35.00  sec   359 MBytes   603 Mbits/sec  107    117 KBytes       
[  5]  35.00-40.00  sec   344 MBytes   577 Mbits/sec   94    151 KBytes       
[  5]  40.00-45.00  sec   362 MBytes   607 Mbits/sec  108    107 KBytes       
[  5]  45.00-50.00  sec   352 MBytes   591 Mbits/sec  123    126 KBytes       
[  5]  50.00-55.00  sec   372 MBytes   625 Mbits/sec  102    109 KBytes       
[  5]  55.00-60.00  sec   346 MBytes   581 Mbits/sec  105    158 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-60.00  sec  4.18 GBytes   599 Mbits/sec  1386             sender
[  5]   0.00-60.00  sec  4.18 GBytes   599 Mbits/sec                  receiv

Так что не имеет значения, используем ли мы iperf2 или iperf3, результаты одинаковы.

Давайте рассмотрим немного больше, подключив порт Gigabit Ethernet нашего ноутбука к порту 2,5 GbE Xtreme i11. Загрузка iperf3 (с мини-ПК на ноутбук):

Передача с ноутбука на мини-ПК осуществлялась со скоростью около 750 Мбит/с.

Передача «загрузки» с мини-ПК на ноутбук также была довольно медленной — менее 500 Мбит/с и заканчивалась «программным прерыванием подключения», передавшим только 7,8 ГБ из файла размером 11,2 ГБ.

SAMBA широко используется, но может быть не самым быстрым способом передачи данных. Давайте переключимся на scp, передавая те же файлы с ноутбука на мини-ПК.

time scp Libero_SoC_v2021.2_lin.bin devkit@192.168.31.12:/home/devkit/NEO_Storage
devkit@192.168.31.12's password: 
Libero_SoC_v2021.2_lin.bin                    100%   10GB 107.8MB/s   01:38    
 
real	1m42.330s
user	0m56.858s
sys	0m57.110s

Это быстрее. 11,2 ГБ были переданы за 98 секунд или в среднем около 117 МБ/с (963 Мбит/с).

Удалим файл на исходнике, и скопируем обратно с мини ПК на ноутбук.

time scp devkit@192.168.31.12:/home/devkit/NEO_Storage/Libero_SoC_v2021.2_lin.bin .
devkit@192.168.31.12's password: 
Libero_SoC_v2021.2_lin.bin                    100%   10GB 100.3MB/s   01:46    
 
real	1m49.093s
user	0m59.326s
sys	0m55.003s

Немного медленнее, но не так уж и плохо, в среднем около 108,2 МБ/с (865,6 Мбит/с). Мы не совсем уверены, почему scp показывает размер файла 10 ГБ, поскольку он составляет 11,2 ГБ в Nautilus или 11 ГБ из терминала:

ls -lh /Download_SSD/Libero_SoC_v2021.2_lin.bin 
-rwxr-xr-x 1 jaufranc jaufranc 11G Feb 16 16:00 /Download_SSD/Libero_SoC_v2021.2_lin.bin

Мы ожидали более высокой скорости передачи, так что это разочаровывает, но о том, что мы должны ожидать как от SAMBA, так и от scp, можно узнать из сообщения в блоге WirelessMoves. Если мы хотим получить более высокую скорость, мы можем использовать более простую криптографию с помощью scp и/или отправлять данные в /dev/null. Давайте попробуем, загрузив файл в /dev/null на нашем ноутбуке:

time scp -c aes128-ctr devkit@192.168.31.12:/home/devkit/NEO_Storage/Libero_SoC_v2021.2_lin.bin /dev/null
devkit@192.168.31.12's password: 
Libero_SoC_v2021.2_lin.bin                    100%   10GB  67.2MB/s   02:38    
 
real	2m40.012s
user	0m24.491s
sys	0m39.740s

Это катастрофа… Что произошло? Попробуем перенести с ноутбука на мини-ПК:

time scp -c aes128-ctr Libero_SoC_v2021.2_lin.bin devkit@192.168.31.12:/dev/null
devkit@192.168.31.12's password: 
Libero_SoC_v2021.2_lin.bin                    100%   10GB 140.9MB/s   01:15    
 
real	1m18.061s
user	0m17.938s
sys	0m55.235s

Это больше походит на это. Но когда мы смотрим на график в реальном времени, показывающий скорость передачи данных по сети, мы видим множество вариаций.

Нам нужно будет протестировать USB-адаптер Ethernet от USB 3.0 до 2,5 Гбит/с с Radxa E25, чтобы увидеть, как он себя ведет, и, возможно, есть некоторые настройки, которые нужно настроить для повышения производительности, но в настоящее время мы считаем, что нам, вероятно, не следует полагаться на USB-адаптер для тестирования…

Выражаем свою благодарность источнику из которого взята и переведена статья, сайту cnx-software.com.

Оригинал статьи вы можете прочитать здесь.

5 1 vote
Article Rating
Подписаться
Уведомление о
guest

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

2 Комментарий
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
ruslan
ruslan
2 лет назад

Can you give me Driver USB 10/100/1G/2.5G LAN
Realtek Semiconductor Corp.

ruslan
ruslan
2 лет назад

i need Driver USB 10/100/1G/2.5G LAN to Mac. Give me pls