Bug 117391 - iwlwifi: 8260: frequent disconnections when power save is enabled
Summary: iwlwifi: 8260: frequent disconnections when power save is enabled
Status: CLOSED CODE_FIX
Alias: None
Product: Drivers
Classification: Unclassified
Component: network-wireless (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: DO NOT USE - assign "network-wireless-intel" component instead
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-04-30 01:51 UTC by Craig G
Modified: 2016-05-03 16:06 UTC (History)
1 user (show)

See Also:
Kernel Version: Ubuntu's 4.4.0-21-generic
Subsystem:
Regression: No
Bisected commit-id:


Attachments
dmesg log (65.55 KB, text/x-log)
2016-05-01 23:09 UTC, Craig G
Details
trace (3.06 MB, application/gzip)
2016-05-01 23:09 UTC, Craig G
Details

Description Craig G 2016-04-30 01:51:57 UTC
I'm experiencing frequent disconnects using the iwlwifi (iwlmvm) driver with an Intel 8260 wireless NIC in a Thinkpad X1 Carbon. I'm running the current Ubuntu 4.4 kernel with Intel firmware version 16.242414.0.

The system log doesn't show anything interesting after the module first loads.  Eventually, WPA rekeying events begin to fail and then the base station sends a disconnect message 'due to excessive missing ACKs'.  NetworkManager attempts to renegotiate the connection and succeeds through several iterations of this cycle.  Eventually it's attempts fail consistently (even across network manager and wpa_supplicant restarts).  rmmod iwlmvm/modprobe iwlmvm fixes the problem until the cycle begins again.

Base station log:
12:52:03 2016 daemon.info hostapd: wlan0: STA 44:85:00:xx:xx:xx WPA: group key handshake completed (RSN)
13:02:03 2016 daemon.info hostapd: wlan0: STA 44:85:00:xx:xx:xx WPA: group key handshake completed (RSN)
13:12:03 2016 daemon.info hostapd: wlan0: STA 44:85:00:xx:xx:xx WPA: group key handshake completed (RSN)
13:17:14 2016 daemon.info hostapd: wlan0: STA 44:85:00:xx:xx:xx IEEE 802.11: disconnected due to excessive missing ACKs
13:17:44 2016 daemon.info hostapd: wlan0: STA 44:85:00:xx:xx:xx IEEE 802.11: deauthenticated due to inactivity (timer DEAUTH/REMOVE)


Machine log:
11:32:06 live wpa_supplicant[14172]: wlp4s0: WPA: Group rekeying completed with 14:cc:20:xx:xx:xx [GTK=CCMP]
11:40:19 live wpa_supplicant[14172]: wlp4s0: CTRL-EVENT-SCAN-FAILED ret=-16 retry=1
11:42:05 live wpa_supplicant[14172]: message repeated 106 times: [ wlp4s0: CTRL-EVENT-SCAN-FAILED ret=-16 retry=1]
...
13:12:03 live wpa_supplicant[14172]: wlp4s0: WPA: Group rekeying completed with 14:cc:20:xx:xx:xx [GTK=CCMP]
13:12:03 live wpa_supplicant[14172]: wlp4s0: CTRL-EVENT-SCAN-FAILED ret=-16 retry=1
13:17:01 live wpa_supplicant[14172]: message repeated 300 times: [ wlp4s0: CTRL-EVENT-SCAN-FAILED ret=-16 retry=1]
13:17:02 live wpa_supplicant[14172]: wlp4s0: CTRL-EVENT-SCAN-FAILED ret=-16 retry=1
...
13:17:36 live kernel: [243960.308137] wlp4s0: disassociated from 14:cc:20:xx:xx:xx (Reason: 7)
13:17:36 live wpa_supplicant[14172]: message repeated 34 times: [ wlp4s0: CTRL-EVENT-SCAN-FAILED ret=-16 retry=1]
...
13:17:37 live wpa_supplicant[14172]: wlp4s0: CTRL-EVENT-DISCONNECTED bssid=14:cc:20:xx:xx:xx reason=7
13:17:37 live wpa_supplicant[14172]: wlp4s0: SME: Trying to authenticate with 14:cc:20:xx:xx:xx (SSID='xxx' freq=5805 MHz)
13:17:37 live wpa_supplicant[14172]: wlp4s0: SME: Authentication request to the driver failed
13:17:37 live NetworkManager[14269]: <warn>  [1461777457.0121] sup-iface[0x1cc72b0,wlp4s0]: connection disconnected (reason 7)
13:17:37 live NetworkManager[14269]: <info>  [1461777457.0161] device (wlp4s0): supplicant interface state: completed -> disconnected
13:17:37 live gnome-session[1522]: Gjs-Message: JS LOG: An active wireless connection, in infrastructure mode, involves no access point?
13:17:37 live wpa_supplicant[14172]: wlp4s0: CTRL-EVENT-SCAN-FAILED ret=-16 retry=1
13:17:52 live wpa_supplicant[14172]: message repeated 15 times: [ wlp4s0: CTRL-EVENT-SCAN-FAILED ret=-16 retry=1]
13:17:52 live NetworkManager[14269]: <warn>  [1461777472.7419] device (wlp4s0): link timed out.
13:17:52 live NetworkManager[14269]: <info>  [1461777472.7420] device (wlp4s0): state change: activated -> failed (reason 'ssid-not-found') [100 120 53]
13:17:52 live NetworkManager[14269]: <info>  [1461777472.7430] manager: NetworkManager state is now CONNECTED_LOCAL
13:17:52 live NetworkManager[14269]: <info>  [1461777472.7434] manager: NetworkManager state is now DISCONNECTED
13:17:52 live whoopsie[811]: [13:17:52] offline
13:17:52 live NetworkManager[14269]: <warn>  [1461777472.7556] device (wlp4s0): Activation: failed for connection 'xxx'
13:17:52 live dbus[843]: [system] Activating via systemd: service name='org.freedesktop.nm_dispatcher' unit='dbus-org.freedesktop.nm-dispatcher.service'
Comment 1 Emmanuel Grumbach 2016-05-01 06:59:24 UTC
Please attach full dmesg output?

Can you run tracing?
Comment 2 Craig G 2016-05-01 23:09:16 UTC
Created attachment 214881 [details]
dmesg log
Comment 3 Craig G 2016-05-01 23:09:37 UTC
Created attachment 214891 [details]
trace
Comment 4 Emmanuel Grumbach 2016-05-02 06:50:53 UTC
Ok - this is really strange. The AP seems to kick us out because there is no traffic (which is true based on the tracing). Note that in this case, the firmware is supposed to send a dummy packet from time to time to keep the connection active. Then the AP kicks us out, but the deauth packet is not received by the Intel device.

Can you try to see what happens when you disable power save?
To do so, please add this to /etc/modprobe.d/iwlwifi.conf

options iwlmvm power_scheme=1
Comment 5 Craig G 2016-05-02 17:22:03 UTC
Thanks for looking into this.  I've had the power_scheme=1 option set for about the last 6 hours and haven't seen any further 'disassociated' messages in dmesg.
Comment 6 Emmanuel Grumbach 2016-05-02 17:47:27 UTC
Ok - it is a firmware bug then.

Can you please install the Core18 firmware / driver from:

https://wireless.wiki.kernel.org/en/users/drivers/iwlwifi/core_release

and let me know how it goes?
Of course, you'll need to remove the power_scheme setting.

Thanks.
Comment 7 Craig G 2016-05-02 23:15:46 UTC
The iwlwifi module that comes with ubuntu only seems to support up to version 19 (Core 16) of the firmware.  I'll try that for a bit while I try to figure out how to rebuild a newer kernel.  Unless there's some way to force-load a newer version of the firmware?
Comment 8 Emmanuel Grumbach 2016-05-03 03:32:04 UTC
No need to update the kernel. Just install the backport based driver from the same wiki page.
Comment 9 Craig G 2016-05-03 12:58:37 UTC
That may not even be necessary.  It looks like version 19 (Core 16) is good enough to fix this problem.  Since I switched to it yesterday, I haven't seen any connection drops.

$ ethtool -i wlp4s0 | grep firmware
firmware-version: 19.313137.0

$ cat /sys/module/iwlmvm/parameters/power_scheme 
2

I'm happy to consider this resolved unless you'd like to try to narrow down the specifics of the issue with the older firmware.

I'll probably start a launchpad bug and reference this to get the newer firmware included in the ubuntu package.  Thanks again for your help!
Comment 10 Emmanuel Grumbach 2016-05-03 13:24:23 UTC
well...
Ubuntu will not ship -19.ucode since I didn't upstream it. I upstream'ed -16.ucode and -21.ucode but nothing in the middle.
I doubt I'll get the firmware team to fix the older firmware so ...

I guess I can send -19.ucode to mainline, but I wonder if it is really worth it. It will just add more (heavy) firmware files into mainline and I already sent an earlier firmware.
Comment 11 Craig G 2016-05-03 14:13:21 UTC
Ah, thanks, I didn't realize that some of these were minor versions not released.  I'm happy with the manual install of the 19 code for now, but I think I'm going to file the ubuntu bug anyway.  Maybe it will convince them to ship the newer module version that supports the 21 firmware.

Note You need to log in before you can comment on or make changes to this bug.