Batman-adv mesh: Two wireless radios bonding for one bat0 interface - Looking for config example

Hi,

I've read about "option bonding '1'" in the batman-adv docs to use all wireless radios for the batman mesh "tunnel". I'd like to use my Xiaomi AX3600's radio0 and radio1 in bonding mode.for the mesh, let's call it "meshSsid". Unfortunately I don't know how to configure this correctly. Mesh between two APs of same make and model works fine and it uses radio1 of each AP to link them "together".

/etc/config/network had "bat0" interface and the "nwi_mesh0" hardif configured.
/etc/config/wireless had "meshSsid" configured, with the associated network interface "nwi_mesh0" on radio1.

I then went to set "option bridge_loop_avoidance '1'" on bat0. And duplicated the config of "nwi_mesh0" to read "nwi_mesh1". Then, I associated "nwi_mesh1" with the "meshSsid2" added to radio 0. No success. Mesh came up, but the speed did not increase nor did it continue to work on the other radio0 when I took down radio1 for testing purposes.

SCENARIO DIAGRAM:

Before) working with one radio, everything OK
AP1 (meshSsid, radio1) == AP 2 (meshSsid, radio1)

After) working with two radios, no bonding result, no speed increase, no fallback to use on radio only when the other goes down
AP1 (meshSsid, radio1 + meshSsid2, radio0) == AP 2 (meshSsid, radio1 + meshSsid2, radio0)

If anyone of you has an example of a working radio-bonding config for batman-adv, I'd appreciate if you could share it in this topic so I can learn how to configure it properly.

Thank you.

Kind regards,
Catfriend1

I tested this concept and found similar behaviour. If I disable one of the radios and reboot the node then the remaining radio takes over and works. Reboot required. Two radios never transimit payload at the same time.

1 Like

@mattimat Ok so I'd need to add a watchdog to achieve some kind of failover via reboot action . Could you share a password-less copy of your config , please?

Could it alternatively work to set up bat0 and bat1, one on each radio, and then bridge them together enabling STP?

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

config wifi-device 'radio1'
        option type 'mac80211'
        option path 'platform/soc/c000000.wifi+1'
        option band '2g'
        option htmode 'HE40'
        option cell_density '0'
        option channel '6'
        option country 'FI'

config wifi-iface 'wifinet2'
        option device 'radio0'
        option mode 'ap'
        option encryption 'psk-mixed'
        option key 'xxxxxxxx'
        option ieee80211r '1'
        option mobility_domain '1000'
        option ft_over_ds '0'
        option ft_psk_generate_local '1'
        option network 'LAN'
        option ssid 'casaxxxx'
        option ifname 'qnap-casa'
        option bss_transition '1'

config wifi-iface 'wifinet7'
        option device 'radio0'
        option mode 'ap'
        option ssid 'audio'
        option encryption 'psk-mixed'
        option key 'xxxxxxxxxxx'
        option ieee80211r '1'
        option mobility_domain '2222'
        option ft_over_ds '0'
        option ft_psk_generate_local '1'
        option network 'LAN'
        option ifname 'qnap-audio'

config wifi-iface 'wifinet4'
        option device 'radio1'
        option mode 'ap'
        option ssid 'iot'
        option encryption 'psk-mixed'
        option key 'xxxxxxxxxx'
        option ieee80211r '1'
        option mobility_domain '1010'
        option ft_over_ds '0'
        option ft_psk_generate_local '1'
        option network 'IOT'
        option ifname 'qnap_iot'

config wifi-iface 'wifinet3'
        option device 'radio0'
        option mode 'mesh'
        option encryption 'sae'
        option mesh_id 'kotimesh'
        option mesh_fwding '0'
        option mesh_rssi_threshold '0'
        option key 'xxxxxxxxxx'
        option network 'kotimesh'

config wifi-iface 'wifinet5'
        option device 'radio1'
        option mode 'mesh'
        option encryption 'sae'
        option mesh_id 'kotimesh2'
        option mesh_fwding '0'
        option mesh_rssi_threshold '0'
        option network 'kotimesh'
        option key 'xxxxxxxx'

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

config interface 'kotimesh'
        option proto 'batadv_hardif'
        option master 'bat0'

config device
        option name 'phy0-mesh0'
        option mtu '1536'

config interface 'bat0'
        option proto 'batadv'
        option routing_algo 'BATMAN_V'
        option bridge_loop_avoidance '1'
        option gw_mode 'server'
        option gw_bandwidth '300mbit/100mbit'
        option hop_penalty '30'
        option defaultroute '0'
        option delegate '0'
        option bonding '1'


Thanks, that's very close to my config.

Is it important to have

option mtu '1536'

in the device section? I wrote it in the interface section :thinking:

Not sure, got rid of the messages in the logs. I used luci for config.

1 Like

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.