Speed and reliability issues with ASIX USB nic using AX88179-178a chipset

e.sand

New Member
Jul 11, 2024
1
0
1
I am running Proxmox 8.2.4 using kernel 6.8.8-2 on an Intel i3-10100 with 16gb of ram. The system has an onboard Intel I219-V nic and I added a USB3.0 (in a USB 3.1 gen1 port) Tp-Link UE306 ethernet adapter (uses an AX88179-178a chipset).

I noticed that I was only able to get about 550Mbit/s speed on either nic when in my LXC's. Some frustration and testing later revealed that the reason the onboard Intel nic wasn't getting full speed was an incorrectly configured subnet used on the host PVE (I thought I was being smart by using a /30 to avoid routing issues between host and LXC since both were in the same subnet, but I needed to use /24 in both and routing seems OK).

While playing with things however, the UE306 stopped working. The first issue was that I had partially uninstalled OVS but not completely, so the system couldn't bring up the device (which was still detected by the kernel OK). After removing the rest of OVS, it was able to bring up the interfaces, but my issues didn't end there.

Now that the interface was "working" again, it was now reporting no-carrier sometimes. As I debugged more, it got worse and worse, eventually nothing I could do would get the link up. I tried swapping cables (tested, they worked), swapping USB ports (none on the server seemed to make a difference), and finally tested on my laptop (failed in one port, worked in another). So, I knew it should be working since it worked on my laptop in a port, and I knew cables were OK too.

Searched the internet and there's a lot of different issues over time with this chipset, but none reported recently (most were a few kernels back when it wasn't renaming the device properly and it showed up as "eth0"). I found one thread though that pointed to the ASIX website where you could download the drivers (https://www.asix.com.tw/en/support/download). I decided to give that a shot and compiled the driver and dropped it in to /lib/modules/6.8.8-2-pve/kernel/drivers/net/usb/ax_usb_nic.ko and unloaded the default driver (modprobe -r ax88179_178a) and then loaded the new one (modprobe ax_usb_nic). I then ran "ip a" to check it out and I noticed that the no-carrier status had disappeared from the adapter (which was there, which meant the module worked). I was then able to bring up my bridge with ifup vmbr1 and sure enough it was good too. Finally, I defined a veth in an LXC using vmbr1 and ran a speedtest (btw, download the real Ookla CLI; the Python version doesn't report real speeds) and presto - it was working AND it was finally getting full gigabit speeds.
 
Last edited:
Thanks for posting this. I need to buy a USB NIC and was looking at that TP-Link NIC because of the attractive price. It's always nice to find something that's plug-n-perfect but almost equally good to have a detailed workaround.
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!