Verify that the selected BSS has a better signal level before roaming
This prevents situations like the following where we roam to a lesser quality BSS just because the signal level delta is over our threshold. wlan0: Considering within-ESS reassociation wlan0: Current BSS: 00:24:6c:74:0a:40 level=-51 wlan0: Selected BSS: 00:24:6c:74:0a:e0 level=-64 wlan0: Request association: reassociate: 0 selected: 00:24:6c:74:0a:e0 bssid: 00:24:6c:74:0a:40 pending: 00:00:00:00:00:00 wpa_state: COMPLETED Signed-hostap: Robert Shade <robert.shade@gmail.com>
This commit is contained in:
parent
fb660a9431
commit
bff954e9a2
1 changed files with 6 additions and 0 deletions
|
@ -1025,6 +1025,12 @@ static int wpa_supplicant_need_to_roam(struct wpa_supplicant *wpa_s,
|
|||
return 1;
|
||||
}
|
||||
|
||||
if (current_bss->level < 0 && current_bss->level > selected->level) {
|
||||
wpa_dbg(wpa_s, MSG_DEBUG, "Skip roam - Current BSS has better "
|
||||
"signal level");
|
||||
return 0;
|
||||
}
|
||||
|
||||
min_diff = 2;
|
||||
if (current_bss->level < 0) {
|
||||
if (current_bss->level < -85)
|
||||
|
|
Loading…
Reference in a new issue