← Back to team overview

desktop-packages team mailing list archive

[Bug 1545302] Re: wpa-roam broken by fix for ifupdown #1337873

 

/etc/network/interfaces:
--------------------------------------
auto lo
allow-hotplug wlan1

iface lo inet loopback

iface wlan1 inet manual
    wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf

iface default inet dhcp


/etc/wpa-supplicant/wpa-supplicant.conf
-----------------------------------------------------------
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
    ssid="Sooty"
    key_mgmt=WPA-PSK
    psk="secret"
    priority=5
}


Basically the same as yours. It's worth confirming the symptoms: for me
this setup was working fine until a recent apt-get upgrade. After that,
wireless appeared to come up but no address was assigned over DHCP. I
could get one by manually running "dhclient wlan1". It was apparent
looking at the logs that dhclient was not being run after the wireless
connection came up, and the PPA from Dariusz has dhclient running again.

-- 
You received this bug notification because you are a member of Desktop
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:
  [Impact]

   * In some configurations recurrent ifup/down calls are broken due to
  a false-positive recursion detection.

   * In certain situations it leaves interfaces unconfigured (in this
  case: WLAN interface connected to WiFi network, but dhcp fails).

  [Test Case]

   * Setup wpa-roam configuration based on what is in comment #6
   
   * Wait until wpa_supplicant connects to a wifi network

   * Run ifconfig to check if the WLAN interface received dhcp info

   * Expected result: WLAN is fully configured according to dhcp settings
   
   * Actual result: WLAN is connected to WiFi but not configured

  [Regression Potential]

   * Fixed upstream, fix present in Xenial.

   * Debdiffs contain a backport of an upstream fix.

  [Other Info]
   
   * Original 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


References