Jetson Nano AX88179 USB speed help!


I was really struggling in the past few days and decided to ask for some help with my Jetson Nano router setup. I orderd an Amazon Basics USB3 ethernet adapter with the ASIX AX88179 chip. Recompiled the kernel to support all the nfqueue and pppoe features that I needed. All works fine but the internet speed is between 400 and 500 Mbits/s. Just tested it on a Rpi4 and I got 930 Mbits/s. if i switch the pppoe port to the built in ethernet port, I get the same speed(930Mbits/s) so it is clearly not the firewall or the dongle. Installed the latest firmware from the asix site(1.20.0). Checked the ethernet port speed(Driver=ax88179_178a, 5000M), disabled the autosuspend and yet can’t get past 500Mbits…Any suggestion is appriciated :)

Do make sure it is actually running at USB3 speeds. If it has reverted to USB2 it will not be able to reach full speed. Additionally, make sure you run “sudo jetson_clocks” for performance mode (avoid testing in any kind of energy saving mode).

If you run the command “lsusb -t”, then you will get a tree view of USB devices. If the USB device is listed with “480M” at the end of the line, then it is running USB2. If instead it shows “5000M” (or anything faster than 480M), then the USB part is running at USB3 speeds.

Should the USB3 component be correct, then you can proceed to troubleshooting performance. Also note that the tree view mentions other devices, and unless your device is the only one working through the root_hub, then your device might not have full bandwidth available.

Yes i am sure it is running in usb3 mode, it is showing ‘Driver=ax88179_178a, 5000M’. I also enabled jetson clocks and use max performance mode. I don’t know what to do next…

Please execute sudo tegrastats to check system status. We have seen a case the perofrmance is capped by CPU capability instead of USB3 bandwidth. May get more information from tegrastats.

This is the result on idle(it is used as a router at this moment as well):

RAM 297/3961MB (lfb 724x4MB) SWAP 0/1981MB (cached 0MB) IRAM 0/252kB(lfb 252kB) CPU [0%@1224,0%@1224,0%@1224,0%@1224] EMC_FREQ 0%@1600 GR3D_FREQ 0%@76 VIC_FREQ 0%@192 APE 25 PLL@24C CPU@27C PMIC@100C GPU@26C AO@29.5C thermal@26.5C POM_5V_IN 1788/1767 POM_5V_GPU 0/0 POM_5V_CPU 158/138

This is the result when running speedtest:

RAM 309/3961MB (lfb 721x4MB) SWAP 0/1981MB (cached 0MB) IRAM 0/252kB(lfb 252kB) CPU [100%@1479,20%@1479,25%@1479,17%@1479] EMC_FREQ 0%@1600 GR3D_FREQ 0%@76 VIC_ FREQ 0%@192 APE 25 PLL@25.5C CPU@29C PMIC@100C GPU@27.5C AO@31C thermal@28.25C P OM_5V_IN 2833/2917 POM_5V_GPU 0/0 POM_5V_CPU 1141/1226

I also tought it could be the cpu but it is not for two reasons:

  • On the Rpi4 also one core is 100% and the others are lower, the speed is 930Mbits/s there
  • Tested a Mikrotik hEx with fasttrack enabled, that router only has a 2 core 880mhz cpu and it easily reach 900-930Mbits/s

AX88179_178a driver version is 1.20.0 on both Rpi and Jetson. I also disabled the firewall and purey tested with only one iptables NAT rule and got the same result, so it is clearly not the firewall throttling down the performance…

Made another test, flashed a brand new image with the latest updates to a new sd card and made an iperf test between the jetson and another computer. The max speed was 511Mbits/s. Same iperf test showed 940Mbits/s on Rpi4. The other thing that I was thinking, is that I use an NVME SSD with an m.2 converter in the pci slot. Can it happen that if the Jetson detects a connection on the pci lane, it halfes the speed on the usb bus?

We think it is similar to this case:
The speed of 5G dongle - #27 by DaneLLL

The performance is dominated by CPU capability. The same device has better performance on Xavier since the CPU is more powerful.

Thanks for the reply. I don’t think it is the cpu(or maybe it is but not because of the raw power of it) beause the Rpi4’s cpu is only around 30% faster and I can achive more than double the speed on it. So either the usb hub controller(xhci) is insufficient os some other thung goes in the background which I won’t find. If i will have enough time I will try to hack an Arch ARM on the board and check if it still exists. The other thing I can do is compare the raspberry system what is different. Yet, the performance is more than enough I think, because on the built in ethernet interface I can easily achieve 930-940Mbits/s.

Any other suggestions to get another high speed ethernet port?(can be different dongle or hat or something that can reliably reach 1Gb/s)