Bug 75541

Summary: iwlwifi 7260: panic when setting frequency for monitor mode
Product: Drivers Reporter: Kerry Calvert (kerry.calvert)
Component: network-wirelessAssignee: Emmanuel Grumbach (emmanuel.grumbach)
Status: CLOSED CODE_FIX    
Severity: blocking CC: ilw, linville, stefan.bauer
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 3.14.2 Subsystem:
Regression: No Bisected commit-id:
Attachments: kern.log + kernel config file
fix for montor mode
same fix for 3.14

Description Kerry Calvert 2014-05-05 21:02:03 UTC
With an Intel 7260 wireless card installed, and the iwlwifi-7620-8.ucode downloaded from the Intel support site installed, the following operation causes the kernel to lock

ifconfig wlan0 down
iwconfig wlan0 mode monitor
ifconfig wlan0 up
iwconfig wlan0 freq 2462M


The same set of operations with the iwlwifi-7620-7.ucode firmware works.

Intel recommends the 7620-8 firmware with the 3.14.2 kernel, and there are other problems with the card that warranted the search to upgrade the firmware/drivers to solve.
Comment 1 Emmanuel Grumbach 2014-05-06 09:49:56 UTC
do you have a log of the failing case?
Comment 2 Kerry Calvert 2014-05-06 15:22:51 UTC
Created attachment 135231 [details]
kern.log + kernel config file

The attached file (crash.log) contains the log from the system startup through the execution if the ifconfig commands to cause the lockup.  Once locked up, a power reset was done so the log file could be extracted.

I also appended the kernel config file that was used to build the 3.14.2 kernel on the platform.
Comment 3 Emmanuel Grumbach 2014-05-06 16:12:10 UTC
Oh - I just noticed that you are using iwconfig.

This tool is deprecated. Can you please use iw instead?
I'll try to reproduce with iwconfig, but this is really really low priority.
Comment 4 Kerry Calvert 2014-05-06 16:48:46 UTC
(In reply to Emmanuel Grumbach from comment #3)
> Oh - I just noticed that you are using iwconfig.
> 
> This tool is deprecated. Can you please use iw instead?
> I'll try to reproduce with iwconfig, but this is really really low priority.

the behavior and log file is exactly the same with the use of iw
Comment 5 Emmanuel Grumbach 2014-05-07 13:29:12 UTC
I am on 3.14.3:

sudo modprobe iwlwifi
sudo ifconfig wlan0 down
sudo iw wlan0 set type monitor
sudo ifconfig wlan0 up
sudo iw wlan0 set channel 1
sudo tcpdump -i wlan0 -s 65000 

<lots of packets on my screen>

So I don't what is your problem, but I have the exact same FW as you:
iwlwifi 0000:02:00.0: loaded firmware version 22.24.8.0 op_mode iwlmvm
Comment 6 Kerry Calvert 2014-05-07 13:43:41 UTC
(In reply to Emmanuel Grumbach from comment #5)
> I am on 3.14.3:
> 
> sudo modprobe iwlwifi
> sudo ifconfig wlan0 down
> sudo iw wlan0 set type monitor
> sudo ifconfig wlan0 up
> sudo iw wlan0 set channel 1
> sudo tcpdump -i wlan0 -s 65000 
> 
> <lots of packets on my screen>
> 
> So I don't what is your problem, but I have the exact same FW as you:
> iwlwifi 0000:02:00.0: loaded firmware version 22.24.8.0 op_mode iwlmvm

This exact procedure worked for me as well.
But with the same procedure setting the channel to 6, the kernel locks
Comment 7 Kerry Calvert 2014-05-07 14:28:46 UTC
Same problem with channel 11.  The only channel that works is 1
Comment 8 Emmanuel Grumbach 2014-05-08 06:59:45 UTC
Created attachment 135371 [details]
fix for montor mode

Please test the patch attached
Comment 9 stefan.bauer 2014-05-08 11:47:19 UTC
If i follow this advice:

> I am on 3.14.3:
> 
> sudo modprobe iwlwifi
> sudo ifconfig wlan0 down
> sudo iw wlan0 set type monitor
> sudo ifconfig wlan0 up
> sudo iw wlan0 set channel 1
> sudo tcpdump -i wlan0 -s 65000 
> 
> <lots of packets on my screen>

It works on channel 1. If i switch to channel 9 it looks up instantly.
Comment 10 Emmanuel Grumbach 2014-05-08 11:49:50 UTC
are you sure you applied the patch?

again - I could reproduce the deadlock and I tested my fix.
Comment 11 stefan.bauer 2014-05-08 11:55:08 UTC
If you're talking about this patch:

https://bugzilla.kernel.org/attachment.cgi?id=135371&action=diff

yes. It was just not in the lines the patch is reffering to. In kernel 3.14.3 the ASYNC change is in line 799. Might that be the problem?
Comment 12 Emmanuel Grumbach 2014-05-08 12:21:59 UTC
(In reply to stefan.bauer from comment #11)
> If you're talking about this patch:
> 
> https://bugzilla.kernel.org/attachment.cgi?id=135371&action=diff
> 
> yes. It was just not in the lines the patch is reffering to. In kernel
> 3.14.3 the ASYNC change is in line 799. Might that be the problem?

no - this should be fine.
Comment 13 Emmanuel Grumbach 2014-05-08 12:28:19 UTC
hell - I just reproduced the issue.
Somehow it was fixed for an a backport tree.
I'll poke at it
Comment 14 Emmanuel Grumbach 2014-05-08 12:53:11 UTC
Created attachment 135461 [details]
same fix for 3.14

This patch is for 3.14.

The previous patch is for 3.15.
Comment 15 Kerry Calvert 2014-05-08 14:46:57 UTC
I have applied the patch to 3.14.2 and confirm the issue is resolved.

Thanks much for the quick response and resolution.
Comment 16 stefan.bauer 2014-05-08 15:00:14 UTC
Same here works with the latest patch for 3.14! Thank you!