802.11s-related changes between 21.02.2 and 21.02.3? Problems with mesh after upgrade

The radio is transmitting fine (as I said, there are two SSIDs, one for the mesh and one for normal clients). When the monitoring algorithm detects something, there are clear log entries (I've been running this system for over a year now, at most every few months there was a dropout due to "something" being detected).

Same goes for the scan, and yes, initial radio startup time is a bit longer and there's a periodic rescan - I am fine with those for this setup. That's simply not what is going on after 21.02.3. The physical radio link is there, but the mesh implementation reports an error during the handshake. Or at least that's what it looks like to me.

Addendum: I'll change channels again and post some logs from both nodes for the mesh handshake.

What was the error?

wpa_supplicant[1853]: mesh0: Mesh MPM: failed to send peering frame .

1 Like

That error happens when the mesh interface is not established (ie "up"), what would be expected if DFS was actively keeping the interface down.
Are you running mesh11sd? You can get debug information from it that might give useful information.

Not on these devices. I'll set it up on the router and see if there is more information.

So this is still without mesh11sd. I've redacted unrelated clients etc. I first switched channel on the router and then on the repeater. MAC addresses etc. are redacted. The logs are from the router (from the point of changing the channel in LuCi to the interfaces being up, then again from the point the channel is changed on the repeater as well. Unrelated DHCP requests in between have been redacted).

Sat Jul 16 12:06:08 2022 daemon.info hostapd: wlan1: STA <CLIENTMAC1> RADIUS: starting accounting session 5DFD53FCDD071A3D
Sat Jul 16 12:06:08 2022 daemon.info hostapd: wlan1: STA <CLIENTMAC1> WPA: pairwise key handshake completed (RSN)
Sat Jul 16 12:06:08 2022 daemon.notice wpa_supplicant[2019]: if-mesh: CTRL-EVENT-SCAN-FAILED ret=-16 retry=1
Sat Jul 16 12:06:09 2022 daemon.notice wpa_supplicant[2019]: if-mesh: CTRL-EVENT-SCAN-FAILED ret=-16 retry=1
Sat Jul 16 12:06:10 2022 daemon.notice wpa_supplicant[2019]: if-mesh: CTRL-EVENT-SCAN-FAILED ret=-16 retry=1
Sat Jul 16 12:06:11 2022 daemon.notice wpa_supplicant[2019]: if-mesh: CTRL-EVENT-SCAN-FAILED ret=-16 retry=1
Sat Jul 16 12:06:12 2022 daemon.info dnsmasq-dhcp[10787]: DHCPDISCOVER(br-lan) <CLIENTMAC1>
Sat Jul 16 12:06:12 2022 daemon.info dnsmasq-dhcp[10787]: DHCPOFFER(br-lan) <CLIENTIP1> <CLIENTMAC1>
Sat Jul 16 12:06:12 2022 daemon.info dnsmasq-dhcp[10787]: DHCPDISCOVER(br-lan) <CLIENTMAC1>
Sat Jul 16 12:06:12 2022 daemon.info dnsmasq-dhcp[10787]: DHCPOFFER(br-lan) <CLIENTIP1> <CLIENTMAC1>
Sat Jul 16 12:06:12 2022 daemon.notice wpa_supplicant[2019]: if-mesh: CTRL-EVENT-SCAN-FAILED ret=-16 retry=1
Sat Jul 16 12:06:13 2022 daemon.info dnsmasq-dhcp[10787]: DHCPREQUEST(br-lan) <CLIENTIP1> <CLIENTMAC1>
Sat Jul 16 12:06:13 2022 daemon.info dnsmasq-dhcp[10787]: DHCPACK(br-lan) <CLIENTIP1> <CLIENTMAC1>
Sat Jul 16 12:06:13 2022 daemon.notice wpa_supplicant[2019]: if-mesh: CTRL-EVENT-SCAN-FAILED ret=-16 retry=1
Sat Jul 16 12:06:14 2022 daemon.notice wpa_supplicant[2019]: if-mesh: CTRL-EVENT-SCAN-FAILED ret=-16 retry=1
Sat Jul 16 12:06:15 2022 daemon.notice wpa_supplicant[2019]: if-mesh: CTRL-EVENT-SCAN-FAILED ret=-16 retry=1
Sat Jul 16 12:06:16 2022 daemon.notice wpa_supplicant[2019]: if-mesh: CTRL-EVENT-SCAN-FAILED ret=-16 retry=1
Sat Jul 16 12:06:17 2022 daemon.notice wpa_supplicant[2019]: if-mesh: CTRL-EVENT-SCAN-FAILED ret=-16 retry=1
Sat Jul 16 12:06:18 2022 daemon.notice wpa_supplicant[2019]: if-mesh: CTRL-EVENT-SCAN-FAILED ret=-16 retry=1
Sat Jul 16 12:06:19 2022 daemon.notice wpa_supplicant[2019]: if-mesh: CTRL-EVENT-SCAN-FAILED ret=-16 retry=1
Sat Jul 16 12:06:20 2022 daemon.notice wpa_supplicant[2019]: if-mesh: CTRL-EVENT-SCAN-FAILED ret=-16 retry=1
Sat Jul 16 12:06:21 2022 daemon.notice wpa_supplicant[2019]: if-mesh: CTRL-EVENT-SCAN-FAILED ret=-16 retry=1
Sat Jul 16 12:06:22 2022 daemon.notice wpa_supplicant[2019]: if-mesh: CTRL-EVENT-SCAN-FAILED ret=-16 retry=1
Sat Jul 16 12:06:23 2022 daemon.notice wpa_supplicant[2019]: if-mesh: CTRL-EVENT-SCAN-FAILED ret=-16 retry=1
Sat Jul 16 12:06:24 2022 daemon.notice wpa_supplicant[2019]: if-mesh: CTRL-EVENT-SCAN-FAILED ret=-16 retry=1
Sat Jul 16 12:06:25 2022 daemon.notice wpa_supplicant[2019]: if-mesh: CTRL-EVENT-SCAN-FAILED ret=-16 retry=1
Sat Jul 16 12:06:26 2022 daemon.notice wpa_supplicant[2019]: if-mesh: CTRL-EVENT-SCAN-FAILED ret=-16 retry=1
Sat Jul 16 12:06:27 2022 daemon.notice wpa_supplicant[2019]: if-mesh: CTRL-EVENT-SCAN-FAILED ret=-16 retry=1
Sat Jul 16 12:06:28 2022 daemon.notice wpa_supplicant[2019]: if-mesh: CTRL-EVENT-SCAN-FAILED ret=-16 retry=1
Sat Jul 16 12:06:29 2022 daemon.notice wpa_supplicant[2019]: if-mesh: CTRL-EVENT-SCAN-FAILED ret=-16 retry=1
Sat Jul 16 12:06:30 2022 daemon.notice wpa_supplicant[2019]: if-mesh: CTRL-EVENT-SCAN-FAILED ret=-16 retry=1
Sat Jul 16 12:06:31 2022 daemon.notice wpa_supplicant[2019]: if-mesh: CTRL-EVENT-SCAN-FAILED ret=-16 retry=1
Sat Jul 16 12:06:32 2022 daemon.notice wpa_supplicant[2019]: if-mesh: CTRL-EVENT-SCAN-FAILED ret=-16 retry=1
Sat Jul 16 12:06:33 2022 daemon.notice wpa_supplicant[2019]: if-mesh: CTRL-EVENT-SCAN-FAILED ret=-16 retry=1
Sat Jul 16 12:06:34 2022 daemon.notice wpa_supplicant[2019]: if-mesh: CTRL-EVENT-SCAN-FAILED ret=-16 retry=1
Sat Jul 16 12:06:35 2022 daemon.notice wpa_supplicant[2019]: if-mesh: CTRL-EVENT-SCAN-FAILED ret=-16 retry=1
Sat Jul 16 12:06:36 2022 daemon.notice wpa_supplicant[2019]: if-mesh: CTRL-EVENT-SCAN-FAILED ret=-16 retry=1
Sat Jul 16 12:06:37 2022 daemon.notice wpa_supplicant[2019]: if-mesh: CTRL-EVENT-SCAN-FAILED ret=-16 retry=1
Sat Jul 16 12:06:38 2022 daemon.notice wpa_supplicant[2019]: if-mesh: CTRL-EVENT-SCAN-FAILED ret=-16 retry=1
Sat Jul 16 12:06:39 2022 daemon.notice wpa_supplicant[2019]: if-mesh: CTRL-EVENT-SCAN-FAILED ret=-16 retry=1
Sat Jul 16 12:06:40 2022 daemon.notice wpa_supplicant[2019]: if-mesh: CTRL-EVENT-SCAN-FAILED ret=-16 retry=1
Sat Jul 16 12:06:41 2022 daemon.notice wpa_supplicant[2019]: if-mesh: CTRL-EVENT-SCAN-FAILED ret=-16 retry=1
Sat Jul 16 12:06:42 2022 daemon.notice wpa_supplicant[2019]: if-mesh: CTRL-EVENT-SCAN-FAILED ret=-16 retry=1
Sat Jul 16 12:06:43 2022 daemon.notice wpa_supplicant[2019]: if-mesh: CTRL-EVENT-SCAN-FAILED ret=-16 retry=1
Sat Jul 16 12:06:44 2022 daemon.notice wpa_supplicant[2019]: if-mesh: CTRL-EVENT-SCAN-FAILED ret=-16 retry=1
Sat Jul 16 12:06:45 2022 daemon.notice wpa_supplicant[2019]: if-mesh: CTRL-EVENT-SCAN-FAILED ret=-16 retry=1
Sat Jul 16 12:06:46 2022 daemon.notice wpa_supplicant[2019]: if-mesh: CTRL-EVENT-SCAN-FAILED ret=-16 retry=1
Sat Jul 16 12:06:47 2022 daemon.notice hostapd: wlan0-1: DFS-CAC-COMPLETED success=1 freq=5540 ht_enabled=0 chan_offset=0 chan_width=3 cf1=5530 cf2=0
Sat Jul 16 12:06:47 2022 kern.info kernel: [136317.267575] ath10k_pci 0000:01:00.0: mac flush null vif, drop 0 queues 0xffff
Sat Jul 16 12:06:47 2022 kern.info kernel: [136317.318350] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0-1: link becomes ready
Sat Jul 16 12:06:47 2022 kern.info kernel: [136317.318610] br-lan: port 4(wlan0-1) entered blocking state
Sat Jul 16 12:06:47 2022 kern.info kernel: [136317.323785] br-lan: port 4(wlan0-1) entered forwarding state
Sat Jul 16 12:06:47 2022 daemon.notice hostapd: wlan0-1: interface state DFS->ENABLED
Sat Jul 16 12:06:47 2022 daemon.notice hostapd: wlan0-1: AP-ENABLED
Sat Jul 16 12:06:47 2022 daemon.notice wpa_supplicant[2019]: if-mesh: CTRL-EVENT-SCAN-FAILED ret=-16 retry=1
Sat Jul 16 12:06:47 2022 kern.info kernel: [136317.741362] ath10k_pci 0000:01:00.0: mac flush null vif, drop 0 queues 0xffff
Sat Jul 16 12:06:48 2022 kern.info kernel: [136318.326716] br-lan: port 4(wlan0-1) entered disabled state
Sat Jul 16 12:06:49 2022 daemon.notice wpa_supplicant[2019]: if-mesh: Unknown event 54
Sat Jul 16 12:06:49 2022 daemon.notice hostapd: wlan0-1: DFS-PRE-CAC-EXPIRED freq=5500 ht_enabled=0 chan_offset=0 chan_width=0 cf1=5500 cf2=0
Sat Jul 16 12:06:49 2022 daemon.notice hostapd: wlan0-1: DFS-PRE-CAC-EXPIRED freq=5520 ht_enabled=0 chan_offset=0 chan_width=0 cf1=5520 cf2=0
Sat Jul 16 12:06:49 2022 daemon.notice wpa_supplicant[2019]: if-mesh: Unknown event 54
Sat Jul 16 12:06:49 2022 daemon.notice hostapd: wlan0-1: DFS-PRE-CAC-EXPIRED freq=5540 ht_enabled=0 chan_offset=0 chan_width=0 cf1=5540 cf2=0
Sat Jul 16 12:06:49 2022 daemon.notice wpa_supplicant[2019]: if-mesh: Unknown event 54
Sat Jul 16 12:06:49 2022 daemon.notice hostapd: wlan0-1: DFS-PRE-CAC-EXPIRED freq=5560 ht_enabled=0 chan_offset=0 chan_width=0 cf1=5560 cf2=0
Sat Jul 16 12:06:49 2022 daemon.notice wpa_supplicant[2019]: if-mesh: Unknown event 54
Sat Jul 16 12:06:51 2022 daemon.notice wpa_supplicant[2019]: if-mesh: leaving mesh
Sat Jul 16 12:06:51 2022 kern.warn kernel: [136321.875955] ath10k_pci 0000:01:00.0: peer-unmap-event: unknown peer id 1
Sat Jul 16 12:06:51 2022 kern.info kernel: [136321.881686] ath10k_pci 0000:01:00.0: rts threshold -1
Sat Jul 16 12:06:51 2022 daemon.err wpa_supplicant[2019]: if-mesh: mesh leave error=-107
Sat Jul 16 12:06:51 2022 kern.info kernel: [136321.895351] ath10k_pci 0000:01:00.0: rts threshold -1
Sat Jul 16 12:06:51 2022 daemon.notice wpa_supplicant[2019]: if-mesh: interface state UNINITIALIZED->COUNTRY_UPDATE
Sat Jul 16 12:06:51 2022 daemon.notice wpa_supplicant[2019]: if-mesh: interface state COUNTRY_UPDATE->DFS
Sat Jul 16 12:06:51 2022 daemon.notice wpa_supplicant[2019]: if-mesh: DFS-CAC-START freq=5540 chan=108 sec_chan=1, width=1, seg0=106, seg1=0, cac_time=60s
Sat Jul 16 12:06:52 2022 daemon.notice netifd: radio0 (31139): command failed: Link has been severed (-67)
Sat Jul 16 12:06:52 2022 daemon.notice netifd: radio0 (31139): command failed: Link has been severed (-67)
Sat Jul 16 12:06:52 2022 daemon.notice netifd: radio0 (31139): command failed: Link has been severed (-67)
Sat Jul 16 12:06:52 2022 daemon.notice netifd: Wireless device 'radio0' is now up
Sat Jul 16 12:06:52 2022 daemon.notice netifd: Interface 'mesh' is enabled
Sat Jul 16 12:07:04 2022 daemon.info hostapd: wlan1-1: STA <CLIENTMAC3> IEEE 802.11: authenticated
Sat Jul 16 12:07:04 2022 daemon.info hostapd: wlan1-1: STA <CLIENTMAC3> IEEE 802.11: associated (aid 5)
Sat Jul 16 12:07:04 2022 daemon.notice hostapd: wlan1-1: AP-STA-CONNECTED <CLIENTMAC3>
Sat Jul 16 12:07:04 2022 daemon.info hostapd: wlan1-1: STA <CLIENTMAC3> RADIUS: starting accounting session 279147EC6CE812CB
Sat Jul 16 12:07:04 2022 daemon.info hostapd: wlan1-1: STA <CLIENTMAC3> WPA: pairwise key handshake completed (RSN)
Sat Jul 16 12:07:04 2022 daemon.info dnsmasq-dhcp[10787]: DHCPDISCOVER(br-iot2) <CLIENTMAC3>
Sat Jul 16 12:07:04 2022 daemon.info dnsmasq-dhcp[10787]: DHCPOFFER(br-iot2) <CLIENTIP3> <CLIENTMAC3>
Sat Jul 16 12:07:04 2022 daemon.info dnsmasq-dhcp[10787]: DHCPREQUEST(br-iot2) <CLIENTIP3> <CLIENTMAC3>
Sat Jul 16 12:07:04 2022 daemon.info dnsmasq-dhcp[10787]: DHCPACK(br-iot2) <CLIENTIP3> <CLIENTMAC3> <CLIENTNAME3>
Sat Jul 16 12:07:05 2022 daemon.info hostapd: wlan1-1: STA <CLIENTMAC4> IEEE 802.11: authenticated
Sat Jul 16 12:07:05 2022 daemon.info hostapd: wlan1-1: STA <CLIENTMAC4> IEEE 802.11: associated (aid 6)
Sat Jul 16 12:07:05 2022 daemon.notice hostapd: wlan1-1: AP-STA-CONNECTED <CLIENTMAC4>
Sat Jul 16 12:07:05 2022 daemon.info hostapd: wlan1-1: STA <CLIENTMAC4> RADIUS: starting accounting session 760A89E66534A8C3
Sat Jul 16 12:07:05 2022 daemon.info hostapd: wlan1-1: STA <CLIENTMAC4> WPA: pairwise key handshake completed (RSN)
Sat Jul 16 12:07:05 2022 daemon.info dnsmasq-dhcp[10787]: DHCPDISCOVER(br-iot2) <CLIENTMAC4>
Sat Jul 16 12:07:05 2022 daemon.info dnsmasq-dhcp[10787]: DHCPOFFER(br-iot2) <CLIENTIP4> <CLIENTMAC4>
Sat Jul 16 12:07:05 2022 daemon.info dnsmasq-dhcp[10787]: DHCPREQUEST(br-iot2) <CLIENTIP4> <CLIENTMAC4>
Sat Jul 16 12:07:05 2022 daemon.info dnsmasq-dhcp[10787]: DHCPACK(br-iot2) <CLIENTIP4> <CLIENTMAC4> <CLIENTNAME4>
Sat Jul 16 12:07:11 2022 daemon.notice hostapd: wlan1: AP-STA-DISCONNECTED <CLIENTMAC1>
Sat Jul 16 12:07:11 2022 daemon.info hostapd: wlan1: STA <CLIENTMAC1> IEEE 802.11: disassociated
Sat Jul 16 12:07:12 2022 daemon.info hostapd: wlan1: STA <CLIENTMAC1> IEEE 802.11: deauthenticated due to inactivity (timer DEAUTH/REMOVE)
Sat Jul 16 12:07:41 2022 daemon.notice hostapd: wlan1: AP-STA-DISCONNECTED <CLIENTMAC2>
Sat Jul 16 12:07:41 2022 daemon.info hostapd: wlan1: STA <CLIENTMAC2> IEEE 802.11: disassociated
Sat Jul 16 12:07:42 2022 daemon.info hostapd: wlan1: STA <CLIENTMAC2> IEEE 802.11: deauthenticated due to inactivity (timer DEAUTH/REMOVE)
Sat Jul 16 12:07:53 2022 daemon.notice wpa_supplicant[2019]: if-mesh: DFS-CAC-COMPLETED success=1 freq=5540 ht_enabled=0 chan_offset=0 chan_width=3 cf1=5530 cf2=0
Sat Jul 16 12:07:53 2022 daemon.notice wpa_supplicant[2019]: if-mesh: interface state DFS->ENABLED
Sat Jul 16 12:07:53 2022 daemon.notice wpa_supplicant[2019]: if-mesh: AP-ENABLED
Sat Jul 16 12:07:53 2022 daemon.notice wpa_supplicant[2019]: if-mesh: joining mesh <SSIDMESH>
Sat Jul 16 12:07:53 2022 kern.info kernel: [136383.827873] ath10k_pci 0000:01:00.0: mac flush null vif, drop 0 queues 0xffff
Sat Jul 16 12:07:54 2022 daemon.notice netifd: Network device 'if-mesh' link is up
Sat Jul 16 12:07:54 2022 daemon.notice netifd: Interface 'mesh' has link connectivity
Sat Jul 16 12:07:54 2022 daemon.notice netifd: Interface 'mesh' is setting up now
Sat Jul 16 12:07:54 2022 daemon.notice wpa_supplicant[2019]: if-mesh: CTRL-EVENT-CONNECTED - Connection to 00:00:00:00:00:00 completed [id=0 id_str=]
Sat Jul 16 12:07:54 2022 daemon.notice wpa_supplicant[2019]: if-mesh: MESH-GROUP-STARTED ssid="<SSIDMESH>" id=0
Sat Jul 16 12:07:54 2022 kern.info kernel: [136384.834901] IPv6: ADDRCONF(NETDEV_CHANGE): if-mesh: link becomes ready
Sat Jul 16 12:07:54 2022 kern.info kernel: [136384.858751] batman_adv: bat0: Adding interface: if-mesh
Sat Jul 16 12:07:54 2022 kern.info kernel: [136384.858846] batman_adv: bat0: Interface activated: if-mesh
Sat Jul 16 12:07:54 2022 daemon.notice netifd: Interface 'mesh' is now up
Sat Jul 16 12:07:55 2022 user.notice nlbwmon: Reloading nlbwmon due to ifup of mesh (if-mesh)
Sat Jul 16 12:07:59 2022 kern.info kernel: [136389.324255] br-lan: port 4(wlan0-1) entered blocking state
Sat Jul 16 12:07:59 2022 kern.info kernel: [136389.324280] br-lan: port 4(wlan0-1) entered forwarding state
Sat Jul 16 12:07:59 2022 daemon.notice netifd: Network device 'wlan0-1' link is up
...
[Here the channel switch happened on the repeater]
...
Sat Jul 16 12:22:37 2022 daemon.notice wpa_supplicant[2019]: if-mesh: new peer notification for <REPEATERMAC>
Sat Jul 16 12:22:37 2022 daemon.notice wpa_supplicant[2019]: if-mesh: Mesh MPM: failed to send peering frame
Sat Jul 16 12:22:37 2022 daemon.notice wpa_supplicant[2019]: if-mesh: Mesh MPM: failed to send peering frame
Sat Jul 16 12:22:37 2022 daemon.notice wpa_supplicant[2019]: if-mesh: Mesh MPM: failed to send peering frame
Sat Jul 16 12:22:37 2022 daemon.notice wpa_supplicant[2019]: if-mesh: Mesh MPM: failed to send peering frame
...
Sat Jul 16 12:40:56 2022 daemon.notice wpa_supplicant[2019]: if-mesh: new peer notification for <REPEATERMAC>
Sat Jul 16 12:40:56 2022 daemon.notice wpa_supplicant[2019]: if-mesh: Mesh MPM: failed to send peering frame
Sat Jul 16 12:40:56 2022 daemon.notice wpa_supplicant[2019]: if-mesh: Mesh MPM: failed to send peering frame
Sat Jul 16 12:40:56 2022 daemon.notice wpa_supplicant[2019]: if-mesh: Mesh MPM: failed to send peering frame
Sat Jul 16 12:40:56 2022 daemon.notice wpa_supplicant[2019]: if-mesh: Mesh MPM: failed to send peering frame
Sat Jul 16 12:40:56 2022 daemon.notice wpa_supplicant[2019]: if-mesh: Mesh MPM: failed to send peering frame
Sat Jul 16 12:40:56 2022 daemon.notice wpa_supplicant[2019]: if-mesh: Mesh MPM: failed to send peering frame
Sat Jul 16 12:40:56 2022 daemon.notice wpa_supplicant[2019]: if-mesh: Mesh MPM: failed to send peering frame
...

mesh11sd doesn't seem to add anything useful logging-wise:

Sat Jul 16 12:56:01 2022 daemon.debug mesh11sd[1698]: interface wlan1-1 is up
Sat Jul 16 12:56:01 2022 daemon.debug mesh11sd[1698]: interface wlan1 is up
Sat Jul 16 12:56:01 2022 daemon.debug mesh11sd[1698]: interface wlan0-1 is up
Sat Jul 16 12:56:01 2022 daemon.debug mesh11sd[1698]: interface mesh0 is up
Sat Jul 16 12:56:02 2022 daemon.info mesh11sd[1698]: Old value:mesh_fwding=1, Setting new value:mesh_fwding=0
Sat Jul 16 12:56:02 2022 daemon.info mesh11sd[1698]: Old value:mesh_rssi_threshold=-80, Setting new value:mesh_rssi_threshold=0
Sat Jul 16 12:56:02 2022 daemon.info mesh11sd[1698]: Old value:mesh_fwding=0, Setting new value:mesh_fwding=1
Sat Jul 16 12:56:02 2022 daemon.info mesh11sd[1698]: Old value:mesh_rssi_threshold=0, Setting new value:mesh_rssi_threshold=-80
Sat Jul 16 12:56:02 2022 daemon.debug mesh11sd[1698]: nodelist [DEST,ADDR ]
Sat Jul 16 12:56:07 2022 daemon.notice wpa_supplicant[2019]: mesh0: new peer notification for <REPEATERMAC>
Sat Jul 16 12:56:07 2022 daemon.notice wpa_supplicant[2019]: mesh0: Mesh MPM: failed to send peering frame
Sat Jul 16 12:56:07 2022 daemon.notice wpa_supplicant[2019]: mesh0: Mesh MPM: failed to send peering frame
Sat Jul 16 12:56:07 2022 daemon.notice wpa_supplicant[2019]: mesh0: Mesh MPM: failed to send peering frame
Sat Jul 16 12:56:07 2022 daemon.notice wpa_supplicant[2019]: mesh0: Mesh MPM: failed to send peering frame

Why do you need mesh/batman btw?

I have the feeling this may be more hassle than necessary and you could just switch to WDS.

Because I want/need separate VLANs. Also, everything has been working fine up until 21.02.3 :person_shrugging:

More than two? If not you can just have two WDS access points - one on 2.4 and one on 5. I have set that up for guest WiFi and ordinary WiFi.

Alternatively this:

I started out that way, but batman has been much more manageable than GRE tunnels for me. (I am separating IoT devices from "normal" clients and I have separate SSIDs for 2.4 GHz and 5 GHz.) The repeater has a separate 5 GHz radio for uplink which can only do channels >= 100 and I have to avoid the U-NII 1 channels anyway as they are very crowded (almost as bad as 2.4 GHz).

For the record, I am using the CT firmware for the ath10k, but I've also tried a build with the mainline version with the same symptoms. The radio works fine, but the mesh peer cannot connect while using a DFS channel on an ETSI domain.

I cannot add that much but I too have 802.11s and batman-adv and encryption. I have never got the mesh running with the CT firmware. Have you tried the non CT firmware already? And maybe I missed that point but why are you trying to run the mesh on a DFS channel? I would suggest start with a non DFS channel maybe even one for indoor use only and if that works continue.
And if you run batman-adv then you must(?) Disable mesh forwarding for 802.11s because batman does this for you...
I have this running on wdr3700, wdr4900 and archer c7v5 in case it matters.

Yes, I tried both firmwares. The mesh works fine as long as any one of the following conditions is true (OR conjunction):

  • OpenWRT 21.02.2 or earlier
  • Non-DFS channel
  • Non-ETSI domain

I need to use a DFS channel because the dedicated backlink radio of the AP only supports channels 100+. The non-DFS channels in that range have a very low TX power limit (which works, but results in a much worse SNR/lower bandwidth). Besides, no one uses channel 108 and I have had no problem with actual radar interference here.

Also, on principle, it is a regression in a bugfix release and I'd have thought at least the change causing it should be easy to pinpoint.

I see your issue/forum topic is mentioned in https://github.com/openwrt/openwrt/issues/10098. If you have a Github account I would suggest to raise your voice and issue again in this issue ticket, as it seams nobody here has any glues.
Sorry I can't help either.
(I assume that just using an "invalid" country code is not the best of all options? BUT I'm really no expert if this is even ever enforced/prosecuted by any radio agency or not and I don't want to be really that dude who says "just ignore the local regulations".)

Actual enforcement by the relevant authorities is unlikely (probably impossible even), but using the wrong regdom could degrade wireless networking for my neighbors (and introduce really hard to track incompatibilities with other devices), so I would not want to go down that route.

1 Like

Still looking for more information on what changed between those revisions.

Thanks for the reminder. I'm close to lift my setup to the latest release.... I maybe should setup a testbed first.

So I've now updated both the R7800 and the AVM3000 to the latest 22.03 snapshot and things have started to deteriorate even more. With the AVM on 22.03, the mesh doesn't even work with option country 'US' anymore. At least not reliably. Every once in a while when poking various parameters, everything would start to work miraculously, until the next boot. Maybe I should have a look at the mainline ath10k firmware again?

Anyway, on the R7800, iw dev if-mesh mesh_param dump has stopped working, it just lists the help text instead. Getting and setting individual parameters (e.g. iw dev if-mesh get mesh_param mesh_ttl) works fine however.

Cant you use channel 149 and up for the backhaul? Or can't you just switch around the two 5G radios?

I have my R7800 on channel 48 (Since it just have 1 5g radio I use the same radio as AP and Mesh). Asus Lyra dedicated backhaul on 48, and the other radio as AP on channel 149.