Need help! Openwrt + USB LAN Asix AX88179 (Ugreen 50922) crashes continuously, has to reboot constantly

Hello everybody. Currently I'm running Openwrt on Raspberry and have tried a lot of different Openwrt builds. Constant problem with USB lan Asix 88179. I need your advice. thank you very much...

Hardware

  • Raspberry Pi 4B- MicroSD Kingston 32GB Class 10
  • Power 3A for Raspberry and Power 3A for Hub USB 3.0
  • 2 Ugreen 50922 USB 3.0 Gigalan Asix AX88179 10/100/1000

Software

  • OpenWrt SNAPSHOT r18269-c47e82d255 Linux 5.10.82
  • Mwan3
  • kmod-usb-net-asix-ax88179

- I have tested from Linux version 5.4 to 5.10 all get the USB WAN error Asix AX88179. (Tested on 2 USB Lan Realtek r8152 runs relatively well, no problem)
- When used for a period of 2.3 hours, the 2 usb Asix AX88179 automatically failed to connect to the wan and had problems. If I restart Openwrt, the connection is normal. (If tested with App Speedtest or website Speedtest, tested about 2.3 times, these 2 USBs suddenly died for no reason)
Does anyone know how to fix this on Openwrt? I suspect due to Asix AX88179 USB. Thank you!
(Power supply is excluded because I have tested various 3A power sources)

[  186.063289] ------------[ cut here ]------------
[  186.070262] NETDEV WATCHDOG: eth2 (ax88179_178a): transmit queue 0 timed out
[  186.079744] WARNING: CPU: 0 PID: 0 at net/sched/sch_generic.c:467 dev_watchdo                                                                                                 g+0x2b0/0x2c0
[  186.090477] Modules linked in: pppoe ppp_async iptable_nat brcmfmac xt_state                                                                                                  xt_nat xt_conntrack xt_REDIRECT xt_MASQUERADE xt_FLOWOFFLOAD xt_CT pppox ppp_gen                                                                                                 eric nf_nat nf_flow_table nf_conntrack ipt_REJECT cfg80211 ax88179_178a xt_time                                                                                                  xt_tcpudp xt_multiport xt_mark xt_mac xt_limit xt_comment xt_TCPMSS xt_LOG usbne                                                                                                 t usbhid slhc nf_reject_ipv4 nf_log_ipv4 nf_defrag_ipv6 nf_defrag_ipv4 iptable_m                                                                                                 angle iptable_filter ip_tables hid_generic crc_ccitt compat brcmutil snd_bcm2835                                                                                                 (C) hid evdev nf_log_ipv6 nf_log_common ip6table_mangle ip6table_filter ip6_tabl                                                                                                 es ip6t_REJECT x_tables nf_reject_ipv6 snd_rawmidi snd_seq_device snd_pcm_oss sn                                                                                                 d_pcm_dmaengine snd_mixer_oss snd_hwdep snd_compress snd_pcm snd_timer snd sound                                                                                                 core nls_utf8 vfat fat nls_iso8859_1 nls_cp437
[  186.172815] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G         C        5.10.82                                                                                                  #0
[  186.182825] Hardware name: Raspberry Pi 4 Model B Rev 1.2 (DT)
[  186.191200] pstate: 40400005 (nZcv daif +PAN -UAO -TCO BTYPE=--)
[  186.199756] pc : dev_watchdog+0x2b0/0x2c0
[  186.206241] lr : dev_watchdog+0x2b0/0x2c0
[  186.212676] sp : ffffffc010b8bd70
[  186.218341] x29: ffffffc010b8bd70 x28: ffffffc010b2a000
[  186.225950] x27: 0000000000000140 x26: 00000000ffffffff
[  186.233505] x25: 0000000000000000 x24: 0000000000000000
[  186.240976] x23: ffffff8041d90480 x22: 0000000000000001
[  186.248433] x21: ffffffc010a16000 x20: ffffff8041d90000
[  186.255834] x19: 0000000000000000 x18: 000000000000013e
[  186.263209] x17: ffffffc0126d0598 x16: ffffffc0126d059c
[  186.270543] x15: ffffffc010a278d0 x14: 00000000000003ba
[  186.277835] x13: 000000000000013e x12: ffffffc010b8ba48
[  186.285092] x11: ffffffc010a7f8d0 x10: 00000000fffff000
[  186.292300] x9 : ffffffc010a7f8d0 x8 : 0000000000000000
[  186.299456] x7 : ffffffc010a278d0 x6 : 0000000000000001
[  186.306538] x5 : 0000000000000000 x4 : 0000000000000000
[  186.313585] x3 : 0000000000000000 x2 : ffffff807fb95028
[  186.320584] x1 : ffffffc06f18e000 x0 : 0000000000000040
[  186.327539] Call trace:
[  186.331566]  dev_watchdog+0x2b0/0x2c0
[  186.336774]  call_timer_fn.constprop.0+0x24/0x80
[  186.342900]  __run_timers.part.0+0x240/0x280
[  186.348659]  run_timer_softirq+0x3c/0x74
[  186.354030]  _stext+0x124/0x290
[  186.358592]  irq_exit+0xa0/0xf0
[  186.363077]  __handle_domain_irq+0x80/0xe0
[  186.368451]  gic_handle_irq+0x78/0xa0
[  186.373304]  el1_irq+0xcc/0x180
[  186.377563]  arch_cpu_idle+0x18/0x30
[  186.382186]  default_idle_call+0x20/0x70
[  186.387078]  do_idle+0x21c/0x280
[  186.391247]  cpu_startup_entry+0x28/0x60
[  186.396092]  rest_init+0xbc/0xcc
[  186.400221]  arch_call_rest_init+0x10/0x1c
[  186.405198]  start_kernel+0x438/0x454
[  186.409766] ---[ end trace b9f206aa7400cbc2 ]---

crashlog+conditions suggest nic hardware / load induced lockup... even more probable considering 5.4 and 5.10 manifest similar behavior...

i'd not exclude some arch + driver specific complications given the maturity of said chipsets, nor power circuitry as a factor

a little more info on how much data exactly you were pumping through each nic is just as relavent as time frames to crash... ( as is temperature I suppose... but not everyone has a thermal camera :wink: )

i think the first point of call would be to also reproduce with only a single usb nic inserted / used ...
(or save the trouble and use alternate nic/s?)

1 Like

what id you skip the hub, and connect the NICs directly to the RPi ?

1 Like

The temperature or power is definitely not because I use 3A and the fan is cool. machine temperature is very cool. My per wan speed is 250mb/wan and I use mwan3 to make 2 wan bandwidth into 1 Lan. Lan is equivalent to 400 ~ 450mb (After a few tests using the app or Speedtest website, 2 usb asix ax88178 is enabled and it is disabled. It seems that Asix ax88179 really has a problem. restart Raspberry .

I tested not using a usb 3.0 hub. Or just use 1 Usb Asix ax88179 but the problem is still the same. Check with the Speedtest application 3.4 times that the usb has a problem. Or leave it for 1.2 hours, the problem still occurs...

1 Like

yeah... if there is an issue... I was sort of implying it's lower down in the power delivery layers... in the regulator ic's or components themselves...

rpi4 is known to interact in a non predictable way with hubs and power bleed also...

given the above... i'd go with another chipset / nic...

Can you give me advice on this? I really want to run 2 wan on raspberry.

ue300 / rtl8153? is popular and has generally proved reliable for many users here...

at those speeds... vlans via a smart switch are also a reliable option... ( and bypass the hassle of having to handle boot usb -> nic interface reassignments )

I also consulted a lot of articles about Ax88179. and last response is This device should not be used for Raspberry + Openwrt to avoid problems. Thank you so much my friend!

1 Like

Out of curiosity why are/were you using the hub? Given the RPi4 has two USB 3.0 ports and as far as I am aware ethernet adapters aren't that power hungry.

1 Like

not sure about the OP, but I'd lean towards using a hub here...

mostly for the space/wear and tear factor... but the onboard power regulator is the achilles heel of the pi4... so if in doubt use a (powered) hub... but some hubs cause more issues than they solve...

a single usb->ethernet + a single usb3 thumb drive would probably be ok... and as you say 2 nics would probably be ok too...

but when hardware starts acting funny... it's definately one of the first things to try on these boards...

  • I replaced the Hub using a better one for the Asix ax88179a. But the problem is still the same. (The problem of lack of power can be ignored)

  • And I also tried 1 usb ax88179 to the Raspberry board, the problem is still the same, combining a lot of linux 5.4 > 5.10

  • Asix ax88179 tried on both PfSense and same error. It seems that Asix ax88179 is really problematic on Linux systems.

All 3 tests give the same result: Asix automatically dies after some time, you have to restart Openwrt, pfsense... Test App Speedtest or website 3,4 times Asix88179 will die on its own.

I firmly believe that the problem is related to the Driver that all Asix ax88179 currently on the market drive when running on Lunux. And I'm still waiting for a fix from someone in the community.

2 Likes

I want to use 2 Wan Asix ax88179 in combination with Mwan3 for load balancing.