My laptop (MAC = XX:XX:XX:XX:XX:83) is frequently roamed even it stays on the same place. I did not saw it in the past.
I have one HAP AC3 as CAPSMAN and one CAP AC . The roaming goes to interface wifi1(SSID) from HAP AC3 or to CAP AC 2.4GHz interfaces @CAP - CAP1, xxxxxxxxxxd4(SSID) or 5GHz CAP - CAP1, xxxxxxxxxxd5(SSID).
Could it be related to the steering which I'm using?
Here is the log:
# 2026-02-23 11:03:38 by RouterOS 7.21.3
2026-02-23 10:26:34 wireless,info XX:XX:XX:XX:XX:83@CAP - CAP1, xxxxxxxxxxd4(SSID) roamed to XX:XX:XX:XX:XX:83@CAP - CAP1, xxxxxxxxxxd5(SSID), signal strength -89
2026-02-23 10:27:19 wireless,info XX:XX:XX:XX:XX:83@CAP - CAP1, xxxxxxxxxxd5(SSID) roamed to XX:XX:XX:XX:XX:83@wifi1(SSID), signal strength -83
2026-02-23 10:27:57 wireless,info XX:XX:XX:XX:XX:83@wifi1(SSID) roamed to XX:XX:XX:XX:XX:83@CAP - CAP1, xxxxxxxxxxd4(SSID), signal strength -74
2026-02-23 10:30:58 wireless,info XX:XX:XX:XX:XX:83@CAP - CAP1, xxxxxxxxxxd4(SSID) roamed to XX:XX:XX:XX:XX:83@CAP - CAP1, xxxxxxxxxxd5(SSID), signal strength -81
2026-02-23 10:31:40 wireless,info XX:XX:XX:XX:XX:83@CAP - CAP1, xxxxxxxxxxd5(SSID) roamed to XX:XX:XX:XX:XX:83@CAP - CAP1, xxxxxxxxxxd4(SSID), signal strength -76
2026-02-23 10:32:25 wireless,info XX:XX:XX:XX:XX:83@CAP - CAP1, xxxxxxxxxxd4(SSID) roamed to XX:XX:XX:XX:XX:83@CAP - CAP1, xxxxxxxxxxd5(SSID), signal strength -81
2026-02-23 10:33:40 wireless,info XX:XX:XX:XX:XX:83@CAP - CAP1, xxxxxxxxxxd5(SSID) roamed to XX:XX:XX:XX:XX:83@wifi1(SSID), signal strength -85
2026-02-23 10:34:23 wireless,info XX:XX:XX:XX:XX:83@wifi1(SSID) roamed to XX:XX:XX:XX:XX:83@CAP - CAP1, xxxxxxxxxxd5(SSID), signal strength -93
2026-02-23 10:34:33 wireless,info XX:XX:XX:XX:XX:83@CAP - CAP1, xxxxxxxxxxd5(SSID) roamed to XX:XX:XX:XX:XX:83@CAP - CAP1, xxxxxxxxxxd4(SSID), signal strength -75
2026-02-23 10:39:35 wireless,info XX:XX:XX:XX:XX:83@CAP - CAP1, xxxxxxxxxxd4(SSID) roamed to XX:XX:XX:XX:XX:83@CAP - CAP1, xxxxxxxxxxd5(SSID), signal strength -87
2026-02-23 10:44:30 wireless,info XX:XX:XX:XX:XX:83@CAP - CAP1, xxxxxxxxxxd5(SSID) roamed to XX:XX:XX:XX:XX:83@CAP - CAP1, xxxxxxxxxxd4(SSID), signal strength -74
2026-02-23 11:02:07 wireless,info XX:XX:XX:XX:XX:83@CAP - CAP1, xxxxxxxxxxd4(SSID) roamed to XX:XX:XX:XX:XX:83@CAP - CAP1, xxxxxxxxxxd5(SSID), signal strength -92
2026-02-23 11:02:41 wireless,info XX:XX:XX:XX:XX:83@CAP - CAP1, xxxxxxxxxxd5(SSID) roamed to XX:XX:XX:XX:XX:83@CAP - CAP1, xxxxxxxxxxd4(SSID), signal strength -75
2026-02-23 11:03:19 wireless,info XX:XX:XX:XX:XX:83@CAP - CAP1, xxxxxxxxxxd4(SSID) roamed to XX:XX:XX:XX:XX:83@CAP - CAP1, xxxxxxxxxxd5(SSID), signal strength -88
Here is my configuration:
# 2026-02-23 11:24:36 by RouterOS 7.21.3
#
# model = RBD53iG-5HacD2HnD
/interface bridge
add admin-mac=XX:XX:XX:XX:XX:XX auto-mac=no comment=defconf name=bridge \
port-cost-mode=short
/interface list
add comment=defconf name=WAN
add comment=defconf name=LAN
/interface lte apn
set [ find default=yes ] use-network-apn=no
/interface wifi datapath
add bridge=bridge comment=defconf disabled=no name=capdp
/interface wifi security
add authentication-types=wpa2-psk,wpa3-psk connect-priority=0/1 disabled=no \
ft=yes ft-over-ds=yes name=security1_AC
/interface wifi steering
add 2g-probe-delay=yes disabled=no name=steering_cfg neighbor-group=\
NG_streering rrm=yes wnm=yes
/interface wifi configuration
add disabled=no name=cfg_AC security=security1_AC ssid=SSID steering=\
steering_cfg steering.2g-probe-delay=yes
/interface wifi
set [ find default-name=wifi1 ] configuration=cfg_AC configuration.mode=ap \
disabled=no
set [ find default-name=wifi2 ] configuration=cfg_AC configuration.mode=ap \
disabled=no
/ip pool
add name=dhcp ranges=XXX.XXX.XXX.XXX-XXX.XXX.XXX.XXX
/ip dhcp-server
add address-pool=dhcp interface=bridge lease-time=1h10m name=defconf
/routing bgp template
set default disabled=no output.network=bgp-networks
/routing ospf instance
add disabled=no name=default-v2
/routing ospf area
add disabled=yes instance=default-v2 name=backbone-v2
/ip smb
set enabled=no
/interface bridge port
add bridge=bridge comment=defconf ingress-filtering=no interface=ether2 \
internal-path-cost=10 path-cost=10
add bridge=bridge comment=defconf ingress-filtering=no interface=ether3 \
internal-path-cost=10 path-cost=10
add bridge=bridge comment=defconf ingress-filtering=no interface=ether4 \
internal-path-cost=10 path-cost=10
add bridge=bridge comment=defconf ingress-filtering=no interface=ether5 \
internal-path-cost=10 path-cost=10
add bridge=bridge comment=defconf ingress-filtering=no interface=wifi1
add bridge=bridge comment=defconf ingress-filtering=no interface=wifi2
/ip neighbor discovery-settings
set discover-interface-list=LAN
/ipv6 settings
set max-neighbor-entries=8192
/interface detect-internet
set detect-interface-list=all
/interface list member
add comment=defconf interface=bridge list=LAN
add comment=defconf interface=ether1 list=WAN
/interface wifi capsman
set enabled=yes package-path="" require-peer-certificate=no upgrade-policy=\
suggest-same-version
/interface wifi provisioning
add action=create-dynamic-enabled disabled=no master-configuration=cfg_AC \
name-format="CAP - %I, %r"
/ip address
add address=XXX.XXX.XXX.XXX/24 comment=defconf interface=ether2 network=XXX.XXX.XXX.XXX
add address=XXX.XXX.XXX.XXX/16 interface=ether1 network=XXX.XXX.XXX.XXX
/ip dhcp-client
add comment=defconf disabled=yes interface=ether1
/ip dhcp-server network
add address=XX.XX.XX.XX/24 comment=defconf gateway=XX.XX.XX.XX netmask=24
/ip dns
set allow-remote-requests=yes servers=XXX.XXX.XXX.XXX,XXX.XXX.XXX.XXX
/ip dns static
add address=XX.XX.XX.XX comment=defconf name=router.lan type=A
/ip firewall filter
add action=jump chain=forward comment="jump to kid-control rules" \
jump-target=kid-control
add action=accept chain=input comment=\
"defconf: accept established,related,untracked" connection-state=\
established,related,untracked
add action=drop chain=input comment="defconf: drop invalid" connection-state=\
invalid
add action=accept chain=input comment="defconf: accept ICMP" protocol=icmp
add action=accept chain=input comment=\
"defconf: accept to local loopback (for CAPsMAN)" dst-address=XX.XX.XX.XX
add action=drop chain=input comment="defconf: drop all not coming from LAN" \
in-interface-list=!LAN
add action=accept chain=forward comment="defconf: accept in ipsec policy" \
ipsec-policy=in,ipsec
add action=accept chain=forward comment="defconf: accept out ipsec policy" \
ipsec-policy=out,ipsec
add action=fasttrack-connection chain=forward comment="defconf: fasttrack" \
connection-state=established,related
add action=accept chain=forward comment=\
"defconf: accept established,related, untracked" connection-state=\
established,related,untracked
add action=drop chain=forward comment="defconf: drop invalid" \
connection-state=invalid
add action=drop chain=forward comment=\
"defconf: drop all from WAN not DSTNATed" connection-nat-state=!dstnat \
connection-state=new in-interface-list=WAN
/ip firewall nat
add action=masquerade chain=srcnat comment="defconf: masquerade" \
ipsec-policy=out,none out-interface-list=WAN
/ip ipsec profile
set [ find default=yes ] dpd-interval=2m dpd-maximum-failures=5
/ip route
add disabled=no dst-address=XX.XX.XX.XX/0 gateway=XXX.XXX.XXX.XXX
/ip ssh
set strong-crypto=yes
/ipv6 nd
set [ find default=yes ] advertise-dns=yes
/routing bfd configuration
add disabled=no
/system clock
set time-zone-name=Europe/Prague
/system logging
add topics=caps
/tool mac-server
set allowed-interface-list=LAN
/tool mac-server mac-winbox
set allowed-interface-list=LAN