В конце прошлого месяца мы получили оборудование для тестирования 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:
1 2 3 4 5 6 7 8 9 10 |
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:
1 2 3 4 5 6 |
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, ссылка была установлена:
1 2 3 4 5 6 7 8 9 10 11 |
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:
1 2 3 4 5 6 7 8 9 10 11 |
[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 в окне терминала:
1 2 3 4 5 6 7 8 9 |
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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
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, чтобы проверить скорость «загрузки» с ноутбука на мини-ПК:
1 2 3 4 5 6 7 8 9 |
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 Гбит/с.
Перейдем к «закачке» с мини ПК на ноутбук.
1 2 3 4 5 6 7 8 9 |
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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
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, передавая те же файлы с ноутбука на мини-ПК.
1 2 3 4 5 6 7 |
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 Мбит/с).
Удалим файл на исходнике, и скопируем обратно с мини ПК на ноутбук.
1 2 3 4 5 6 7 |
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 ГБ из терминала:
1 2 |
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 на нашем ноутбуке:
1 2 3 4 5 6 7 |
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 |
Это катастрофа… Что произошло? Попробуем перенести с ноутбука на мини-ПК:
1 2 3 4 5 6 7 |
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.
Оригинал статьи вы можете прочитать здесь.
Can you give me Driver USB 10/100/1G/2.5G LAN
Realtek Semiconductor Corp.
i need Driver USB 10/100/1G/2.5G LAN to Mac. Give me pls