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 [email protected] https://lists.connman.net/mailman/listinfo/connman
