Mesh and AP on the same radio stopped working on 24.10.0

My configuration has nothing special in it, to prove it I reseted RC5 to default settings and changed only the ip address, here is the working version:

BusyBox v1.36.1 (2025-01-04 21:35:37 UTC) built-in shell (ash)

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 OpenWrt 24.10.0-rc5, r28304-6dacba30a7
 -----------------------------------------------------
=== WARNING! =====================================
There is no root password defined on this device!
Use the "passwd" command to set up a new password
in order to prevent unauthorized SSH logins.
--------------------------------------------------
root@OpenWrt:~# ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1504 qdisc mq state UP qlen 1000
    link/ether 64:64:4a:eb:26:70 brd ff:ff:ff:ff:ff:ff
3: wan: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN qlen 1000
    link/ether 64:64:4a:eb:26:71 brd ff:ff:ff:ff:ff:ff
4: lan2@eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue master br-lan state LOWERLAYERDOWN qlen 1000
    link/ether 64:64:4a:eb:26:70 brd ff:ff:ff:ff:ff:ff
5: lan1@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-lan state UP qlen 1000
    link/ether 64:64:4a:eb:26:70 brd ff:ff:ff:ff:ff:ff
7: br-lan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qlen 1000
    link/ether 64:64:4a:eb:26:70 brd ff:ff:ff:ff:ff:ff
8: phy0-mesh0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-lan state UP qlen 1000
    link/ether 64:64:4a:eb:26:72 brd ff:ff:ff:ff:ff:ff
9: phy0-ap0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-lan state UP qlen 1000
    link/ether 66:64:4a:eb:26:72 brd ff:ff:ff:ff:ff:ff
root@OpenWrt:~# uci show wireless
wireless.radio0=wifi-device
wireless.radio0.type='mac80211'
wireless.radio0.path='1e140000.pcie/pci0000:00/0000:00:01.0/0000:02:00.0'
wireless.radio0.band='2g'
wireless.radio0.channel='11'
wireless.radio0.htmode='HT20'
wireless.radio0.cell_density='0'
wireless.radio1=wifi-device
wireless.radio1.type='mac80211'
wireless.radio1.path='1e140000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0'
wireless.radio1.band='5g'
wireless.radio1.channel='36'
wireless.radio1.htmode='VHT80'
wireless.radio1.disabled='1'
wireless.wifinet0=wifi-iface
wireless.wifinet0.device='radio0'
wireless.wifinet0.mode='mesh'
wireless.wifinet0.encryption='none'
wireless.wifinet0.mesh_id='malha'
wireless.wifinet0.mesh_fwding='1'
wireless.wifinet0.mesh_rssi_threshold='0'
wireless.wifinet0.network='lan'
wireless.wifinet1=wifi-iface
wireless.wifinet1.device='radio0'
wireless.wifinet1.mode='ap'
wireless.wifinet1.ssid='OpenWrt'
wireless.wifinet1.encryption='none'
wireless.wifinet1.network='lan'
root@OpenWrt:~#

And then i reflashed 24.10 reseted to default settings, only the ip address changed to match my network, here it is the version that is not working:

BusyBox v1.36.1 (2025-02-03 23:09:37 UTC) built-in shell (ash)

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 OpenWrt 24.10.0, r28427-6df0e3d02a
 -----------------------------------------------------
=== WARNING! =====================================
There is no root password defined on this device!
Use the "passwd" command to set up a new password
in order to prevent unauthorized SSH logins.
--------------------------------------------------
root@OpenWrt:~# ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1504 qdisc mq state UP qlen 1000
    link/ether 64:64:4a:eb:26:70 brd ff:ff:ff:ff:ff:ff
3: wan: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN qlen 1000
    link/ether 64:64:4a:eb:26:71 brd ff:ff:ff:ff:ff:ff
4: lan2@eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue master br-lan state LOWERLAYERDOWN qlen 1000
    link/ether 64:64:4a:eb:26:70 brd ff:ff:ff:ff:ff:ff
5: lan1@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-lan state UP qlen 1000
    link/ether 64:64:4a:eb:26:70 brd ff:ff:ff:ff:ff:ff
6: br-lan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qlen 1000
    link/ether 64:64:4a:eb:26:70 brd ff:ff:ff:ff:ff:ff
7: phy0-ap0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-lan state UP qlen 1000
    link/ether 64:64:4a:eb:26:72 brd ff:ff:ff:ff:ff:ff
8: phy0-mesh0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-lan state UP qlen 1000
    link/ether 66:64:4a:eb:26:72 brd ff:ff:ff:ff:ff:ff
root@OpenWrt:~# uci show wireless
wireless.radio0=wifi-device
wireless.radio0.type='mac80211'
wireless.radio0.path='1e140000.pcie/pci0000:00/0000:00:01.0/0000:02:00.0'
wireless.radio0.band='2g'
wireless.radio0.channel='11'
wireless.radio0.htmode='HT20'
wireless.radio0.cell_density='0'
wireless.radio1=wifi-device
wireless.radio1.type='mac80211'
wireless.radio1.path='1e140000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0'
wireless.radio1.band='5g'
wireless.radio1.channel='36'
wireless.radio1.htmode='VHT80'
wireless.radio1.disabled='1'
wireless.wifinet0=wifi-iface
wireless.wifinet0.device='radio0'
wireless.wifinet0.mode='mesh'
wireless.wifinet0.encryption='none'
wireless.wifinet0.mesh_id='malha'
wireless.wifinet0.mesh_fwding='1'
wireless.wifinet0.mesh_rssi_threshold='0'
wireless.wifinet0.network='lan'
wireless.wifinet1=wifi-iface
wireless.wifinet1.device='radio0'
wireless.wifinet1.mode='ap'
wireless.wifinet1.ssid='OpenWrt'
wireless.wifinet1.encryption='none'
wireless.wifinet1.network='lan'
root@OpenWrt:~#

They both are running wpad-basic-mbedtls, the difference is RC5 is wpad-basic-mbedtls - 2024.09.15~5ace39b0-r1 and 24.10 is wpad-basic-mbedtls - 2024.09.15~5ace39b0-r2.

The only thing I did: add a wireless 802.11s mesh interface (mesh id: malha) no password, and added an access point without password or anything.

Your wireless config is considerably changed from the default...
You do not have a country code setting anywhere.
You could start by setting one.

My wireless config is much more complex as it has multiple virtual interfaces, encryption, a guest network etc., but you can see the only fundamental difference is the lack of country code setting. Mine is a test system so I do not care about showing everything, so for completeness here it is in its entirety:

root@meshnode-8ecb:/tmp# uci show wireless
wireless.radio0=wifi-device
wireless.radio0.type='mac80211'
wireless.radio0.path='platform/soc/18000000.wifi'
wireless.radio0.band='2g'
wireless.radio0.channel='1'
wireless.radio0.htmode='HE40'
wireless.radio0.disabled='0'
wireless.radio0.log_level='0'
wireless.radio0.country='AD'
wireless.radio0.noscan='1'
wireless.default_radio0=wifi-iface
wireless.default_radio0.device='radio0'
wireless.default_radio0.network='lan'
wireless.default_radio0.mode='ap'
wireless.default_radio0.ssid='test_ssid-2g-8ecb'
wireless.default_radio0.encryption='owe'
wireless.default_radio0.ifname='phy0-ap0'
wireless.default_radio0.key='owe_null_key'
wireless.default_radio0.macaddr='96:83:c4:a3:8e:cb'
wireless.default_radio0.disabled='0'
wireless.radio1=wifi-device
wireless.radio1.type='mac80211'
wireless.radio1.path='platform/soc/18000000.wifi+1'
wireless.radio1.band='5g'
wireless.radio1.channel='36'
wireless.radio1.htmode='HE80'
wireless.radio1.disabled='0'
wireless.radio1.log_level='0'
wireless.radio1.country='AD'
wireless.default_radio1=wifi-iface
wireless.default_radio1.device='radio1'
wireless.default_radio1.network='lan'
wireless.default_radio1.mode='ap'
wireless.default_radio1.ssid='test_ssid-5g-8ecb'
wireless.default_radio1.encryption='owe'
wireless.default_radio1.ifname='phy1-ap1'
wireless.default_radio1.key='owe_null_key'
wireless.default_radio1.macaddr='96:83:c4:a4:8e:cb'
wireless.default_radio1.disabled='0'
wireless.vxradio0=wifi-iface
wireless.vxradio0.device='radio0'
wireless.vxradio0.network='vtunlan'
wireless.vxradio0.mode='ap'
wireless.vxradio0.ifname='vxradio0'
wireless.vxradio0.ssid='Guest-2g-8ecb'
wireless.vxradio0.encryption='sae'
wireless.vxradio0.disabled='0'
wireless.vxradio0.key='pleaseletmein'
wireless.vxradio0.macaddr='96:83:c4:a5:8e:cb'
wireless.vxradio1=wifi-iface
wireless.vxradio1.device='radio1'
wireless.vxradio1.network='vtunlan'
wireless.vxradio1.mode='ap'
wireless.vxradio1.ifname='vxradio1'
wireless.vxradio1.ssid='Guest-5g-8ecb'
wireless.vxradio1.encryption='sae'
wireless.vxradio1.disabled='0'
wireless.vxradio1.key='pleaseletmein'
wireless.vxradio1.macaddr='96:83:c4:a6:8e:cb'
wireless.m11s0=wifi-iface
wireless.m11s0.device='radio0'
wireless.m11s0.mode='mesh'
wireless.m11s0.encryption='sae'
wireless.m11s0.mesh_id='92d490daf46cfe534c56ddd669297e'
wireless.m11s0.key='78c8068012f8481fec118451e1041b3751801a24ab3e222643a0a6a4424b82a1'
wireless.m11s0.network='lan'
wireless.m11s0.ifname='m-11s-0'
wireless.m11s0.mesh_rssi_threshold='-65'
wireless.m11s0.disabled='0'
wireless.m11s0.macaddr='96:83:c4:a2:8e:cb'
wireless.m11s1=wifi-iface
wireless.m11s1.device='radio1'
wireless.m11s1.mode='mesh'
wireless.m11s1.encryption='sae'
wireless.m11s1.mesh_id='92d490daf46cfe534c56ddd669297e'
wireless.m11s1.key='78c8068012f8481fec118451e1041b3751801a24ab3e222643a0a6a4424b82a1'
wireless.m11s1.network='lan'
wireless.m11s1.ifname='m-11s-1'
wireless.m11s1.mesh_rssi_threshold='-65'
wireless.m11s1.disabled='1'
wireless.m11s1.macaddr='96:83:c4:a2:8e:cb'
root@meshnode-8ecb:/tmp# 

As I said, the only thing that really matters that is missing in your config is the country code, as far as I can see.

The other thing you have different is that I am using wpad-mbedtls, not the basic version.

Add the country code and try again!

Dude, it's the exact same settings on RC5 and 24, those settings RC5 work and in 24 it wont work, the only thing I did after reset was changing ip address and click add
image

Just add the missing country code. It might fix the problem that appears only to effect you.

Ok

Here is RC5 with access point, mesh and country code

Here is v24 with access point, mesh and country code:

Here is v24 with only mesh

All three configuration backups are here.

Sorry, my post was not actually related to this thread.

Hello,

I am experiencing very similar issues. With 24.10.0. Going back 23.05.5 solves the issue. No config change between one and the other. Device is a dummy AP without firewall, DHCP or routing. I removed wpad-mbedtls and replaced with hostapd-mbedtls, and same issue occurs.

For me, the 5GHz band dies, only 2.4GHz works. Only a reboot can bring back the 5GHz band, only to stop working again. Being reproducible with hostapd-mbedtls, I woudl assume the issue is not with wpad or hostpad, but with the firmware itself.

I see some other user also reported its 5GHz dies and rebooting brings it back 5ghz can't connect after 24.10 upgrade

So it is reproducible by several people using Xiaomi Mi Router 4A Gigabit Edition v1.

I would say the GL-MT1300 tested by bluewavenet is a different hardware even if both are mt7621, and that is why that device is not seeing the issue.

I will try 24.10.0 RC5 and RC6 to check as @fernandodiacenco pointed out, if upto RC5 works, and from RC6 onward breaks

It may not be related to this but while testing mesh on many different architectures, I have found that on some devices, the DSA config for virtual wireless interfaces does not create a unique mac address for the new interface, instead it re-uses an existing one.
This can have the effect of either the new interface fails to come up at all, or fails when traffic is present on more than one virtual interface on the same physical radio.. if you follow what I am saying.

In my wireless config I posted earlier you can see I added a mac override to ensure the macs of all the interfaces were different.
ie like this:

You can check what macs you get, assuming it actually comes up, by looking at:
ip link

I do the same for all interfaces on my system.
Site node: when using batman these addresses can be added to bat-hosts with a name so you get name resolution with the batman tools.

just for reference: openwrt issue 17865

Freifunk Dresden uses 80211s meshing with a lot of routers. since v24.10.0-rc6 meshing is INCOMPATIBLE.

Consider two groups of routers.
Group A - contains routers with firmware based on openwrt upto v22 (we don't have v23).
Group B - contains routers with firmware starting from v24.10.0-rc6 (still not released).

Meshing on 2.4GHz:

  • All Routers within Group A can mesh with each other
  • All Routers within Group B can mesh with each other
    BUT: NO MESHING beetween Group A and Group B anymore (wifi settings are same on all routers)

Meshing on 5Ghz:

  • All routers can mesh with each other

Since a lot of "old" routers MUST stick to openwrt 22 (because of increasing flash/ram demands)
we can not update those to openwrt 24. And because new router are only supported/introduced for openwrt 24. We have a compatiblity issue.

I have not tested it, but I assume that meshing between openwrt 24 and other vendors (fritzbox,or so) will also break.

Tested: different routers from target:

  • ramips-mt7621-generic
  • mediatek-filogic (cudy wr3000) which has a lot of wifi instabilities

Also: ramips and mediatek show a lot of "Crash warnings" in syslog every few minutes since openwrt 22. All releated to 80211s.

My impression is, that wifi gets worse and worse and firmware gets more and more untested on real devices before any release.

This is not what this topic (and the Github issue you reference) has been discussing ie mesh and AP on the same radio not working.

It might be better for you to start a new topic to discuss your problem which appears to be very different.

FYI, I am not seeing your problem at all, admittedly I have not tried with OpenWrt 22, but have had 19, 21, 23, 24 and current snapshot all meshing.

Between OpenWrt 22 and 24, this is very likely your problem, particularly with the migration to DSA which has introduced many changes.
When you open your own topic, please show that common config....