Performance issue with dumb AP configuration and moonlight/sunshine

Hi all,

I'm trying to stream games from my desktop to my laptop over wifi. My isp router is not able to do it, so I tried different things.

The best result I had were with a raspberry pi as a router with ethernet and wifi ax usb adapters. This worked very well for five minutes until the kernel panicked, probably due to a bug in the wifi adapter's firmware. Every time I tried, the raspberry rebooted after ~5min of high load.

So I red this forum and decided to replace the wifi adapter with a wireless AP (Zyxel NWA50AX Pro). Which was the cheapest AX3000 I could find, but didn't worked very well (crash/reboot every time I tried to switch the wifi to AX) and I had to install OpenWrt on it (now it can run an AX network, but not above channel 48).

So, here is my current setup:

[Laptop] <--wifi ax--> [AP] <-- ethernet --> [Router] <-- ethernet --> [Desktop]

[Laptop] runs Moonlight on Fedora 37
[AP] runs OpenWrt SNAPSHOT r23602-9a5b1af670
[Router] runs OpenWrt 23.05.0-rc2 r23228-cd17d8df2a
[Desktop] runs Sunshine on Windows 11

Everything is in the same subnet (192.168.1.0/24) where

  • [Router] (192.168.1.1) is the dhcp, dns and gateway with a br-lan (LAN) and a br-wan (WAN) interfaces (both AP and Desktop are on the br-lan);
  • [AP] (192.168.1.254) is just a dumb access point with only a br-lan (LAN) interface.

If I iperf3 from the laptop, I get

  • to the AP
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   372 MBytes   312 Mbits/sec    0             sender
[  5]   0.00-10.12  sec   370 MBytes   307 Mbits/sec                  receiver
  • to the router
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   188 MBytes   158 Mbits/sec    2             sender
[  5]   0.00-10.07  sec   185 MBytes   154 Mbits/sec                  receiver
  • to the desktop
// iperf3
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  51.8 MBytes  43.5 Mbits/sec   36             sender
[  5]   0.00-10.00  sec  50.7 MBytes  42.6 Mbits/sec                  receiver

// iperf with -d
[ ID] Interval       Transfer     Bandwidth
[  1] 0.00-10.09 sec  50.3 MBytes  41.8 Mbits/sec
[  2] 0.00-10.88 sec  50.8 MBytes  39.1 Mbits/sec

The performance is dropping a lot for each devices it passes trough and loses packets between Router and Desktop, but even if it is still above the 20Mbps configured on Moonlight, when testing I get
Screenshot from 2023-07-30 19-15-40

I ran a top on both OpenWrt devices while testing and both stayed with CPU 99% idle.

Did I configure something wrong (please tell me where to look) ?
I'm thinking of buying a network switch. Should I ?

Hi,
Can you confirm that you are using nwa50ax pro?
Openwrt database shows as supported only the non pro version....
Thanks

Hi Documibozu,

Yes, I'm using the "pro" version and it is supported on SNAPSHOT.
https://firmware-selector.openwrt.org/?version=SNAPSHOT&target=mediatek%2Ffilogic&id=zyxel_nwa50ax-pro

It's not listed (yet ?) on the table of hardware, but the firmware is operational.

Anyway, if you are looking device to buy. You might want to consider another one as it's not very stable especially on stock firmware.

About the performance issue, I noticed a great improvement after update the laptop to kernel 6.4.6 and thus updating the wlan adaptor's driver. So it might not be linked to the router/AP.

I also noticed that the link between router and AP is 2.5G Full duplex on AP side and 2.5G Half duplex on router side. Could that be a problem when streaming at 40-50 Mbps ?

Thanks for the advice.
I can buy one for a very low price (a refurbished one).
Have you solved the dfs channel problem? It's essential to me...

Yes. I just tried setting the channel selection to "auto" and it looks like it's working properly.

I also tried selecting a dfs channel manually and it's working. But I'm a bit confused because I already tried this a few days ago and it made the wifi to crash every time I tried.

UPDATE: I just tried to select channel 140 manually and it crashed the device completely (wifi is off, the devie is not responding on ethernet anymore). So the issue seems to only concern some channels, but not all of them.