I facing the issue that bss_transition_request are ignored by all my Laptops with Intel Wifi Card. I tried it manually calling the following command but nothing happens. Does anybody knows this issue? It breaks DAWN and usteer in my case. Any ideas how to test it further...
The log do not include all arguments:
Mon Sep 16 13:19:32 2024 daemon.notice hostapd: phy0-ap0: BSS-TM-RESP b0:7d:64:74:cf:4d status_code=1 bss_termination_delay=0
Can be called:
ubus call hostapd.phy0-ap0 bss_transition_request '{"addr": "b0:7d:64:74:cf:4d", "disassociation_imminent": false, "disassociation_timer": 0, "validity_period": 30, "abridged": true }'
This command does not work because of "Invalid argument" caused by neighbors. What would be the correct format?
ubus call hostapd.phy0-ap0 bss_transition_request '{"addr": "b0:7d:64:74:cf:4d", "disassociation_imminent": false, "disassociation_timer": 0, "validity_period": 30, "neighbors": ["b0:7d:64:74:cf:4d"], "abridged": true }'
I haven't used it myself, but looking at the README the neighbors argument for bss_transition_request expects an array of Neighbor Report Elements as returned by for example rrm_nr_get_own and rrm_nr_list so a simple list of MAC's isn't enough.
I think I found the issue for AX201 Cards (do not know if it if a problem in general). I parameter is missing in usteer which seems essential. The disassociation_timer is not set.
In my case the Laptop needs some seconds but roams everytime. I think the Wifi-Card waits for less traffic or something like this. I found some discussion with DAWN that the dissassociation_timer is set everytime to the validity_period which makes sense. So I expect that the same change as to be applied to usteer. Will compile a fixed version for me and do some tests if I have time...
@nbd Saw your name in the code, perhaps you can solve this faster than me. It seems that some devices only roam if aggressive roaming is disassociation_imminent is set. Both my Laptops and IPhones behave like this. Must be a setting to enable it for roaming and band steering. Also a flag if devices knows BSS transition to avoid connection issue. I started to setup an DevEnvironment for OpenWRT…