MX5300 AX radio troubles

I recently noticed something strange about the Linksys MX5300 router. It looks to me the AX/radio1 is somehow configured differently, either at hardware or software level, so that if I didn't setup the router carefully, devices connected to radio1 will end up partially "isolated" from other WIFI clients connected to radio0 & radio2. In addition some network traffic won't pass through to radio1: e.g. radio1 devices cannot find "xyz.local" addresses (mDNS issue?) or in extreme cases even DHCP.

The situation couples with the use of LAN/WAN port: if I configured MX5300 as a dumb wired AP, it works well when only the upstream cable is plugged into one fixed LAN port. Moving the cable to another port or booting the AP with devices plugged into remaining LAN ports will break the AX/radio1, making clients isolated and missing many kinds of network traffic.

Under backhaul/extender mode, the only working way is to use the AX/radio1 as the client and relayd it to the lan interface. Otherwise the setup will fail almost entirely.

Wondering if I missed something or there are insights can be shared. I have configured many other OpenWRT devices without trouble. Really would like MX5300 to work well. Thanks a lot!

It is possible that you have encountered a problem, the solution of which is proposed here: https://github.com/openwrt/openwrt/pull/18705

If the router boots right into this situation is it still the same case?

I can't answer that. The best thing to do is build an image with the changes and check. Here's an issue related to that: https://github.com/openwrt/openwrt/issues/9555

Just tried the latest 24.10.1. It looks the situation under the regular router mode has largely been fixed, but under the dumb AP mode went worse. My test shows the AX radio clients are no longer isolated but some network traffic, especially mDNS, is totally filtered/blocked (previously I can tune the LAN port settings to make it work barely).

I attached a minimum example showing the AX radio issue under AP mode.
ubus call system board

{
	"kernel": "6.6.86",
	"hostname": "MX5300AP",
	"system": "ARMv8 Processor rev 4",
	"model": "Linksys MX5300",
	"board_name": "linksys,mx5300",
	"rootfs_type": "squashfs",
	"release": {
		"distribution": "OpenWrt",
		"version": "24.10.1",
		"revision": "r28597-0425664679",
		"target": "qualcommax/ipq807x",
		"description": "OpenWrt 24.10.1 r28597-0425664679",
		"builddate": "1744562312"
	}
}

cat /etc/config/network

config interface 'loopback'
	option device 'lo'
	option proto 'static'
	option ipaddr '127.0.0.1'
	option netmask '255.0.0.0'

config globals 'globals'
	option ula_prefix 'fdff:f6b0:485e::/48'
	option packet_steering '1'

config device
	option name 'br-lan'
	option type 'bridge'
	list ports 'lan1'
	list ports 'lan2'
	list ports 'lan3'
	list ports 'lan4'

config interface 'lan'
	option device 'br-lan'
	option proto 'dhcp'
	option hostname '*'

cat /etc/config/wireless

config wifi-device 'radio0'
	option type 'mac80211'
	option path 'soc@0/10000000.pci/pci0001:00/0001:00:00.0/0001:01:00.0'
	option band '5g'
	option channel '100'
	option htmode 'VHT80'
	option country 'US'
	option cell_density '0'

config wifi-iface 'default_radio0'
	option device 'radio0'
	option network 'lan'
	option mode 'ap'
	option ssid 'OpenWrt_AC'
	option encryption 'sae-mixed'
	option key 'abcd1234'
	option ocv '0'

config wifi-device 'radio1'
	option type 'mac80211'
	option path 'platform/soc@0/c000000.wifi'
	option band '5g'
	option channel '36'
	option htmode 'HE80'
	option country 'US'
	option cell_density '0'

config wifi-iface 'default_radio1'
	option device 'radio1'
	option network 'lan'
	option mode 'ap'
	option ssid 'OpenWrt_AX'
	option encryption 'sae-mixed'
	option key 'abcd1234'
	option ocv '0'

config wifi-device 'radio2'
	option type 'mac80211'
	option path 'platform/soc@0/c000000.wifi+1'
	option band '2g'
	option channel '1'
	option htmode 'HE20'
	option country 'US'
	option cell_density '0'

config wifi-iface 'default_radio2'
	option device 'radio2'
	option network 'lan'
	option mode 'ap'
	option ssid 'OpenWrt'
	option encryption 'sae-mixed'
	option key 'abcd1234'
	option ocv '0'

cat /etc/config/dhcp

config dnsmasq
	option domainneeded '1'
	option boguspriv '1'
	option filterwin2k '0'
	option localise_queries '1'
	option rebind_protection '1'
	option rebind_localhost '1'
	option local '/lan/'
	option domain 'lan'
	option expandhosts '1'
	option nonegcache '0'
	option cachesize '1000'
	option authoritative '1'
	option readethers '1'
	option leasefile '/tmp/dhcp.leases'
	option resolvfile '/tmp/resolv.conf.d/resolv.conf.auto'
	option nonwildcard '1'
	option localservice '1'
	option ednspacket_max '1232'
	option filter_aaaa '0'
	option filter_a '0'

config dhcp 'lan'
	option interface 'lan'
	option start '100'
	option limit '150'
	option leasetime '12h'
	option dhcpv4 'server'
	option ignore '1'

config odhcpd 'odhcpd'
	option maindhcp '0'
	option leasefile '/tmp/hosts/odhcpd'
	option leasetrigger '/usr/sbin/odhcpd-update'
	option loglevel '4'

cat /etc/config/firewall

config defaults
	option input 'REJECT'
	option output 'ACCEPT'
	option forward 'REJECT'
	option synflood_protect '1'

config zone
	option name 'lan'
	option input 'ACCEPT'
	option output 'ACCEPT'
	option forward 'ACCEPT'
	list network 'lan'

config include 'pbr'
	option fw4_compatible '1'
	option type 'script'
	option path '/usr/share/pbr/firewall.include'

Here to report another observation kind of shocking to me. I messed with one unit, by some crazy tests of plugging all kinds of ethernet adapters and storage into the USB port, and finally broke the AX radio again: isolated clients, no mDNS. Interestingly,

  • factory reset + settings reupload didn't fix it
  • sysupgrade reflash + settings reupload didn't fix it
  • full factory image flash by mtd commands to both partitions + settings reupload fixed

So the root cause of this might be hidden somewhere between what sysupgrade image and factory image do to the device? This is way beyond what I can understand. Maybe this helps developers.

Keep on reporting my discoveries. Under the normal router mode, I found three confirmed ways to mess up radio1/AX (isolated clients, no mDNS, ...):

  • switching the AX radio width to 160MHz, this is still manageable as long as I am aware of the limitation
  • associate the AX radio with another network interface other than "lan", for example guest, this is also manageable as long as I am aware of the limitation
  • rearranging connected devices on four of the LAN ports: especially booting up with devices unplugged, failures in handling this normal use case is such a deal breaker...

Once "messed up", there is no easy way back in any situations (setting reversal, port reversal or even factory reset) unless double factory firmware flash by mtd. Hopefully developer can address this limitation :folded_hands: