Bug 14417

Summary: [Regression] Wireless driver iwlagn+iwlcore doesn't work after resume (needs reloading)
Product: Drivers Reporter: Eddy Petrișor (eddy.petrisor+linbug)
Component: network-wirelessAssignee: Reinette Chatre (reinette.chatre)
Status: CLOSED INSUFFICIENT_DATA    
Severity: normal CC: linville, reinette.chatre, rjw
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 2.6.32-rc3 Subsystem:
Regression: Yes Bisected commit-id:
Bug Depends on:    
Bug Blocks: 14230    
Attachments: syslog which contains all information in the boot-hibernate-resume-reconnect cycle
dmesg after resume with kernel 2.6.32-rc3
turn off device when not used
reset device before unload

Description Eddy Petrișor 2009-10-16 11:07:05 UTC
In 2.6.30 I had no problem to connect to my AP after a hibernate-resume cycle, but with 2.6.32-rc3 I have to rmmod iwlagn and iwlcore and modprobe iwlagn for wicd to reconnect.


Here is the output of lspci and lspci -n. Please tell me what other information is necessary to debug this regression.

0 eddy@heidi ~ $ lspci 
00:00.0 Host bridge: Intel Corporation Mobile PM965/GM965/GL960 Memory Controller Hub (rev 03)
00:02.0 VGA compatible controller: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (rev 03)
00:02.1 Display controller: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (rev 03)
00:1a.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #4 (rev 03)
00:1a.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #5 (rev 03)
00:1a.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #2 (rev 03)
00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 03)
00:1c.0 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 1 (rev 03)
00:1c.1 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 2 (rev 03)
00:1c.2 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 3 (rev 03)
00:1d.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #1 (rev 03)
00:1d.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #2 (rev 03)
00:1d.2 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #3 (rev 03)
00:1d.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #1 (rev 03)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev f3)
00:1f.0 ISA bridge: Intel Corporation 82801HEM (ICH8M) LPC Interface Controller (rev 03)
00:1f.2 IDE interface: Intel Corporation 82801HBM/HEM (ICH8M/ICH8M-E) SATA IDE Controller (rev 03)
01:04.0 FLASH memory: ENE Technology Inc ENE PCI Memory Stick Card Reader Controller
01:04.1 SD Host controller: ENE Technology Inc ENE PCI SmartMedia / xD Card Reader Controller
01:04.2 FLASH memory: ENE Technology Inc Device 0720
01:04.3 FLASH memory: ENE Technology Inc ENE PCI Secure Digital / MMC Card Reader Controller
02:00.0 Network controller: Intel Corporation PRO/Wireless 4965 AG or AGN [Kedron] Network Connection (rev 61)
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 01)
0 eddy@heidi ~ $ lspci -n
00:00.0 0600: 8086:2a00 (rev 03)
00:02.0 0300: 8086:2a02 (rev 03)
00:02.1 0380: 8086:2a03 (rev 03)
00:1a.0 0c03: 8086:2834 (rev 03)
00:1a.1 0c03: 8086:2835 (rev 03)
00:1a.7 0c03: 8086:283a (rev 03)
00:1b.0 0403: 8086:284b (rev 03)
00:1c.0 0604: 8086:283f (rev 03)
00:1c.1 0604: 8086:2841 (rev 03)
00:1c.2 0604: 8086:2843 (rev 03)
00:1d.0 0c03: 8086:2830 (rev 03)
00:1d.1 0c03: 8086:2831 (rev 03)
00:1d.2 0c03: 8086:2832 (rev 03)
00:1d.7 0c03: 8086:2836 (rev 03)
00:1e.0 0604: 8086:2448 (rev f3)
00:1f.0 0601: 8086:2815 (rev 03)
00:1f.2 0101: 8086:2828 (rev 03)
01:04.0 0501: 1524:0730
01:04.1 0805: 1524:0750
01:04.2 0501: 1524:0720
01:04.3 0501: 1524:0751
02:00.0 0280: 8086:4229 (rev 61)
03:00.0 0200: 10ec:8168 (rev 01)
Comment 1 John W. Linville 2009-10-16 13:16:06 UTC
Logs from boot through hibernate and until after the failed post-resume connection would seem interesting...thanks!
Comment 2 Eddy Petrișor 2009-10-19 08:42:20 UTC

0 eddy@heidi ~/tmp/iwlagn-hibernate-errors $ dmesg > before-hibernate.dmesg
0 eddy@heidi ~/tmp/iwlagn-hibernate-errors $ ping bugzilla.kernel.org -c 3
PING bugzilla.kernel.org (140.211.167.41) 56(84) bytes of data.
64 bytes from 140.211.167.41: icmp_seq=1 ttl=44 time=207 ms
64 bytes from 140.211.167.41: icmp_seq=2 ttl=44 time=205 ms
64 bytes from 140.211.167.41: icmp_seq=3 ttl=44 time=204 ms

--- bugzilla.kernel.org ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 10459ms
rtt min/avg/max/mdev = 204.338/205.881/207.795/1.435 ms

Hibernated and resumed...

0 eddy@heidi ~/tmp/iwlagn-hibernate-errors $ ping bugzilla.kernel.org -c 3
ping: unknown host bugzilla.kernel.org
2 eddy@heidi ~/tmp/iwlagn-hibernate-errors $ dmesg > after-hibernate.dmesg
0 eddy@heidi ~/tmp/iwlagn-hibernate-errors $ cp /var/log/syslog .
0 eddy@heidi ~/tmp/iwlagn-hibernate-errors $ su
Password: 
heidi:/home/eddy/tmp/iwlagn-hibernate-errors# rmmod iwlagn 
heidi:/home/eddy/tmp/iwlagn-hibernate-errors# rmmod iwlcore 
heidi:/home/eddy/tmp/iwlagn-hibernate-errors# modprobe iwlagn 
heidi:/home/eddy/tmp/iwlagn-hibernate-errors# exit
0 eddy@heidi ~/tmp/iwlagn-hibernate-errors $ # waited a few seconds and wicd autoconnected
0 eddy@heidi ~/tmp/iwlagn-hibernate-errors $ ping bugzilla.kernel.org -c 3
PING bugzilla.kernel.org (140.211.167.41) 56(84) bytes of data.
64 bytes from 140.211.167.41: icmp_seq=1 ttl=44 time=210 ms
64 bytes from 140.211.167.41: icmp_seq=2 ttl=44 time=206 ms
64 bytes from 140.211.167.41: icmp_seq=3 ttl=44 time=205 ms

--- bugzilla.kernel.org ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 10459ms
rtt min/avg/max/mdev = 205.875/207.652/210.682/2.153 ms
Comment 3 Eddy Petrișor 2009-10-19 08:48:46 UTC
Created attachment 23465 [details]
syslog which contains all information in the boot-hibernate-resume-reconnect cycle
Comment 4 Eddy Petrișor 2009-10-19 08:49:55 UTC
Created attachment 23466 [details]
dmesg after resume with kernel 2.6.32-rc3
Comment 5 Eddy Petrișor 2009-10-19 08:53:47 UTC
(In reply to comment #3)
> Created an attachment (id=23465) [details]
> syslog which contains all information in the boot-hibernate-resume-reconnect
> cycle

This syslog is obtained after the rmmod-modprobe cycle and contains only the information from this boot cycle.
Comment 6 Reinette Chatre 2009-10-26 18:05:47 UTC
Created attachment 23535 [details]
turn off device when not used

Two patches to try, here is #1.
Comment 7 Reinette Chatre 2009-10-26 18:07:51 UTC
Created attachment 23536 [details]
reset device before unload

The two patches ensure that the device power is managed correctly during the unloading and interface up/down stages. Could you please apply them on top of linux-2.6 and test?
Comment 8 Eddy Petrișor 2009-10-28 20:29:18 UTC
(In reply to comment #7)
> Created an attachment (id=23536) [details]
> reset device before unload
> 
> The two patches ensure that the device power is managed correctly during the
> unloading and interface up/down stages. Could you please apply them on top of
> linux-2.6 and test?

On top of which version? I have been using 2.6.32-rc3 to debug some other problems/regressions. And AFAIK is better to test on known stable ground, so I'll use 2.6.32-rc3 or a newer released version if the patches fail to apply cleanly.
Comment 9 Reinette Chatre 2009-10-28 20:38:08 UTC
(In reply to comment #8)
> (In reply to comment #7)
> > Created an attachment (id=23536) [details] [details]
> > reset device before unload
> > 
> > The two patches ensure that the device power is managed correctly during
> the
> > unloading and interface up/down stages. Could you please apply them on top
> of
> > linux-2.6 and test?
> 
> On top of which version?

I tested that these patches apply on linux-2.6 - I am not sure which rc it was at the time. The driver code did not change in this area though so it should apply cleanly to whatever rc you are running.

> I have been using 2.6.32-rc3 to debug some other
> problems/regressions. And AFAIK is better to test on known stable ground,


Right, that is why I based the patches on linux-2.6

> I'll use 2.6.32-rc3 or a newer released version if the patches fail to apply
> cleanly.

Thanks
Comment 10 Eddy Petrișor 2009-10-29 17:30:28 UTC
(In reply to comment #9)
> (In reply to comment #8)
> > (In reply to comment #7)
> > > Created an attachment (id=23536) [details] [details] [details]
> > > reset device before unload
> > > 
> > > The two patches ensure that the device power is managed correctly during
> the
> > > unloading and interface up/down stages. Could you please apply them on
> top of
> > > linux-2.6 and test?
> > 
> > On top of which version?
> 
> I tested that these patches apply on linux-2.6 - I am not sure which rc it
> was
> at the time. The driver code did not change in this area though so it should
> apply cleanly to whatever rc you are running.
> 
> > I have been using 2.6.32-rc3 to debug some other
> > problems/regressions. And AFAIK is better to test on known stable ground,
> 
> 
> Right, that is why I based the patches on linux-2.6
> 
> > I'll use 2.6.32-rc3 or a newer released version if the patches fail to
> apply
> > cleanly.

I applied the patches over 2.6.32-rc3 and the wireless didn't work properly after resume, I still had to 'rmmod iwlagn && rmmod iwlcore && modprobe iwlagn' to get networking.
Comment 11 Reinette Chatre 2009-11-10 22:52:12 UTC
(In reply to comment #4)
> Created an attachment (id=23466) [details]
> dmesg after resume with kernel 2.6.32-rc3

This log shows that the AP denies the association during resume. I see it here:
[  475.091604] wlan0: direct probe to AP 00:1b:fc:45:33:70 (try 1)
[  475.094272] wlan0: direct probe responded
[  475.094282] wlan0: authenticate with AP 00:1b:fc:45:33:70 (try 1)
[  475.096205] wlan0: authenticated
[  475.096245] wlan0: associate with AP 00:1b:fc:45:33:70 (try 1)
[  475.098501] wlan0: RX AssocResp from 00:1b:fc:45:33:70 (capab=0x411 status=12 aid=0)
[  475.098508] wlan0: AP denied association (code=12)


Is it possible to get some debug logs from wicd? Alternatively, is it possible to run your test with wpa_supplicant instead of wicd and obtain its full debug logs?
Comment 12 Eddy Petrișor 2009-11-19 11:53:23 UTC
I am a little busy these days. I've read the messages, but I don't have the time right now to do this. I'll give an answer next week.
Comment 13 Reinette Chatre 2010-01-29 00:11:09 UTC
(In reply to comment #12)
> I am a little busy these days. I've read the messages, but I don't have the
> time right now to do this. I'll give an answer next week.

It has been more than two months since you wrote the above - if this is still an issue, please do provide the information, if this is not an issue then please close the bug.
Comment 14 Reinette Chatre 2010-01-29 17:11:25 UTC
We have been waiting more than two months now so resolving this with "insufficient data" - if this is still an issue please open a new bug and provide the logs.