]> git.ipfire.org Git - thirdparty/hostap.git/commit
Update throughput estimate for the current BSS based on signal poll
authorEmmanuel Grumbach <emmanuel.grumbach@intel.com>
Fri, 6 Dec 2019 22:27:47 +0000 (14:27 -0800)
committerJouni Malinen <j@w1.fi>
Mon, 30 Dec 2019 22:21:37 +0000 (00:21 +0200)
commit7e7b23e2290b1c0731f0ae04200ddef033334abb
treeae3b46dc2beabd68f78a464ace0d75a87d79955a
parentad06ac0b04cc0a3efa8ec5b3e7814f2b4d864d88
Update throughput estimate for the current BSS based on signal poll

We saw that on certain platforms in certain places we keep switching
between two APs and eventually get the same RSSI. Debugging showed that
we have a very big difference between the two antennas.

Ant A can hear AP A very well (-60) but AP B very bad (-80)
Ant B can hear AP B very well (-60) but AP A very bad (-80)

When the device associates to AP A, it'll learn to use Ant A. If the
device uses one single antenna to receive the scan results, it may hear
the AP it is currently associated to on the second antenna and get bad
results. Because of that, the wpa_supplicant will roam to the other AP
and the same scenario will repeat itself:

Association to AP A (Ant A reports -60).
Scan on Ant A: AP A: -60, AP B: -80
Scan on Ant B: AP A: -80, AP A: -60 ==> ROAM.

Association to AP B (Ant B reports -60)
Scan on Ant A: AP A: -60, AP B: -80 ==> ROAM

Etc...

Improve this by querying the signal level of the current AP using
drv_signal_poll() instead of relying on the signal level that we get
from the scan results. Also update the throughput estimate based on the
likely more accurate values for the current association.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
wpa_supplicant/events.c