Bug 86801 - iwlwifi: dvm: AP deauth the NIC when idle (CLASS3_FRAME_FROM_NONASSOC_STA)
Summary: iwlwifi: dvm: AP deauth the NIC when idle (CLASS3_FRAME_FROM_NONASSOC_STA)
Status: CLOSED INVALID
Alias: None
Product: Drivers
Classification: Unclassified
Component: network-wireless (show other bugs)
Hardware: x86-64 Linux
: P1 normal
Assignee: drivers_network-wireless@kernel-bugs.osdl.org
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-10-24 08:25 UTC by Laurentiu Nicola
Modified: 2014-10-27 20:35 UTC (History)
1 user (show)

See Also:
Kernel Version: 3.17.1
Subsystem:
Regression: No
Bisected commit-id:


Attachments
dmesg output (51.27 KB, text/plain)
2014-10-24 08:25 UTC, Laurentiu Nicola
Details
get more data (4.58 KB, patch)
2014-10-27 06:43 UTC, Emmanuel Grumbach
Details | Diff
dmesg after "get more data" (258.54 KB, text/plain)
2014-10-27 17:20 UTC, Laurentiu Nicola
Details

Description Laurentiu Nicola 2014-10-24 08:25:25 UTC
Created attachment 154761 [details]
dmesg output

I have a 2012-ish HP laptop with a Centrino Ultimate-N 6300 AGN and an ASUS RT-N66U (Broadcom) router running DD-WRT (dd-wrt.v24-24160_NEWD-2_K3.x_mega.bin).

I'm able to connect to my network, but if there is no traffic the connection drops after around 60 seconds. Continuously pinging the router prevents the issue from occurring.

iwconfig reports that power saving mode is off and iwlwifi.force_cam=1 doesn't change anything (it's the default anyway).

dmesg output with MAC80211_MLME_DEBUG and MAC80211_STA_DEBUG is attached. The logs are from 3.17.1-gentoo, I also tested 3.14.4-gentoo and the Fedora 20 Live CD (I don't know the kernel version). I tried the last three available firmware versions:

* iwlwifi-6000-ucode-9.176.4.1.tgz
* iwlwifi-6000-ucode-9.193.4.1.tgz
* iwlwifi-6000-ucode-9.221.4.1.tgz 

Note that there seems to be a lot of software using the network. My Gentoo only has DHCP and NTP clients running (X doesn't work, but that's an issue for another day) and I can reproduce the issue reliably, while on the Fedora Live CD I sometimes had to wait 5-10 minutes or so.
Comment 1 Emmanuel Grumbach 2014-10-24 10:25:16 UTC
can you please record tracing?

sudo trace-cmd record -e iwlwifi -e iwlwifi_msg -e iwlwifi_data -e mac80211 -e cfg80211

and send the output?

thank you.
Comment 2 Emmanuel Grumbach 2014-10-27 06:43:17 UTC
Created attachment 155301 [details]
get more data

Hi,

please reproduce with the patch attached - use the following debug parameter for iwlwifi:

debug=0xC0800000

No need to provide tracing.

Thanks.
Comment 3 Laurentiu Nicola 2014-10-27 17:20:40 UTC
Created attachment 155451 [details]
dmesg after "get more data"
Comment 4 Emmanuel Grumbach 2014-10-27 17:49:45 UTC
I am sorry to tell you but I can't understand what is going on here.
We seem to behave perfectly:

Oct 27 19:12:45 - we Tx to the AP
19:13:16 - we send a probe packet to make sure the AP doesn't forget us:

Oct 27 19:13:16 localhost kernel: wlo1: ieee80211_sta_conn_mon_timer:3612  KICKING PROBE
Oct 27 19:13:16 localhost kernel: wlo1: ieee80211_sta_monitor_work:3622
Oct 27 19:13:16 localhost kernel: ieee80211_mgd_probe_ap:2036 Probing the AP

This packet is ACKed:

Oct 27 19:13:16 localhost kernel: iwlwifi 0000:09:00.0: I iwlagn_rx_reply_tx TXQ 0 status SUCCESS (0x00000201)

but immediately after, the AP sends the deauth:

Oct 27 19:13:16 localhost kernel: wlo1: deauthenticated from 74:d0:2b:d2:d7:ac (Reason: 7=CLASS3_FRAME_FROM_NONASSOC_STA)

Note that we had a successful Tx 30 seconds earlier...



Another occurrence of the bug:

Oct 27 19:12:06 localhost kernel: iwlwifi 0000:09:00.0: I iwlagn_rx_reply_tx TXQ 2 status SUCCESS (0x00000201)

this is a successful Tx.

Oct 27 19:12:33 localhost kernel: iwlwifi 0000:09:00.0: I iwlagn_rx_reply_tx TXQ 2 status SUCCESS (0x00000201)
this is another successful Tx and...
Oct 27 19:12:33 localhost kernel: wlo1: deauthenticated from 74:d0:2b:d2:d7:ac (Reason: 7=CLASS3_FRAME_FROM_NONASSOC_STA)

right after.

All this seems to be an AP bug...
Comment 5 Emmanuel Grumbach 2014-10-27 18:34:16 UTC
one last thing I can suggest is to try to disable force_cam.

force_cam=false as a module parameter to dvm:

options iwldvm force_cam=0

if that doesn't work, I'll have to close this bug
Comment 6 Laurentiu Nicola 2014-10-27 19:42:27 UTC
I understand, of course. Thanks for the help.

I submitted http://svn.dd-wrt.com/ticket/3678 in case the DD-WRT devs have any idea.
Comment 7 Emmanuel Grumbach 2014-10-27 19:57:16 UTC
please point them to this bug report.
Comment 8 Emmanuel Grumbach 2014-10-27 20:35:37 UTC
Note that I still need to publish parts of the patch - there a few things that need to be fixed, but unfortunately, this was not enough.

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