Paul, I think that the real cause here is that (by looking into debian/ifupdown/functions.sh) wpasupplicant depends on the previous single-file ifstate. Currently, for the sake of the locking mechanism, it has been split into an individual ifstate.$IFACE per interface, while wpasupplicant still checks for the state /run/network/ifstate.
This leads to loosing track of aliases and misusing of the locking. I will work on fixing this for Ubuntu and Debian and will appreciate your help in testing it as soon as a hotfix is ready. Thanks! -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to wpa in Ubuntu. https://bugs.launchpad.net/bugs/1545302 Title: wpa-roam broken by fix for ifupdown #1337873 Status in wpa package in Ubuntu: Confirmed Bug description: The following versions of ifupdown introduced a recursion check using "IFUPDOWN_<interface>" environment variables along with a new locking mechanism for ifup (see #1337873): 0.7.47.2ubuntu4.2 (in Trusty) 0.7.54ubuntu1.1 (in Wily) 0.7.54ubuntu2 (in Xenial) This recursion check breaks the wpa-roam feature of wpasupplicant, preventing it from loading the logical interface specified by id_str after associating with an AP. Specifically, after upgrading to one of the above ifupdown versions, the '/sbin/ifup -v --force "$WPA_IFACE=$WPA_LOGICAL_IFACE"' command run by wpa_action in functions.sh fails with an "ifup: recursion detected for parent interface wlan0 in post-up phase" error. To fix the issue, functions.sh needs to run `unset "IFDOWN_$WPA_IFACE"` before calling /sbin/ifup to prevent ifup from detecting the recursion. The attached patch implements this change. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/wpa/+bug/1545302/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp