mostly Posted December 13, 2019 Share Posted December 13, 2019 Armbianmonitor: http://ix.io/24Wi I'm using g_ether to connect OrangePiPc+ to network over USB OTG. On legacy kernel, that was giving 140 Mbits/sec IN (download from network to OrangePiPc+) and 170 Mbits/sec OUT. After upgrading to mainline kernel 4.19.62 (or 5.3.9), IN throughput degraded to 93-98 Mbits/sec (while OUT improved reaching up to 210 Mbits/sec in CDC EEM mode). This easily reproducible on both my boards OrangePiPc+ and OrangePiZero with latest Bionic images (clean installations + "modprobe g_ether iProduct="Linux-USB Ethernet/RNDIS Gadget" iManufacturer="Netchip Technology, Inc." dev_addr=02:81:05:F0:5C:24 host_addr=02:81:05:F0:5C:23 use_eem=0" ). Any ideas where is the bottleneck and how to resolve it? Tried several USB cables and USB host devices. Throughput measured by iperf; samba and nfs are showing the same. ifconfig stats indicating 0 tx/rx errors. Link to comment Share on other sites More sharing options...
mostly Posted December 20, 2019 Author Share Posted December 20, 2019 Still trying to solve this. Problem reproducible on clean installation of Armbian_19.11.3_Orangepipcplus_bionic_current_5.3.9 . Behavior is the same as on 4.19.62 (despite minor improvements in both uplink and downlink). Welcome to Armbian Bionic with Linux 5.3.9-sunxi root@orangepipcplus:~# iperf -s ------------------------------------------------------------ Server listening on TCP port 5001 TCP window size: 128 KByte (default) ------------------------------------------------------------ [ 4] local 192.168.1.170 port 5001 connected with 192.168.1.1 port 24443 [ ID] Interval Transfer Bandwidth [ 4] 0.0-10.1 sec 125 MBytes 103 Mbits/sec ^Croot@orangepipcplus:~# iperf -c 192.168.1.1 ------------------------------------------------------------ Client connecting to 192.168.1.1, TCP port 5001 TCP window size: 43.8 KByte (default) ------------------------------------------------------------ [ 3] local 192.168.1.170 port 32978 connected with 192.168.1.1 port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0-10.0 sec 258 MBytes 216 Mbits/sec g_ncm gives the same pattern, difference between uplink and downlink is bit higher. Tried connecting OrangePiZero (as mentioned before, it has the same download throughput degradation problem) as gadget to regular USB port of OrangePiPcPlus, and speed in direction OrangePiZero->OrangePiPcPlus is around 200 Mbits/sec, and OrangePiPcPlus->OrangePiZero is around 100 Mbits/sec. So networking and host USB drivers are still able to process inbound 200 Mbits/sec, and 100 Mbits/sec bottleneck is probably somewhere around otg/gadget drivers level. In the meantime, found similar problem report describing highly asymmetric speeds when using cdc_ncm. Might be the same issue but that case had been solved by moving to some NIC-specific driver Added armbianmonitor -u from 5.3.9. Link to comment Share on other sites More sharing options...
Recommended Posts