Most clients like iPhones does not answer beacon requests above -60 and as we know from earlier discussion some devices gets a short disruption if they answer on a beacon request. As the connection is good I think it is also unnecessary.
Can someone tell me how to apply these patches, complete newbie here
i guess you need to have a build environment set up to use them.
I am trying to get the band steering work to switch my 2,4G clients to 5G band but unfortunately it does not work as expected. I have read documentation and it seems like my config is OK but I'm definitely missing something.
I am using usteer 2022.08.18~7d2b17c9-r1
Here is my config:
config usteer
option network 'lan'
option syslog '1'
option local_mode '0'
option ipv6 '0'
option debug_level '3'
option min_snr '-85'
option roam_scan_snr '-55'
option signal_diff_threshold '8'
option roam_trigger_interval '11000'
option load_balancing_threshold '1'
option band_steering_threshold '1'
option band_steering_interval '10000'
Clients:
root@OpenWrt:~# ubus call usteer connected_clients
{
"hostapd.phy0-ap0": {
"7e:2b:e2:84:a7:fb": {
"signal": -34,
"created": 10772764,
"connected": 10708000,
"snr-kick": {
"seen-below": 0
},
"roam-state-machine": {
"state": "ROAM_TRIGGER_IDLE",
"tries": 0,
"event": 0,
"kick-count": 0,
"last-kick": 0,
"scan_start": 0,
"scan_timeout_start": 0
},
"bss-transition-response": {
"status-code": 1,
"age": 39938
},
"beacon-measurement-modes": [
"PASSIVE",
"ACTIVE",
"TABLE"
],
"link-measurement": true,
"bss-transition-management": true,
"multi-band-operation": false,
"measurements": [
{
"node": "hostapd.phy0-ap0",
"rcpi": 161,
"rsni": 68,
"rssi": -30,
"age": 26844
}
]
},
"da:f5:12:a5:98:07": {
"signal": -39,
"created": 13942944,
"connected": 13819000,
"snr-kick": {
"seen-below": 0
},
"roam-state-machine": {
"state": "ROAM_TRIGGER_IDLE",
"tries": 0,
"event": 2663952,
"kick-count": 0,
"last-kick": 0,
"scan_start": 3858085,
"scan_timeout_start": 0
},
"bss-transition-response": {
"status-code": 0,
"age": 17748
},
"beacon-measurement-modes": [
"PASSIVE",
"ACTIVE",
"TABLE"
],
"link-measurement": true,
"bss-transition-management": true,
"multi-band-operation": false,
"measurements": [
{
"node": "hostapd.phy0-ap0",
"rcpi": 154,
"rsni": 63,
"rssi": -33,
"age": 57946
}
]
}
},
"hostapd.phy1-ap0": {
}
}
There are some improvements for band steering I implemented in the version mentioned above.
With the version you are using only this settings should be set. Usteer will then move clients with an SNR higher than -60 (if I remember correctly) to 5Ghz every 2 minutes. The interval should not be changed as clients like iPhone will not answer scan requests so Usteers only option is to check the actual SNR. If the check interval is shorter a client could jump with this interval between bands which could leads into interruptions. This for example does not happen anymore in the newer version which is actually not merged to the official repo.
And also the SSID must be the same for both bands.
config usteer
option network 'lan'
option syslog '1'
option local_mode '0'
option ipv6 '0'
option debug_level '2'
option roam_scan_snr '-65'
option signal_diff_threshold '8'
Okey so should I not touch load_balancing_threshold and band_steering_threshold? Docs says that the former should be set > 0 for band steering to work.
To be sure, I should compile exact this repo master? https://github.com/NilsRo/usteer
That is not correct in the docs or better not exact. The parameters are used for band comparison during roaming not for band steering you talking about. Will perhaps request access to the docs, there are some not very well explanations about some parameters…
The new version also includes log messages what happens. So if you are able to compile the package you can use this repo. It is a fast copy of the patches only so ignore the commits. Will delete it if it is merged to the main repo.
You can get access to the docs with a GitHub account.