I have a problem with with roaming Wifi clients and I nailed down the cause, but I need advice for the best solution. So here is the current situation of my Omnia Turris 2020, starting of with my network config:
# 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 xxxxxxxx::/48' config interface 'lan' option type 'bridge' option proto 'static' option ip6assign '60' option gateway '192.168.5.254' list dns '192.168.5.254' option _turris_mode 'managed' list ipaddr '192.168.5.1/24' option ifname 'eth2 lan0 lan1 lan2 lan3 lan4' # cat /etc/config/wireless config wifi-device 'radio0' option type 'mac80211' option hwmode '11a' option macaddr '04:f0:21:42:1c:b2' option htmode 'VHT80' option country 'DE' option channel '48' config wifi-device 'radio1' option type 'mac80211' option hwmode '11g' option macaddr '04:f0:21:45:b9:da' option htmode 'HT20' option channel '6' config wifi-iface 'wifinet0' option ssid 'WiFiName-5G' option device 'radio0' option mode 'ap' option network 'lan' option key 'WiFiPassword' option encryption 'psk2+ccmp' config wifi-iface 'wifinet1' option ssid 'WiFiName' option device 'radio1' option mode 'ap' option network 'lan' option key 'WiFiPassword' option encryption 'psk2+ccmp'
This should be a pretty basic configuration. If a wifi client is directly connected to this device, the bridge forwarding table (FDB) looks like this (I grep’ed for a specific MAC of a wireless client):
# bridge fdb | grep 99\:d5 26:41:45:15:99:d5 dev wlan0 master br-lan
Nothing special here, simply shows that client communicates over interface wlan0 with my Omnia. Now, if this device leaves the room and roams over to another access point, the FDB looks like this:
# bridge fdb | grep 99\:d5 26:41:45:15:99:d5 dev lan1 master br-lan 26:41:45:15:99:d5 dev lan1 vlan 1 self
This transition to the next AP works seemlessly. The other AP is connected port “lan1”, so this is also fine. But as you can see, this introduces the additional “dev lan1 vlan 1 self” line. The real problem occures, if the wifi client walks back to the omnia, because the FDB then looks like this:
# bridge fdb | grep 99\:d5 26:41:45:15:99:d5 dev lan1 vlan 1 self 26:41:45:15:99:d5 dev wlan0 master br-lan
As you can see, the new introduced line stays as it is, while the other line goes back to what it should. The wireless clients has no connectivity at all for about ~250 seconds. After that, the “dev lan1 vlan 1 self” line disappears and the clients starts working again. So this line has a timeout of some sort.
My question now is, why I see this behavior and how can I fix it? Can you guys tell me, what this line even means and why it is talking about “vlan 1”, although there is no vlan configured?
Thank you very much in advance!