No bat0 "tunnel" after STA reassoc - using batman-adv in AP-STA setup (instead of IBSS ad-hoc or mesh)
I'm using batman-adv on OpenWrt 19.07-rc.2 on a TP-Link Archer C7 v2 device. First things first, I cannot use wpad-mesh to make a 802.1s device for batman-adv because i need some SSIDs hosted with EAP and that forces me to select the openwrt package "wpad". This one has no 802.1s encrypted mesh support.
I've first tried to add an extra SSID to my radio0 in IBSS ad-hoc mode.
Device A (AP SSID1, AP SSID2, IBSS SSID for batman-adv) <=> Device B (IBSS SSID for batman-adv)
This one worked but brought up a different problem not relevant for here ( see https://forum.openwrt.org/t/archer-c7-v2-kernel-warn-comm-wpa-supplicant-not-tainted-4-14-156/51664 ).
So I decided to switch to AP and STA combination for batman-adv.
Device A (AP SSID1, AP SSID2, AP SSID3 for batman-adv) <=> Device B (STA ASSOC to AP SSID3 for batman-adv)
The batman-adv "tunnel" comes up fine and the above mentioned kernel.warn's (from IBSS mode) disappear. All fine.
- When device A disconnects WiFi clients, e.g. during a reboot, the batman-adv tunnel does NOT come up again by itself. batctl on device B shows that no originator is available anymore. The device B to device A "STA-to-AP" association comes up well after a disconnect.
- /etc/init.d/network restart
- Executed on device B (e.g. from cron if "batctl o" outputs no originators are there)
- heals the problem immediately and the batman-adv tunnel works again (verified by pinging)
- If batman-adv is running on a STA interface, e.g. wlan0-3 for my setup, it should automatically do its "internal restart of things" after a STA disconnect and reassociation with the AP without the need for an extra cron job.
Thank you for your great work.
I hope this could be fixed or improved in future versions.
Updated by Sven Eckelmann 6 months ago
- Assignee changed from batman-adv developers to Defi Abd
- Status changed from New to Feedback
Please check that broadcast (send and receive) works fine on the underlying device of A+B (the wlan0-3 for example) before you do the network restart.
And check whether
batctl n shows the remote peer with a reasonable "last seen" on both A+B.
Please check with
batctl if whether the network interface is correctly listed on both device A+B before you do the network restart.
Updated by Sven Eckelmann 6 months ago
- Description updated (diff)
Btw: You should switch from IBSS or AP/Sta to meshpoint without mesh_fwding (with wpad_mesh). The wpad_mesh is wpad (full) with the 11s options enabled. I use it all the time with other SSIDs enabled via wpad-mesh's hostapd.
Running a routing protocol for adhoc networks over an infrastructure mode makes only limited sense...
Here an example configuration from my /etc/config/wireless:
config wifi-iface 'mesh_radio0' option ifname 'mesh0' option network 'mesh_radio0' option device 'radio0' option mesh_fwding '0' option mesh_id 'mesh-test-foobar' option mcast_rate '18000' option mode 'mesh' option disabled '0' option macaddr 'fe:2b:91:40:9c:91'
Thanks for your feedback on the issue and advice. I'm currently trying to setup 802.1s mesh again with the most recent 19.07.0 openwrt release. Will report back when I got it working or this issue needs to be analyzed further. Will get more info as you requested then.
Feedback on the issue with lost (AP-STA) batman-adv tunnel
batctl n still showed the neighbor with a last seen under 10 secs on A+B when the tunnel got unavailable.
Broadcast is okay, double checked.
When the issue occured, batctl o showed no more originator on B (the STA device).
batctl if lists devices okay on A+B all time.
I would love this to be fixed, but it's no longer urgent.
I've installed openwrt 19.07.0 with 802.11s under batman-adv. 802.11s only works if you switch from firmware ct to non-ct by opkg. After switching, the bat tunnel was unstable. Solution to get everything stable again was to set MTU 1500 instead of the large MTU which worked in AP-STA before.
Thanks for your help and the pointer into the "supported" solution.