Commit Graph

11 Commits (main)

Author SHA1 Message Date
Theo Debrouwere 154cdb82e3 Bugfix: fix active roaming capability.
According to the makefile, it should be possible to keep roaming active:
Set #bit2 of CONFIG_ROAMING_FLAG, like this:
CONFIG_ROAMING_FLAG = 0x7

But, when trying out this option, it appears that active roaming is not
working as expected. It only changes if the old AP is expired.

This patch fixes this behaviour, but does NOT set BIT2.

Reason for failure:
The linked_status_chk function runs every 2 seconds.
There is an internal roaming flag (need_to_roam) that is set when the
current signal is below a threshold AND if it hasn't been set during a
predefined time. Setting the flag also updates the last_time_roaming timestamp.
If either of these fails, then the flag (need_to_roam) is cleared.

This causes a race condition:
1) Threshold is too low + long last_time_roaming
   -> flag is set + last_time_roaming is updated.
2) Chipset starts scanning / surveying (this takes > 3 sec)
3) Conditions are rechecked: threshold is still to low, but last_time_roaming
is now too recent -> flag is cleared.
4) Survey finishes, but since the flag is cleared, roaming will be ignored.

The solution in this patch:
Once the flag (need_to_roam) has been set, it should only be cleared if the
signal strength is above the threshold. It should not be cleared based on the
last_time_roaming timestamp.
2023-04-24 18:43:19 +02:00
morrownr 5a39cefab3 cleanup 2023-03-14 07:57:22 -05:00
Giulio Benetti 89b12d21fc Fix build on PowerPC64
On PowerPC64 architecture get_ra() is also present in Linux but with a
different name causing build to fail. To fix this let's rename local
get_ra() to rtl_get_ra().

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
2023-03-02 23:43:19 -08:00
morrownr e75a84e4c0 various script and documentation updates 2023-02-27 10:50:37 -06:00
morrownr 8c45ce6dae cleanup code and minor mods to docs 2023-02-23 14:29:27 -06:00
morrownr 5f3bbbf007 various minor updates 2023-02-09 09:11:23 -06:00
morrownr 1b04b9c821 cleanup logging 2022-12-29 16:14:24 -06:00
morrownr 578958e9b7 monitor mode enhancements 2022-12-27 16:12:01 -06:00
morrownr ede68a6192 detect previously dkms installed driver 2022-12-18 01:05:54 -06:00
Alkis Georgopoulos 25700afee5 Correct executable bits 2022-12-09 11:08:52 +02:00
morrownr 1d6ef930b9 initial commit 2022-11-17 08:26:57 -06:00