[HowTo/batman-adv] Bring AP SSIDs down if mesh backhaul gets disconnected

Hi,

Purpose:

  • You have two access points, interconnected via 802.11s mesh.
  • The mesh is the transport for multiple VLAN networks which are the underlying transport for multiple WiFi SSIDs.

Wired uplink for VLAN 10, 20 === WifiAP-01 === (( 802.11s mesh SSID )) === WifiAP-02 === SSID "10-Intranet", SSID "20-Guest"

If your mesh becomes disconnected, WifiAP-02 will still allow clients to log on to its "dead" SSID and the devices will complain "connected to WiFi, no local/wan connectivity".

This script improves the situation by automatically detecting the mesh outage and disabling the SSID "10-Intranet" and "20-Guest". When the mesh comes up again, the SSID will be re-enabled.

The full script and installations instructions can be retrieved from:

The following script needs to be placed on WifiAP-02:

# Installation:
## opkg update; opkg install bash
## chmod +x "/root/cron-meshctl.sh"
## /etc/crontabs/root
### [ADD LINE]
#### */1 * * * * /bin/bash "/root/cron-meshctl.sh" >/dev/null 2>&1

I've verified this working on my Archer C7 v2|5 devices. When AP 1 <=> AP 2 get disconnected e.g. due to maintenance, power-off of AP 1), AP 2 disables sending SSIDs "10, 20" automatically until AP 1 is serving the backhaul for these SSIDs again.

Have fun.

Kind regards,
Catfriend1

In addition to: BATADV (mesh) the best decision? - #14 by bhubert1978

Example output:

bash /root/cron-meshctl.sh

[INFO] Mesh backhaul is up, [1] partners connected.

bash /root/cron-meshctl.sh

[INFO] Mesh backhaul is down.
[INFO] Setting WiFi IF [wlan0-1] to [down]
[INFO] Setting WiFi IF [wlan0-2] to [down]
[INFO] Setting WiFi IF [wlan1] to [down]
[INFO] Setting WiFi IF [wlan1-1] to [down]