This patch set does not remove any auto-connect/roaming functionality,
it aims to avoit keeping service in the list after AP deauthenticate
us and it is not found in the scan.
The first patches revert the patches that add the connectable flag and
the use of it because such implementation prevents ConnMan to remove the
service from the services list when it is no longer in range, resulting
in a confusion for users because they will continue seeing a service in
their list when it is not actually available.
Doing so, ConnMan will remove the service once it is no longer in range
and when it comes back wpa_s will notify ConnMan about it through a
"BSSAdded" signal which will allow ConnMan to be prepare for a soon
connection and state machines would continue correctly. In case wpa_s
does not send such signal before notifying we got connected, which
should not happen, the last two patches of this set introduce a
notification named "network_associated" which should handle this border
- wpa_supplicant could notify about CurrentBSS in any state once it got
associated, i.e. it is not sure such notification will arrive together
with transition to ASSOCIATED state. Therefore, we must consider states:
ASSOCIATED, 4WAY_HANDSHAKE, GROUP_HANDSHAKE, COMPLETED. For instance,
for networks with security WEP or OPEN, it always arrives together with
transition to COMPLETED.
- Connectable flag forces ConnMan to keep service in list even if it
is no longer in range thus do not use it in IWD.
Again, I do not think I could trigger all use cases thus I would
appreciate if people could test auto-connect and roaming use cases.
Mainly auto-connect when AP is who deauthenticates STA.
Patrik, could you please test suspend in your system, thanks!
Jose Blanquicet (6):
iwd: Do not use connectable flag
Revert "device: Use network's connectable flag"
Revert "plugins/wifi: Marking network's Connectable flag as true."
Revert "network: connectable flag in network structure"
gsupplicant: Add callback to notify the associated network
wifi: Set current network in case of reconnection
gsupplicant/gsupplicant.h | 1 +
gsupplicant/supplicant.c | 46 ++++++++++++++++++++++++++
include/network.h | 5 ---
plugins/iwd.c | 2 --
plugins/wifi.c | 83 +++++++++++++++++++++++++++++------------------
src/device.c | 6 +---
src/network.c | 13 --------
7 files changed, 100 insertions(+), 56 deletions(-)
Show replies by date