ฉันเคยได้รีวิวอะแดปเตอร์อีเทอร์เน็ต USB 3.0 to 2.5 Gbps ที่ใช้ชิป Realtek RTL8156B ใน Ubuntu 20.04 เมื่อฉันตรวจสอบ ฉันไม่ประทับใจกับความน่าเชื่อถือและประสิทธิภาพของอแดปเตอร์มากนัก ฉันได้รับคำแนะนำว่า ให้เปลี่ยนเปลี่ยนสายเคเบิล ขนาด MTU ฯลฯ…
แต่การเปลี่ยนสายเคเบิลไม่ได้ผล แต่มีความคิดเห็นหนึ่งพูดถึงอาจมีปัญหาจาก cdc_ncm driver ตามด้วยอีกคนหนึ่งบอกว่าการอัปเดตเป็น Linux kernel 5.14 ควรติดตั้งไดรเวอร์ r8152 ที่ถูกต้อง … ดังนั้นฉันจึงทำทำเช่นนี้:
1 |
sudo apt install linux-oem-20.04d |
Linux 5.13 ที่อัปเกรดแล้ว (รวมอยู่ใน Ubuntu 20.04 + HWE) เป็น Linux 5.14 แต่ก็ยังไม่ได้เพราะระบบยังคงใช้ cdc_ncm driver พร้อมลิงก์ half-duplex:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
jaufranc@cnx-laptop-4:~$ 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 jaufranc@cnx-laptop-4:~$ uname -a Linux cnx-laptop-4 5.14.0-1022-oem #24-Ubuntu SMP Mon Jan 31 16:00:31 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux |
จากนั้นฉันคิดว่าอาจจำเป็นต้องใช้กฎ udev เพื่อป้องกันการโหลดไดรเวอร์ cdc_ncm และมี 50-usb-realtek-net.rulesในไดรเวอร์ r8152 ใเพื่อช่วยในเรื่องนี้ ดังนั้นฉันจึงคัดลอกไฟล์ไปยังโฟลเดอร์/etc/udev/rules.d/ เนื่องจากฉันไม่ต้องการรีบูต ฉันจึงถอนการติดตั้งโมดูลที่ไม่ต้องการและรีสตาร์ท udev เพื่อทดลองใช้:
1 2 3 |
sudo rmmod cdc_mbim sudo rmmod cdc_ncm service udev restart |
มาดูกันว่าผลลัพธ์จะเป็นอย่างไร…
1 2 3 4 5 6 7 8 9 10 11 |
sudo 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: r8152 IF: enx1cbfced40321 state: up speed: 2500 Mbps duplex: full mac: 1c:bf:ce:d4:03:21 |
ดีมาก! ตอนนี้ใช้งานได้กับ r8152 และเรามีการเชื่อมต่อแบบ full-duplex
ลองปรียบเทียบผลทดสอบทั้งหมดของเราอีกครั้ง
iperf2
อัพโหลด
1 2 3 4 5 6 7 8 |
iperf -t 60 -c 192.168.31.12 ------------------------------------------------------------ Client connecting to 192.168.31.12, TCP port 5001 TCP window size: 1.40 MByte (default) ------------------------------------------------------------ [ 3] local 192.168.31.166 port 41266 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 |
ดาวน์โหลด:
1 2 3 4 5 6 7 8 |
iperf -t 60 -c 192.168.31.166 ------------------------------------------------------------ Client connecting to 192.168.31.166, TCP port 5001 TCP window size: 901 KByte (default) ------------------------------------------------------------ [ 3] local 192.168.31.12 port 37188 connected with 192.168.31.166 port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0-60.0 sec 10.8 GBytes 1.55 Gbits/sec |
หลังจากทำเช่นนี้ ความเร็วในการดาวน์โหลดก็ดีขึ้นเล็กน้อย (ก่อนที่จะใช้ไดรเวอร์ cdc_ncm คือ 600 Mbps) แต่ยังไม่ถึง 2.3 Gbps
ลองใช้ full-duplex :
1 2 3 4 5 6 7 |
Client connecting to 192.168.31.166, TCP port 5001 TCP window size: 799 KByte (default) ------------------------------------------------------------ [ 4] local 192.168.31.12 port 5001 connected with 192.168.31.166 port 41290 [ 6] local 192.168.31.12 port 37194 connected with 192.168.31.166 port 5001 [ 6] 0.0-60.1 sec 8.06 GBytes 1.15 Gbits/sec [ 4] 0.0-60.4 sec 16.3 GBytes 2.32 Gbits/sec |
ที่จริงไม่เลวร้ายเกินไป
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 32848 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 847 KBytes [ 5] 5.00-10.00 sec 1.37 GBytes 2.35 Gbits/sec 0 889 KBytes [ 5] 10.00-15.00 sec 1.37 GBytes 2.35 Gbits/sec 0 1.14 MBytes [ 5] 15.00-20.00 sec 1.37 GBytes 2.35 Gbits/sec 0 1.14 MBytes [ 5] 20.00-25.00 sec 1.37 GBytes 2.35 Gbits/sec 0 1.14 MBytes [ 5] 25.00-30.00 sec 1.37 GBytes 2.35 Gbits/sec 0 1.14 MBytes [ 5] 30.00-35.00 sec 1.37 GBytes 2.35 Gbits/sec 0 1.73 MBytes [ 5] 35.00-40.00 sec 1.37 GBytes 2.35 Gbits/sec 0 1.73 MBytes [ 5] 40.00-45.00 sec 1.37 GBytes 2.35 Gbits/sec 0 3.92 MBytes [ 5] 45.00-50.00 sec 1.37 GBytes 2.35 Gbits/sec 0 3.92 MBytes [ 5] 50.00-55.00 sec 1.37 GBytes 2.35 Gbits/sec 0 3.92 MBytes [ 5] 55.00-60.00 sec 1.37 GBytes 2.35 Gbits/sec 0 3.92 MBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-60.00 sec 16.4 GBytes 2.35 Gbits/sec 0 sender [ 5] 0.00-60.05 sec 16.4 GBytes 2.35 Gbits/sec receiver iperf Done. |
ดาวน์โหลด:
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.166 -i 5 Connecting to host 192.168.31.166, port 5201 [ 5] local 192.168.31.12 port 53112 connected to 192.168.31.166 port 5201 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-5.00 sec 802 MBytes 1.35 Gbits/sec 641 222 KBytes [ 5] 5.00-10.00 sec 856 MBytes 1.44 Gbits/sec 618 83.4 KBytes [ 5] 10.00-15.00 sec 852 MBytes 1.43 Gbits/sec 583 87.7 KBytes [ 5] 15.00-20.00 sec 843 MBytes 1.41 Gbits/sec 592 168 KBytes [ 5] 20.00-25.00 sec 831 MBytes 1.39 Gbits/sec 642 91.9 KBytes [ 5] 25.00-30.00 sec 810 MBytes 1.36 Gbits/sec 666 97.6 KBytes [ 5] 30.00-35.00 sec 831 MBytes 1.39 Gbits/sec 590 123 KBytes [ 5] 35.00-40.00 sec 827 MBytes 1.39 Gbits/sec 652 298 KBytes [ 5] 40.00-45.00 sec 843 MBytes 1.41 Gbits/sec 605 93.3 KBytes [ 5] 45.00-50.00 sec 844 MBytes 1.42 Gbits/sec 635 96.2 KBytes [ 5] 50.00-55.00 sec 862 MBytes 1.45 Gbits/sec 565 84.8 KBytes [ 5] 55.00-60.00 sec 858 MBytes 1.44 Gbits/sec 583 82.0 KBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-60.00 sec 9.82 GBytes 1.41 Gbits/sec 7372 sender [ 5] 0.00-60.00 sec 9.82 GBytes 1.41 Gbits/sec receiver iperf Done. |
ใกล้เคียงกับ iperf2 อันที่จริงแล้ว iperf3 ไม่รับการรองรับสำหรับ full-duplex มาหลายปีแล้ว แต่พวกเขาได้แนะนำฟีเจอร์นี้อีกครั้งในเวอร์ชัน 3.7 ในครั้งนี้ มาลองดูกัน:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
iperf3 -t 60 -c 192.168.31.12 --bidir -i 5 Connecting to host 192.168.31.12, port 5201 [ 5] local 192.168.31.166 port 32858 connected to 192.168.31.12 port 5201 [ 7] local 192.168.31.166 port 32860 connected to 192.168.31.12 port 5201 [ ID][Role] Interval Transfer Bitrate Retr Cwnd [ 5][TX-C] 0.00-5.00 sec 1.36 GBytes 2.34 Gbits/sec 0 1.41 MBytes [ 7][RX-C] 0.00-5.00 sec 643 MBytes 1.08 Gbits/sec [ 5][TX-C] 5.00-10.00 sec 1.36 GBytes 2.34 Gbits/sec 0 1.48 MBytes [ 7][RX-C] 5.00-10.00 sec 673 MBytes 1.13 Gbits/sec [ 5][TX-C] 10.00-15.00 sec 1.36 GBytes 2.34 Gbits/sec 0 1.78 MBytes [ 7][RX-C] 10.00-15.00 sec 690 MBytes 1.16 Gbits/sec [ 5][TX-C] 15.00-20.00 sec 1.36 GBytes 2.34 Gbits/sec 0 1.78 MBytes [ 7][RX-C] 15.00-20.00 sec 695 MBytes 1.17 Gbits/sec [ 5][TX-C] 20.00-25.00 sec 1.36 GBytes 2.34 Gbits/sec 0 1.78 MBytes [ 7][RX-C] 20.00-25.00 sec 703 MBytes 1.18 Gbits/sec [ 5][TX-C] 25.00-30.00 sec 1.36 GBytes 2.34 Gbits/sec 0 1.78 MBytes [ 7][RX-C] 25.00-30.00 sec 704 MBytes 1.18 Gbits/sec [ 5][TX-C] 30.00-35.00 sec 1.36 GBytes 2.34 Gbits/sec 0 1.78 MBytes [ 7][RX-C] 30.00-35.00 sec 711 MBytes 1.19 Gbits/sec [ 5][TX-C] 35.00-40.00 sec 1.36 GBytes 2.34 Gbits/sec 0 1.78 MBytes [ 7][RX-C] 35.00-40.00 sec 697 MBytes 1.17 Gbits/sec [ 5][TX-C] 40.00-45.00 sec 28.8 MBytes 48.2 Mbits/sec 4 1.41 KBytes [ 7][RX-C] 40.00-45.00 sec 15.0 MBytes 25.2 Mbits/sec [ 5][TX-C] 45.00-50.00 sec 0.00 Bytes 0.00 bits/sec 1 1.41 KBytes [ 7][RX-C] 45.00-50.00 sec 0.00 Bytes 0.00 bits/sec [ 5][TX-C] 50.00-55.00 sec 0.00 Bytes 0.00 bits/sec 1 1.41 KBytes [ 7][RX-C] 50.00-55.00 sec 0.00 Bytes 0.00 bits/sec iperf3: error - control socket has closed unexpectedly |
อ๊ะ! เกิดอะไรขึ้น? ดูเหมือนว่าจะมีข้อความแสดงข้อผิดพลาดบางอย่างในบันทึกของเคอร์เนลด้วย
1 2 3 4 5 6 7 8 9 |
[18424.279351] r8152 2-1:1.0 enx1cbfced40321: Tx status -71 [18424.287497] r8152 2-1:1.0 enx1cbfced40321: Tx status -71 [18424.295735] r8152 2-1:1.0 enx1cbfced40321: Tx status -71 [18424.303858] r8152 2-1:1.0 enx1cbfced40321: Tx status -71 [18430.885965] net_ratelimit: 107 callbacks suppressed [18430.885975] r8152 2-1:1.0 enx1cbfced40321: Tx status -71 [18431.251643] r8152 2-1:1.0 enx1cbfced40321: Tx status -71 [18431.909792] r8152 2-1:1.0 enx1cbfced40321: Tx status -71 [18437.797786] r8152 2-1:1.0 enx1cbfced40321: Tx status -71 |
จริง ๆ แล้วฉันไม่ใช่คนเดียวที่มีปัญหานี้ ดังนั้นทั้งหมดที่ฉันพูดได้ก็คือมันเป็นปัญหาเปิดใน ไดรเวอร์ r8156 Github repo นี่คือคำตอบของนักพัฒนาเพื่อเป็นข้อมูลอ้างอิง:
ฉันสงสัยว่าจะมี ปัญหากับ อะแดปเตอร์อีเทอร์เน็ตเนื่องจากมีรายงานหลายฉบับว่าการ์ดนี้ใช้งานได้กับDS918 + เช่นการออกแบบสายไฟ ความร้อนสูงเกินไป เป็นต้น คุณสามารถคลิกลิงก์ด้านล่างเพื่อดูรายละเอียด:
https://github.com/bb-qq/r8152/wiki/Compatibility
หรือคุณสามารถลอง ใช้ อะแดปเตอร์อีเทอร์เน็ตของ ผู้จำหน่ายรายอื่น การใช้ฮับ USB ที่มีแหล่งจ่ายไฟภายนอกอาจช่วยปรับปรุงสถานการณ์ได้
ณ จุดนี้ อีเธอร์เน็ตไม่ทำงานเลย ฉันต้องถอดปลั๊กและเสียบอะแดปเตอร์ USB ใหม่ คราวนี้ก็ “ได้ผล” สำเร็จในที่สุด
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
iperf3 -t 60 -c 192.168.31.12 --bidir -i 5 Connecting to host 192.168.31.12, port 5201 [ 5] local 192.168.31.166 port 32872 connected to 192.168.31.12 port 5201 [ 7] local 192.168.31.166 port 32874 connected to 192.168.31.12 port 5201 [ ID][Role] Interval Transfer Bitrate Retr Cwnd [ 5][TX-C] 0.00-5.00 sec 1.36 GBytes 2.34 Gbits/sec 0 1.59 MBytes [ 7][RX-C] 0.00-5.00 sec 515 MBytes 864 Mbits/sec [ 5][TX-C] 5.00-10.00 sec 1.36 GBytes 2.34 Gbits/sec 0 1.75 MBytes [ 7][RX-C] 5.00-10.00 sec 489 MBytes 820 Mbits/sec [ 5][TX-C] 10.00-15.00 sec 1.36 GBytes 2.34 Gbits/sec 0 1.75 MBytes [ 7][RX-C] 10.00-15.00 sec 530 MBytes 889 Mbits/sec [ 5][TX-C] 15.00-20.00 sec 1.36 GBytes 2.34 Gbits/sec 0 1.75 MBytes [ 7][RX-C] 15.00-20.00 sec 564 MBytes 947 Mbits/sec [ 5][TX-C] 20.00-25.00 sec 1.36 GBytes 2.34 Gbits/sec 0 1.75 MBytes [ 7][RX-C] 20.00-25.00 sec 560 MBytes 940 Mbits/sec [ 5][TX-C] 25.00-30.00 sec 1.36 GBytes 2.34 Gbits/sec 0 2.63 MBytes [ 7][RX-C] 25.00-30.00 sec 578 MBytes 970 Mbits/sec [ 5][TX-C] 30.00-35.00 sec 1.36 GBytes 2.34 Gbits/sec 0 2.63 MBytes [ 7][RX-C] 30.00-35.00 sec 561 MBytes 942 Mbits/sec [ 5][TX-C] 35.00-40.00 sec 1.36 GBytes 2.34 Gbits/sec 0 2.63 MBytes [ 7][RX-C] 35.00-40.00 sec 572 MBytes 960 Mbits/sec [ 5][TX-C] 40.00-45.00 sec 1.36 GBytes 2.34 Gbits/sec 0 2.63 MBytes [ 7][RX-C] 40.00-45.00 sec 570 MBytes 956 Mbits/sec [ 5][TX-C] 45.00-50.00 sec 1.36 GBytes 2.34 Gbits/sec 0 2.63 MBytes [ 7][RX-C] 45.00-50.00 sec 572 MBytes 960 Mbits/sec [ 5][TX-C] 50.00-55.00 sec 1.36 GBytes 2.34 Gbits/sec 0 2.63 MBytes [ 7][RX-C] 50.00-55.00 sec 570 MBytes 957 Mbits/sec [ 5][TX-C] 55.00-60.00 sec 1.36 GBytes 2.34 Gbits/sec 0 2.63 MBytes [ 7][RX-C] 55.00-60.00 sec 571 MBytes 958 Mbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID][Role] Interval Transfer Bitrate Retr [ 5][TX-C] 0.00-60.00 sec 16.3 GBytes 2.34 Gbits/sec 0 sender [ 5][TX-C] 0.00-60.05 sec 16.3 GBytes 2.34 Gbits/sec receiver [ 7][RX-C] 0.00-60.00 sec 6.50 GBytes 931 Mbits/sec 58 sender [ 7][RX-C] 0.00-60.05 sec 6.50 GBytes 929 Mbits/sec receiver iperf Done. |
ยังมีการส่งสัญญาณซ้ำที่ด้าน Rx ซึ่งสามารถช่วยอธิบายว่าทำไมความเร็วจึงต่ำมาก
SAMBA
ฉันเชื่อมต่อโน้ตบุ๊กที่มีดองเกิล RTL8156B และ SATA SSD มีพอร์ตที่มี 2.5GbE และมินิพีซี UP Xtreme i11 พร้อม SSD ขนาด 480GB และฐานเชื่อมต่อ MINIX USB-C
ความเร็วในการโอนของไดรเวอร์ r8152 อยู่ที่ประมาณ 930 Mbps และความเร็วในการโอนของไดรเวอร์ cdc_ncm อยู่ที่ประมาณ 750 Mbps
ตอนนี้ฉันถ่ายโอนข้อมูลจากมินิพีซีไปยังโน้ตบุ๊ก การถ่ายโอนนี้เรียกว่า “ดาวน์โหลด” …..
ไม่น่าแปลกใจเลยที่ความเร็วช้าลงที่ 837 Mbps แต่ก็ยังดีกว่าตอนที่ฉันใช้ไดรเวอร์ cdc_ncm ซึ่งน้อยกว่า 500 Mbps
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 115.0MB/s 01:32 real 1m34.981s user 0m55.750s sys 0m42.668s |
มินิพีซีกับโน้ตบุ๊ก:
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 111.7MB/s 01:35 real 1m36.896s user 0m56.926s sys 0m55.330s |
แปลกที่ความเร็วในการดาวน์โหลดและอัพโหลดเกือบจะเท่ากันเมื่อใช้ scp ปัญหาคอขวดที่นี่น่าจะเป็นเพราะ SATA SSD ของฉัน:
1 2 3 4 5 6 7 8 |
iozone -e -I -a -s 1000M -r 16384k -i 0 -i 1 Iozone: Performance Test of File I/O Version $Revision: 3.489 $ Compiled for 64 bit mode. Build: linux-AMD64 random random bkwd record stride kB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread 1024000 16384 141794 139550 149591 145020 |
จะเห็นได้ว่าความเร็วในการอ่านถูกจำกัดไว้ที่ประมาณ 145 MB/s และความเร็วในการเขียนถูกจำกัดไว้ที่ประมาณ 140 MB/s
ในการเปรียบเทียบ SSD ที่ใช้ใน MINIX NEO Storage Plus USB-C Dock นั้นเร็วกว่า ครั้งล่าสุดที่ฉันทดสอบ 379MB/s ครั้งล่าสุดที่ฉันทดสอบ ความเร็วในการอ่านตามลำดับคือ 379MB/s และความเร็วในการเขียนตามลำดับคือ 240+ MB/s
ตอนนี้ มาใส่ข้อมูลบน /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 133.0MB/s 01:20 real 1m21.880s user 0m18.931s sys 0m33.838s |
อัปโหลดจากโน้ตบุ๊ก:
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 239.9MB/s 00:44 real 0m46.094s user 0m17.174s sys 0m36.793s |
ดังที่เห็นได้จากด้านบน อย่างน้อยสำหรับการอัปโหลด ความเร็วก็ถือว่าใช้ได้ ฉันคิดว่ายังมีปัญหากับความเร็วในการดาวน์โหลดอยู่บ้าง แต่หลังจากใช้ไดรเวอร์ r8152 แล้ว ประสิทธิภาพของมันก็ดีขึ้นอย่างมากจริงๆ
การทดสอบด้วย NanoPi R4S
แม้ว่าผลการทดสอบข้างต้นจะดีกว่าผลก่อนหน้านี้มาก แต่ก็ยังไม่เหมาะสม เนื่องจากฉันมีเราเตอร์ NanoPi R4S ที่มีพอร์ต USB 3.0 2 พอร์ต อันดับแรกฉันจึงลองใช้กับอิมเมจ OpenWrt (FriendlyWrt) 21.02 และ Linux 5.15 ล่าสุด:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
root@FriendlyWrt:~# iperf3 -t 60 -c 192.168.2.207 --bidir -i 5 Connecting to host 192.168.2.207, port 5201 [ 5] local 192.168.2.161 port 21836 connected to 192.168.2.207 port 5201 [ 7] local 192.168.2.161 port 21838 connected to 192.168.2.207 port 5201 [ ID][Role] Interval Transfer Bitrate Retr Cwnd [ 5][TX-C] 0.00-5.00 sec 348 MBytes 583 Mbits/sec 4 413 KBytes [ 7][RX-C] 0.00-5.00 sec 220 MBytes 369 Mbits/sec [ 5][TX-C] 5.00-10.00 sec 480 MBytes 805 Mbits/sec 5 684 KBytes [ 7][RX-C] 5.00-10.00 sec 218 MBytes 366 Mbits/sec [ 5][TX-C] 10.00-15.00 sec 574 MBytes 963 Mbits/sec 47 557 KBytes [ 7][RX-C] 10.00-15.00 sec 183 MBytes 307 Mbits/sec [ 5][TX-C] 15.00-20.00 sec 481 MBytes 807 Mbits/sec 3 699 KBytes [ 7][RX-C] 15.00-20.00 sec 179 MBytes 301 Mbits/sec [ 5][TX-C] 20.00-25.00 sec 464 MBytes 779 Mbits/sec 18 701 KBytes [ 7][RX-C] 20.00-25.00 sec 214 MBytes 359 Mbits/sec [ 5][TX-C] 25.00-30.00 sec 549 MBytes 920 Mbits/sec 26 580 KBytes [ 7][RX-C] 25.00-30.00 sec 178 MBytes 298 Mbits/sec [ 5][TX-C] 30.00-35.00 sec 472 MBytes 792 Mbits/sec 3 526 KBytes [ 7][RX-C] 30.00-35.00 sec 207 MBytes 347 Mbits/sec [ 5][TX-C] 35.00-40.00 sec 465 MBytes 781 Mbits/sec 15 410 KBytes [ 7][RX-C] 35.00-40.00 sec 195 MBytes 326 Mbits/sec [ 5][TX-C] 40.00-45.00 sec 385 MBytes 645 Mbits/sec 0 376 KBytes [ 7][RX-C] 40.00-45.00 sec 217 MBytes 364 Mbits/sec [ 5][TX-C] 45.00-50.00 sec 497 MBytes 833 Mbits/sec 9 478 KBytes [ 7][RX-C] 45.00-50.00 sec 201 MBytes 338 Mbits/sec [ 5][TX-C] 50.00-55.00 sec 434 MBytes 728 Mbits/sec 0 543 KBytes [ 7][RX-C] 50.00-55.00 sec 208 MBytes 349 Mbits/sec [ 5][TX-C] 55.00-60.00 sec 451 MBytes 756 Mbits/sec 6 823 KBytes [ 7][RX-C] 55.00-60.00 sec 220 MBytes 370 Mbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID][Role] Interval Transfer Bitrate Retr [ 5][TX-C] 0.00-60.00 sec 5.47 GBytes 783 Mbits/sec 136 sender [ 5][TX-C] 0.00-60.01 sec 5.47 GBytes 783 Mbits/sec receiver [ 7][RX-C] 0.00-60.00 sec 2.39 GBytes 342 Mbits/sec 94 sender [ 7][RX-C] 0.00-60.01 sec 2.38 GBytes 341 Mbits/sec receiver iperf Done. |
มันน่าเกลียดมากจริงๆ มีการส่งสัญญาณซ้ำหลายครั้งทั้งสองด้าน
1 2 3 4 5 6 7 8 9 10 |
[ 276.268986] usb 8-1: New USB device found, idVendor=0bda, idProduct=8156, bcdDevice=31.00 [ 276.269798] usb 8-1: New USB device strings: Mfr=1, Product=2, SerialNumber=6 [ 276.270471] usb 8-1: Product: USB 10/100/1G/2.5G LAN [ 276.272112] usb 8-1: Manufacturer: Realtek [ 276.272519] usb 8-1: SerialNumber: 0013000000 [ 276.359625] cdc_ncm 8-1:2.0: MAC-Address: 1c:bf:ce:d4:03:21 [ 276.360178] cdc_ncm 8-1:2.0: setting rx_max = 16384 [ 276.360758] cdc_ncm 8-1:2.0: setting tx_max = 16384 [ 276.362948] cdc_ncm 8-1:2.0 eth2: register 'cdc_ncm' at usb-xhci-hcd.1.auto-1, CDC NCM, 1c:bf:ce:d4:03:21 [ 459.919597] IPv6: ADDRCONF(NETDEV_CHANGE): eth2: link becomes ready |
เมื่อดูที่บันทึกเคอร์เนล อะแดปเตอร์ RTL8156B USB dongle ของเราใช้ไดรเวอร์ CDC NCM นั้นอีกครั้ง เช่นเดียวกับใน Ubuntu…ยังมีไดรเวอร์ r8152 อีกด้วย แต่ไม่ว่าฉันจะลบโมดูลใดใน /etc/modules.d ไม่ว่าจะเป็น CDC NCM is load หรือการโหลดอินเทอร์เฟซ eth2 ไม่ปรากฏขึ้นเลย ดังนั้นฉันจึงเปลี่ยนไปใช้ FriendlyCore OS ที่ใช้ Ubuntu 20.04 ซึ่งเป็น Linux 5.15 ด้วย ซึ่งจะใกล้เคียงกับการตั้งค่าบนโน้ตบุ๊กของฉันมากกว่า
อย่างที่คาดไว้ อะแดปเตอร์ RTL8156B ใช้ไดรเวอร์ CDC NCM เป็นค่าเริ่มต้นใน Ubuntu:
1 2 3 4 5 6 7 8 9 10 11 |
[ 682.701529] usb 8-1: new SuperSpeed USB device number 3 using xhci-hcd [ 682.727125] usb 8-1: New USB device found, idVendor=0bda, idProduct=8156, bcdDevice=31.00 [ 682.727163] usb 8-1: New USB device strings: Mfr=1, Product=2, SerialNumber=6 [ 682.727179] usb 8-1: Product: USB 10/100/1G/2.5G LAN [ 682.727191] usb 8-1: Manufacturer: Realtek [ 682.727203] usb 8-1: SerialNumber: 0013000000 [ 682.806350] cdc_ncm 8-1:2.0: MAC-Address: 1c:bf:ce:d4:03:21 [ 682.806387] cdc_ncm 8-1:2.0: setting rx_max = 16384 [ 682.806561] cdc_ncm 8-1:2.0: setting tx_max = 16384 [ 682.807963] cdc_ncm 8-1:2.0 eth1: register 'cdc_ncm' at usb-xhci-hcd.1.auto-1, CDC NCM, 1c:bf:ce:d4:03:21 [ 682.834550] cdc_ncm 8-1:2.0 enx1cbfced40321: renamed from eth1 |
eth1 ไม่แสดงพร้อมกับ ifconfig ดังนั้นฉันจึงดำเนินการเปลี่ยนกฎ udev เพื่อใช้ไดรเวอร์ r8152…
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
[ 882.081445] usb 7-1: new high-speed USB device number 3 using xhci-hcd [ 882.209358] usb 7-1: Device not responding to setup address. [ 882.417542] usb 7-1: Device not responding to setup address. [ 882.625432] usb 7-1: device not accepting address 3, error -71 [ 886.597570] usb 8-1: new SuperSpeed USB device number 4 using xhci-hcd [ 886.619484] usb 8-1: New USB device found, idVendor=0bda, idProduct=8156, bcdDevice=31.00 [ 886.619534] usb 8-1: New USB device strings: Mfr=1, Product=2, SerialNumber=6 [ 886.619556] usb 8-1: Product: USB 10/100/1G/2.5G LAN [ 886.619574] usb 8-1: Manufacturer: Realtek [ 886.619591] usb 8-1: SerialNumber: 0013000000 [ 886.911033] usb 8-1: reset SuperSpeed USB device number 4 using xhci-hcd [ 886.960598] r8152 8-1:1.0: Direct firmware load for rtl_nic/rtl8156b-2.fw failed with error -2 [ 886.960631] r8152 8-1:1.0: Falling back to sysfs fallback for: rtl_nic/rtl8156b-2.fw [ 947.165730] r8152 8-1:1.0: unable to load firmware patch rtl_nic/rtl8156b-2.fw (-110) [ 947.210940] r8152 8-1:1.0 (unnamed net_device) (uninitialized): netif_napi_add() called with weight 256 [ 947.237480] r8152 8-1:1.0 eth1: v1.12.11 [ 947.254755] usbcore: registered new interface driver cdc_ncm [ 947.257112] usbcore: registered new interface driver cdc_mbim [ 947.290865] r8152 8-1:1.0 enx1cbfced40321: renamed from eth1 |
การทดสอบนี้น่าหงุดหงิดมากขึ้นเรื่อยๆ มาอัปเดตระบบกันก่อน
1 2 3 4 5 |
sudo apt update sudo apt install python3-pip sudo pip3 install apt-mirror-updater apt-mirror-updater -c http://ftp.tu-chemnitz.de/pub/linux/ubuntu-ports sudo apt dist-upgrade |
แม้ว่าฉันจะทำตามขั้นตอนทั้งหมดแล้ว เนื่องจากอิมเมจ FriendlyCore นั้นอาศัยเซิร์ฟเวอร์ในประเทศจีน มันช้ามากเมื่อเทียบกับของฉัน (เพียงแค่เรียกใช้ apt update อาจใช้เวลา 15 นาที) ดังนั้นแม้ว่าการอัปเดตจะเร็วในทางทฤษฎี แต่ก็ยังต้องใช้เวลาหลายชั่วโมง! (ดูรายละเอียดที่ การเปลี่ยน Ubuntu Apt Mirror จาก Command Line )
การอัปเดตระบบไม่ได้ช่วยแก้ปัญหาเฟิร์มแวร์ ดังนั้นฉันจึงค้นหาไฟล์rtl_nic /rtl8156b-2.fw ควรอยู่ใน แพ็คเกจ firmware-realtek Debian หรือแพ็คเกจ เฟิร์มแวร์ linux Ubuntu Impish
ฉันดาวน์โหลดอันหลัง แตกไฟล์ rtl8156b-2.fw และคัดลอกไปที่ /etc/firmware/rtl_nic ในที่สุดก็ใช้งานได้สำเร็จดังนี้:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
[ 2172.098871] usb 8-1: new SuperSpeed USB device number 4 using xhci-hcd [ 2172.120681] usb 8-1: New USB device found, idVendor=0bda, idProduct=8156, bcdDevice=31.00 [ 2172.120731] usb 8-1: New USB device strings: Mfr=1, Product=2, SerialNumber=6 [ 2172.120754] usb 8-1: Product: USB 10/100/1G/2.5G LAN [ 2172.120771] usb 8-1: Manufacturer: Realtek [ 2172.120788] usb 8-1: SerialNumber: 0013000000 [ 2172.183460] cdc_ncm 8-1:2.0: MAC-Address: 1c:bf:ce:d4:03:21 [ 2172.183494] cdc_ncm 8-1:2.0: setting rx_max = 16384 [ 2172.183620] cdc_ncm 8-1:2.0: setting tx_max = 16384 [ 2172.184904] cdc_ncm 8-1:2.0 eth1: register 'cdc_ncm' at usb-xhci-hcd.1.auto-1, CDC NCM, 1c:bf:ce:d4:03:21 [ 2172.189439] cdc_ncm 8-1:2.0 eth1: unregister 'cdc_ncm' usb-xhci-hcd.1.auto-1, CDC NCM [ 2172.451015] usb 8-1: reset SuperSpeed USB device number 4 using xhci-hcd [ 2172.535166] r8152 8-1:1.0: load rtl8156b-2 v1 04/15/21 successfully [ 2172.598459] r8152 8-1:1.0 eth1: v1.12.11 |
ด้วยเหตุผลบางอย่าง อินเทอร์เฟซของมันยังไม่ทำงาน ฉันต้องเพิ่มลงใน /etc/network/interfaces.d ด้วยตนเอง แต่ดูเหมือนว่าจะใช้งานไม่ได้
กลับไปที่โน้ตบุ๊ก Ubuntu ด้วยเฟิร์มแวร์ rtl8156b-2.fw
ฉันจึงกลับไปที่แล็ปท็อปและคัดลอกไฟล์เฟิร์มแวร์ไปยังไดเร็กทอรี/lib/firmware/rtl_nic ผลลัพธ์จะเหมือนกับใน NanoPi R4S ดังที่แสดงด้านล่าง::
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
[23050.245495] usb 2-1: new SuperSpeed USB device number 3 using xhci_hcd [23050.266025] usb 2-1: New USB device found, idVendor=0bda, idProduct=8156, bcdDevice=31.00 [23050.266038] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=6 [23050.266043] usb 2-1: Product: USB 10/100/1G/2.5G LAN [23050.266047] usb 2-1: Manufacturer: Realtek [23050.266050] usb 2-1: SerialNumber: 0013000000 [23050.325714] cdc_ncm 2-1:2.0: MAC-Address: 1c:bf:ce:d4:03:21 [23050.325720] cdc_ncm 2-1:2.0: setting rx_max = 16384 [23050.325762] cdc_ncm 2-1:2.0: setting tx_max = 16384 [23050.326199] 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 [23050.334723] cdc_ncm 2-1:2.0 eth0: unregister 'cdc_ncm' usb-0000:04:00.3-1, CDC NCM [23050.559779] usb 2-1: reset SuperSpeed USB device number 3 using xhci_hcd [23050.617459] r8152 2-1:1.0: load rtl8156b-2 v1 04/15/21 successfully [23050.654344] r8152 2-1:1.0 eth0: v1.12.11 |
ลองอัปโหลด iperf3:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
iperf3 -t 30 -c 192.168.31.12 -i 5 Connecting to host 192.168.31.12, port 5201 [ 5] local 192.168.31.166 port 50222 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 609 KBytes [ 5] 5.00-10.00 sec 1.37 GBytes 2.35 Gbits/sec 0 691 KBytes [ 5] 10.00-15.00 sec 1.37 GBytes 2.35 Gbits/sec 0 1.35 MBytes [ 5] 15.00-20.00 sec 1.37 GBytes 2.35 Gbits/sec 0 1.35 MBytes [ 5] 20.00-25.00 sec 1.37 GBytes 2.35 Gbits/sec 0 1.35 MBytes [ 5] 25.00-30.00 sec 1.37 GBytes 2.35 Gbits/sec 0 1.35 MBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-30.00 sec 8.22 GBytes 2.35 Gbits/sec 0 sender [ 5] 0.00-30.04 sec 8.22 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 |
iperf3 -t 30 -c 192.168.31.12 -i 5 -R Connecting to host 192.168.31.12, port 5201 Reverse mode, remote host 192.168.31.12 is sending [ 5] local 192.168.31.166 port 50226 connected to 192.168.31.12 port 5201 [ ID] Interval Transfer Bitrate [ 5] 0.00-5.00 sec 969 MBytes 1.63 Gbits/sec [ 5] 5.00-10.00 sec 990 MBytes 1.66 Gbits/sec [ 5] 10.00-15.00 sec 982 MBytes 1.65 Gbits/sec [ 5] 15.00-20.00 sec 984 MBytes 1.65 Gbits/sec [ 5] 20.00-25.00 sec 1012 MBytes 1.70 Gbits/sec [ 5] 25.00-30.00 sec 1007 MBytes 1.69 Gbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-30.02 sec 5.81 GBytes 1.66 Gbits/sec 3181 sender [ 5] 0.00-30.00 sec 5.80 GBytes 1.66 Gbits/sec receiver iperf Done. |
สิ่งต่าง ๆ ดีขึ้นเล็กน้อย แต่ก็ยังไม่ได้ผลลัพธ์ที่ดีที่สุด และจำนวนการส่งสัญญาณซ้ำนั้นดีมาก! ตอนนี้ฉันเหนื่อยมาก หากคุณมีความคิดอื่น ๆ โปรดฝากข้อความและแจ้งให้เราทราบ
Realtek ส่ง RTL8156BG USB 3.0 to 2.5GbE dongle ตัวใหม่มาให้
Realtek ส่งอะแดปเตอร์ USB 3.0 to 2.5GbE ใหม่ให้ฉันและไม่มีปัญหาด้านประสิทธิภาพ
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
$ iperf3 -t 60 -c 192.168.31.12 --bidir -i 5 Connecting to host 192.168.31.12, port 5201 [ 5] local 192.168.31.85 port 47164 connected to 192.168.31.12 port 5201 [ 7] local 192.168.31.85 port 47168 connected to 192.168.31.12 port 5201 [ ID][Role] Interval Transfer Bitrate Retr Cwnd [ 5][TX-C] 0.00-5.00 sec 1.35 GBytes 2.31 Gbits/sec 0 1.54 MBytes [ 7][RX-C] 0.00-5.00 sec 1.25 GBytes 2.14 Gbits/sec [ 5][TX-C] 5.00-10.00 sec 1.37 GBytes 2.35 Gbits/sec 0 1.54 MBytes [ 7][RX-C] 5.00-10.00 sec 1.36 GBytes 2.34 Gbits/sec [ 5][TX-C] 10.00-15.00 sec 1.36 GBytes 2.34 Gbits/sec 0 1.54 MBytes [ 7][RX-C] 10.00-15.00 sec 1.34 GBytes 2.31 Gbits/sec [ 5][TX-C] 15.00-20.00 sec 1.36 GBytes 2.34 Gbits/sec 0 2.34 MBytes [ 7][RX-C] 15.00-20.00 sec 1.32 GBytes 2.28 Gbits/sec [ 5][TX-C] 20.00-25.00 sec 1.36 GBytes 2.34 Gbits/sec 0 2.34 MBytes [ 7][RX-C] 20.00-25.00 sec 1.36 GBytes 2.33 Gbits/sec [ 5][TX-C] 25.00-30.00 sec 1.36 GBytes 2.34 Gbits/sec 0 2.34 MBytes [ 7][RX-C] 25.00-30.00 sec 1.34 GBytes 2.30 Gbits/sec [ 5][TX-C] 30.00-35.00 sec 1.36 GBytes 2.34 Gbits/sec 0 2.34 MBytes [ 7][RX-C] 30.00-35.00 sec 1.36 GBytes 2.33 Gbits/sec [ 5][TX-C] 35.00-40.00 sec 1.36 GBytes 2.34 Gbits/sec 0 2.34 MBytes [ 7][RX-C] 35.00-40.00 sec 1.33 GBytes 2.28 Gbits/sec [ 5][TX-C] 40.00-45.00 sec 1.36 GBytes 2.34 Gbits/sec 0 2.34 MBytes [ 7][RX-C] 40.00-45.00 sec 1.35 GBytes 2.32 Gbits/sec [ 5][TX-C] 45.00-50.00 sec 1.36 GBytes 2.34 Gbits/sec 0 2.34 MBytes [ 7][RX-C] 45.00-50.00 sec 1.35 GBytes 2.32 Gbits/sec [ 5][TX-C] 50.00-55.00 sec 1.36 GBytes 2.34 Gbits/sec 0 2.34 MBytes [ 7][RX-C] 50.00-55.00 sec 1.35 GBytes 2.31 Gbits/sec [ 5][TX-C] 55.00-60.00 sec 1.36 GBytes 2.34 Gbits/sec 0 2.34 MBytes [ 7][RX-C] 55.00-60.00 sec 1.32 GBytes 2.26 Gbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID][Role] Interval Transfer Bitrate Retr [ 5][TX-C] 0.00-60.00 sec 16.3 GBytes 2.34 Gbits/sec 0 sender [ 5][TX-C] 0.00-60.05 sec 16.3 GBytes 2.34 Gbits/sec receiver [ 7][RX-C] 0.00-60.00 sec 16.0 GBytes 2.29 Gbits/sec 25 sender [ 7][RX-C] 0.00-60.05 sec 16.0 GBytes 2.29 Gbits/sec receiver iperf Done. |
บรรณาธิการข่าวและบทความภาษาไทย CNX Software ได้มีความสนใจในด้านเทคโนโลยี โดยเฉพาะ Smart Home และ IoT