[pkg-wpa-devel] Bug#814517: wpasupplicant: Unstable connection after laptop suspend

Paul "LeoNerd" Evans leonerd at leonerd.org.uk
Fri Feb 12 12:40:38 UTC 2016


Package: wpasupplicant
Version: 2.3-2.3
Severity: normal

After a fresh reboot, wpasupplicant can easily and reliably connect to
any of my networks - home, work, etc...

If I suspend the laptop and resume it again, either in the same place it
was suspended or by moving it to another, quite often wpasupplicant will
get stuck in an unstable loop, where it associates, obtains IP
addresses, only to choose to disconnect and start over. I say "quite
often" because it seems to be unstable; sometimes it doesn't do this.
Always one of three scenarios happens:

 1. It connects stably the first time and continues working

 2. It gets stuck in a permanent reconnection cycle, requiring manual
    intervention (sudo ifdown wlan0; sudo ifup wlan0) to recover

 3. It reconnects a few times, maybe order of 3 to 10, and then
    mysteriously succeeds and thereafter remains stable.

It is possible that cases 2 and 3 are really the same; usually after a
few minutes of waiting watching it continually reconnect I get bored of
waiting and forcibly restart it.

As an example, here's a chunk of /var/log/messages from just now when it
was stuck in a reconnection loop, before I manually restarted it:

  ...
  Feb 12 12:15:35 shy wpa_action: creating sendsigs omission pidfile: /run/sendsigs.omit.d/wpasupplicant.wpa_supplicant.wlan0.pid
  Feb 12 12:15:35 shy wpa_action: bssid=4a:d9:e7:47:bd:a6
  Feb 12 12:15:35 shy wpa_action: freq=0
  Feb 12 12:15:35 shy wpa_action: ssid=leoair
  Feb 12 12:15:35 shy wpa_action: id=0
  Feb 12 12:15:35 shy wpa_action: id_str=home
  Feb 12 12:15:35 shy wpa_action: mode=station
  Feb 12 12:15:35 shy wpa_action: pairwise_cipher=CCMP
  Feb 12 12:15:35 shy wpa_action: group_cipher=CCMP
  Feb 12 12:15:35 shy wpa_action: key_mgmt=WPA2-PSK
  Feb 12 12:15:35 shy wpa_action: wpa_state=COMPLETED
  Feb 12 12:15:35 shy wpa_action: ip_address=192.168.43.25
  Feb 12 12:15:35 shy wpa_action: address=8c:a9:82:c3:87:98
  Feb 12 12:15:35 shy wpa_action: uuid=78bcb1d2-42b3-571f-a058-ee941a51415e
  Feb 12 12:15:35 shy wpa_action: WPA_IFACE=wlan0 WPA_ACTION=DISCONNECTED
  Feb 12 12:15:35 shy wpa_action: WPA_ID=0 WPA_ID_STR=home WPA_CTRL_DIR=/var/run/wpa_supplicant
  Feb 12 12:15:35 shy wpa_action: ifdown wlan0
  Feb 12 12:15:36 shy kernel: [173556.420871] wlan0: deauthenticating from 4a:d9:e7:47:bd:a6 by local choice (Reason: 3=DEAUTH_LEAVING)
  Feb 12 12:15:46 shy wpa_action: removing sendsigs omission pidfile: /run/sendsigs.omit.d/wpasupplicant.wpa_supplicant.wlan0.pid
  Feb 12 12:15:46 shy kernel: [173566.483376] iwlwifi 0000:03:00.0: L1 Enabled - LTR Disabled
  Feb 12 12:15:46 shy kernel: [173566.490868] iwlwifi 0000:03:00.0: Radio type=0x0-0x0-0x3
  Feb 12 12:15:46 shy kernel: [173566.537968] iwlwifi 0000:03:00.0: L1 Enabled - LTR Disabled
  Feb 12 12:15:46 shy kernel: [173566.545392] iwlwifi 0000:03:00.0: Radio type=0x0-0x0-0x3
  Feb 12 12:15:46 shy kernel: [173566.578249] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
  Feb 12 12:15:46 shy wpa_action: WPA_IFACE=wlan0 WPA_ACTION=CONNECTED
  Feb 12 12:15:46 shy wpa_action: WPA_ID=0 WPA_ID_STR=home WPA_CTRL_DIR=/var/run/wpa_supplicant
  Feb 12 12:15:46 shy wpa_action: ifup wlan0=home
  Feb 12 12:15:46 shy kernel: [173567.044242] wlan0: authenticate with 4a:d9:e7:47:bd:a6
  Feb 12 12:15:46 shy kernel: [173567.048153] wlan0: send auth to 4a:d9:e7:47:bd:a6 (try 1/3)
  Feb 12 12:15:46 shy kernel: [173567.050642] wlan0: authenticated
  Feb 12 12:15:46 shy kernel: [173567.051134] wlan0: associate with 4a:d9:e7:47:bd:a6 (try 1/3)
  Feb 12 12:15:46 shy kernel: [173567.054908] wlan0: RX AssocResp from 4a:d9:e7:47:bd:a6 (capab=0x431 status=0 aid=2)
  Feb 12 12:15:46 shy kernel: [173567.069891] wlan0: associated
  Feb 12 12:15:46 shy kernel: [173567.069959] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
  Feb 12 12:15:51 shy wpa_action: creating sendsigs omission pidfile: /run/sendsigs.omit.d/wpasupplicant.wpa_supplicant.wlan0.pid
  Feb 12 12:15:51 shy wpa_action: bssid=4a:d9:e7:47:bd:a6
  Feb 12 12:15:51 shy wpa_action: freq=0
  ... as before
  Feb 12 12:15:51 shy wpa_action: WPA_ID=0 WPA_ID_STR=home WPA_CTRL_DIR=/var/run/wpa_supplicant
  Feb 12 12:15:51 shy wpa_action: ifdown wlan0
  Feb 12 12:15:52 shy kernel: [173572.482103] wlan0: deauthenticating from 4a:d9:e7:47:bd:a6 by local choice (Reason: 3=DEAUTH_LEAVING)
  Feb 12 12:16:02 shy wpa_action: removing sendsigs omission pidfile: /run/sendsigs.omit.d/wpasupplicant.wpa_supplicant.wlan0.pid
  Feb 12 12:16:02 shy kernel: [173582.545790] iwlwifi 0000:03:00.0: L1 Enabled - LTR Disabled
  Feb 12 12:16:02 shy kernel: [173582.553264] iwlwifi 0000:03:00.0: Radio type=0x0-0x0-0x3
  Feb 12 12:16:02 shy kernel: [173582.588903] iwlwifi 0000:03:00.0: L1 Enabled - LTR Disabled
  Feb 12 12:16:02 shy kernel: [173582.596332] iwlwifi 0000:03:00.0: Radio type=0x0-0x0-0x3
  Feb 12 12:16:02 shy kernel: [173582.630502] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
  Feb 12 12:16:02 shy wpa_action: WPA_IFACE=wlan0 WPA_ACTION=CONNECTED
  Feb 12 12:16:02 shy wpa_action: WPA_ID=0 WPA_ID_STR=home WPA_CTRL_DIR=/var/run/wpa_supplicant
  Feb 12 12:16:02 shy wpa_action: ifup wlan0=home
  ...

I was also monitoring the IP addresses using `ip mon addr` and observed
that for a few seconds on each reconnection attempt, the wireless link
was working correctly. It negotiated DHCP IPv4 and DHCPv6 IPv6 addresses
and for a few seconds each time, packets would flow just fine.

  3: wlan0    inet6 fe80::8ea9:82ff:fec3:8798/64 scope link 
	 valid_lft forever preferred_lft forever
  3: wlan0    inet6 2001:8b0:3f7:43:8ea9:82ff:fec3:8798/64 scope global mngtmpaddr dynamic 
	 valid_lft 86399sec preferred_lft 14399sec
  3: wlan0    inet 192.168.43.25/24 brd 192.168.43.255 scope global wlan0
	 valid_lft forever preferred_lft forever
  Deleted 3: wlan0    inet 192.168.43.25/24 brd 192.168.43.255 scope global wlan0
	 valid_lft forever preferred_lft forever
  Deleted 3: wlan0    inet6 2001:8b0:3f7:43:8ea9:82ff:fec3:8798/64 scope global mngtmpaddr dynamic 
	 valid_lft 86397sec preferred_lft 14397sec
  Deleted 3: wlan0    inet6 fe80::8ea9:82ff:fec3:8798/64 scope link 
	 valid_lft forever preferred_lft forever


Hardware-wise, the machine is a Lenovo Thinkpad X220, with

  03:00.0 Network controller: Intel Corporation Centrino Wireless-N 1000 [Condor Peak]

Though it feels to me like this isn't a hardware-related bug - simply
restarting wpasupplicant gets it out of the problem, and while it's in
the reconnect loop, for a few seconds each time, it is working fine. It
feels to me like wpasupplicant has got confused about testing link
status, and falsely believes it not to be working, so chooses to
disconnect and retry.


-- System Information:
Debian Release: stretch/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.2.0-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: sysvinit (via /sbin/init)

Versions of packages wpasupplicant depends on:
ii  adduser           3.113+nmu3
ii  libc6             2.19-22
ii  libdbus-1-3       1.10.6-1
ii  libnl-3-200       3.2.26-1
ii  libnl-genl-3-200  3.2.26-1
ii  libpcsclite1      1.8.15-1
ii  libreadline6      6.3-8+b4
ii  libssl1.0.2       1.0.2e-1
ii  lsb-base          9.20150917

wpasupplicant recommends no packages.

Versions of packages wpasupplicant suggests:
pn  libengine-pkcs11-openssl  <none>
ii  wpagui                    2.3-2.3

-- no debconf information



More information about the Pkg-wpa-devel mailing list