Paul, I have finally managed to reproduce this on Trusty. The ifstate looks to be a false trail.
However, please note that with 0.8.10ubuntu1 on Xenial this problem does not occur. I am investigating which change needs to be backported. I will keep you updated. -- 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