Create MESH with all interfaces without loops

Good day everyone! The task is this: to create a mesh in two bands of 2.4 and 5 GHz to ensure fault tolerance, plus a wired network. Access points are made on these same routers. All settings were made according to the article from the openwrt website. A problem has arisen: traffic on Wi-Fi networks becomes looped and, apparently, because of this, the network on 2.4 stops working or everything stops working and neighboring points stop responding. Tell me how to make sure that all connections work simultaneously and traffic does not loop back? Thank you in advance!

root@OpenWrt:/# cat /etc/config/network



config interface 'loopback'
        option ifname 'lo'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'

config globals 'globals'
        option ula_prefix 'fd9c:cbbd:1599::/48'

config interface 'lan'
        option type 'bridge'
        option proto 'static'
        option netmask '255.255.255.0'
        option ip6assign '60'
        option ipaddr '192.168.2.253'
        list dns '8.8.8.8'
        option ifname 'eth0'

config switch
        option name 'switch0'
        option reset '1'
        option enable_vlan '1'

config switch_vlan
        option device 'switch0'
        option vlan '1'
        option ports '0 1 2 3 4'
        option vid '1'

config interface 'WAN'
        option ifname 'eth1'
        option proto 'dhcp'

root@OpenWrt:/# cat /etc/config/wireless

config wifi-device 'radio0'
        option type 'mac80211'
        option channel '36'
        option hwmode '11a'
        option path 'pci0000:00/0000:00:00.0'
        option htmode 'VHT80'
        option txpower '6'

config wifi-device 'radio1'
        option type 'mac80211'
        option channel '11'
        option hwmode '11g'
        option path 'platform/ahb/18100000.wmac'
        option txpower '12'
        option htmode 'HT40'

config wifi-iface 'wifinet0'
        option ssid 'Arma_Router'
        option encryption 'psk2'
        option device 'radio0'
        option ieee80211r '1'
        option key '**********'
        option mode 'ap'
        option ft_psk_generate_local '1'
        option mobility_domain '1234'
        option ft_over_ds '0'
        option network 'lan'

config wifi-iface 'wifinet1'
        option mesh_rssi_threshold '0'
        option key '**********'
        option encryption 'sae'
        option device 'radio0'
        option mode 'mesh'
        option mesh_fwding '1'
        option mesh_id 'Arma_Mesh'
        option network 'lan'

config wifi-iface 'wifinet2'
        option ssid 'Arma_Router'
        option device 'radio1'
        option mode 'ap'
        option ft_over_ds '0'
        option key '**********'
        option encryption 'psk2'
        option mobility_domain '1234'
        option ft_psk_generate_local '1'
        option ieee80211r '1'
        option network 'lan'

config wifi-iface 'wifinet3'
        option mesh_rssi_threshold '0'
        option key '**********'
        option encryption 'sae'
        option device 'radio1'
        option mode 'mesh'
        option mesh_fwding '1'
        option mesh_id 'Arma_Mesh'
        option network 'lan'

Try to enable "Spanning Tree Protocol" (STP) on the LAN bridge, for all devices

Unfortunately that is a contradiction of terms. If you have mesh configured on all interfaces, you are by definition creating loops.

Which article?

Having wired connections as well will also create more loops. It is like having a microphone next to a speaker, positive feedback will make it scream so loud you won't be able to hear anything of use.

@eduperez is correct in that STP might help but you would have to do much more than just enable it. You would have to set path costs for everything, but even then it probably will not work unless you are very careful with mac addresses for the interfaces.

To give a bit more insight, please also show the output of:
mesh11sd status

1 Like