Begin forwarded message: Date: Tue, 20 Apr 2021 02:24:51 +0000 From: bugzilla-daemon@xxxxxxxxxxxxxxxxxxx To: stephen@xxxxxxxxxxxxxxxxxx Subject: [Bug 212731] New: USB Ethernet adapter ASIX AX88179 disconnects under heavy load. https://bugzilla.kernel.org/show_bug.cgi?id=212731 Bug ID: 212731 Summary: USB Ethernet adapter ASIX AX88179 disconnects under heavy load. Product: Networking Version: 2.5 Kernel Version: 5.11.13 Hardware: All OS: Linux Tree: Mainline Status: NEW Severity: normal Priority: P1 Component: Other Assignee: stephen@xxxxxxxxxxxxxxxxxx Reporter: kozyavk@xxxxxxxxx Regression: No Hi! I bought three USB3.0-Ethernet adapters (AX88179) on Aliexpress in attempt to make three small arm servers from scavenged tablets. Two of the tablets are Allwinnwer A10 based and one is based on Amlogic 8726-MX. For A10 tablets I compiled the latest mainline kernel (5.11.13). For Amlogic I compiled kernel sources which they provided in 2014 (3.10.10). All boards have Ubuntu 20.04 rootfs. I tried ax88179 driver included in kernel, I also tested the latest driver from ASIX web site. All possible combinations of these boards, kernels and drivers have similar problem: When I install and run transmission-daemon to download some torrents - network connection between tablet and external devices disappears (Transmission loses connection too). From inside of tablet I can ping ASIX adapter's IP, but I can't ping router or any Internet address. I can't ping tablet from outside. Adapter's LINK LED in ON and even ACT LED is blinking but there is no actual connection. There are no (relevant) error messages in syslog or dmesg. I tried to disable green ethernet etc - didn't help (options ax88179_178a bEEE=0 bGETH=0). I tried to find some buffers I could increase or some options like ethernet flow control that could possibly help me, but ethtool refuses to set any of them which is strange, because all those options are available in driver for Windows OS. I also tried to provide separate power supply for the adapter, add more capacitors to stabilize adapter's power supply, used different USB ports and external hubs, different ethernet cables... it changed nothing. When systemd-networkd is used to manage network, the connectivity of dead adapter usually could be restored by replugging ethernet cable. I can see "link state is 0 link state is 1" in syslog The connectivity can also be restored by running ip link set dev usbnet0 down ip link set dev usbnet0 up The amount of time between the launch of Transmission and network disappearance is usually less than 5 minutes on download speed about 20-40Mbps ( 3 files, 10 peers each). If download speed is limited in Transmission's config to less than 10Mbps - the time before network disappearance can be much larger but the device could stay online for 5 hours and then have dozen of disconnects during the sixth hour. So this timeout is unsteady. I also made a test on DELL Latitude 3490 laptop with latest KDE Neon installed (I think it has Ubuntu's x86_64 kernel as is). The problem with adapter remains on conventional laptop too. After a few minutes of downloading the message appears "Limited connection. The adapter appears to be connected to network but Internet in unreachable" - something like that. Then I connected my laptop to my network provider directly (bypassing router) - the problem remained. So the problem is not in my switch/router or my old ARM boards. It is either adapter itself or something in the software. And finally, I made two tests on the same laptop running Windows 10. I used uTorrent instead of Transmission but with the same heavy load. The adapter works flawlessly on Windows under any load. At least during 24 hours. So, I think there is some problem with driver for AX88179 devices. I hope actually, that the problem is just in the size of some buffers in USB or TCP/IP stack, but I have no clue what could it be. I use some tuning of TCP/IP for higher network load on my other device: net.core.rmem_max = 16777216 net.core.wmem_max = 16777216 net.ipv4.udp_mem = 8388608 12582912 16777216 net.ipv4.tcp_rmem = 4096 87380 8388608 net.ipv4.tcp_wmem = 4096 65536 8388608 but it doesn't help me with ASIX. -- You may reply to this email to add a comment. You are receiving this mail because: You are the assignee for the bug.