In September, there was a discussion on how we should handle a situation
where an autoconnect fails due to receipt of a connect-failed error, which
can be seen in difficult RF environments.

I understand the current recovery mechanism where we let wpa_supplicant
age off BSSs during a sufficiently long interval between autoscans in
order to prevent too many conneciton attempts to the AP.

There is one situation this does not cover, which is where you do not have
any favorite networks, and are performing a connection for the first time.
 In this scenario, the user facing application must periodically scan at a
rate that will prevent BSS age offs, in order to keep a list populated and
to support net.connman.Service.Connect calls.  However, this prevents
clean instances of the service from being created, and a user that happens
to receive a connect-failed on their first attempt will be unable to try
again without restarting connman.  Even if the more aggressive scanning is
removed, subsequent Connect attempts will fail until the failed BSS is
aged off.  Though this problem resolves itself over time with autoconnect,
it will be a pretty annoying UX problem for a user who is actively trying
to connect.

Is there interest in an upstream change to address this?  Since Connects
at this stage will be user initiated, I am less worried about the problem
of getting locked out of an AP.


For those interested in the details, the reason the subsequent attempts
fail is because once the passphrase has been stored in a non-favorite
service in memory, subsequent connect attempts in return -EINPROGRESS
instead of providing the passphrase to the supplicant.

I have a few approaches in mind: some requiring user or external/dbus
interaction, and one does not:

1) net.connman.Service.Remove could be changed to work for non favorite
services as well
2) net.connman.Service.Reset (or a better name) could be created to clear
the credentials from a non favorite service without affecting Remove.
3) Find an appropriate time or command to clean out all networks and
services.
4) If a connect-failed error is received when connecting to a non-favorite
service, clear the credentials in memory immediately, which will cause
RequestInput to be called again on the next Connect attempt even if the
service is not aged off.

I have a patch for solution 4 working, but would appreciate feedback on
this issue.

Thanks!
Adam



Statement of Confidentiality

The contents of this e-mail message and any attachments are confidential and 
are intended solely for the addressee. The information may also be legally 
privileged. This transmission is sent in trust, and the sole purpose of 
delivery to the intended recipient. If you have received this transmission in 
error, any use, reproduction or dissemination of this transmission is strictly 
prohibited. If you are not the intended recipient, please immediately notify 
the sender by reply e-mail or at 508.683.2500 and delete this message and its 
attachments, if any.

_______________________________________________
connman mailing list
connman@connman.net
https://lists.connman.net/mailman/listinfo/connman

Reply via email to