Bug 42658 - [iwl3945] Unusably slow wifi after resume from suspend
Summary: [iwl3945] Unusably slow wifi after resume from suspend
Status: CLOSED INVALID
Alias: None
Product: Drivers
Classification: Unclassified
Component: network-wireless (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: Stanislaw Gruszka
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-01-26 08:29 UTC by iwl3945
Modified: 2012-07-01 16:11 UTC (History)
1 user (show)

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


Attachments
Debug kernel log (41 bytes, text/plain)
2012-01-26 08:33 UTC, iwl3945
Details

Description iwl3945 2012-01-26 08:29:21 UTC
OS: Ubuntu 11.10, 32 bit, Kernel 3.0.15

Real world transfer speeds of Intel IWL3945 WIFI interface drop from approx 23Mbit/s to 0.3 or less mbit/s whenever I choose to suspend the laptop (sleep) and resume. Tested using speedtest.net. While the laptop suffers from subpar transfer speeds, my cellular is able to reach full speeds via the same wifi AP.
I do not have this problem using Windows on the same laptop. 

Taking the interface down/up and restarting network does not help. The only solution is to restart the whole OS. 

After a resume, the kern.log contains lot of "queue stuck messages".
The resume starts at the line:
"Dec 13 15:21:42 pantherx60-ubuntu kernel: [  250.216034] PM: Preparing system for mem sleep"
Attached you'll find the whole log.

I have also noticed that while after a cold start the sound output is fine, after a resume the sound output also stutters. This may point to a more general problem with the kernel PM, rather than a device driver. 
Please advise how to further pinpoint the problem.

My wifi network card is the following:
03:00.0 Network controller [0280]: Intel Corporation PRO/Wireless 3945ABG [Golan] Network Connection [8086:4222] (rev 02)
	Subsystem: Intel Corporation PRO/Wireless 3945ABG Network Connection [8086:1001]
	Flags: bus master, fast devsel, latency 0, IRQ 47
	Memory at d3000000 (32-bit, non-prefetchable) [size=4K]
Comment 1 iwl3945 2012-01-26 08:33:01 UTC
Created attachment 72196 [details]
Debug kernel log
Comment 2 Stanislaw Gruszka 2012-01-26 10:31:54 UTC
Looking at logs (this will take some time) ...
Comment 3 Stanislaw Gruszka 2012-03-02 07:05:04 UTC
I did not found anything in logs except that LED command, that we already tested (in private emails).

There is similar report: 
http://bugzilla.intellinuxwireless.org/show_bug.cgi?id=2143

Is indicated there that tose are pci subsystem problems, noapic kernel boot option can help with that bug or removing/rescaning pci after resume:
http://bugzilla.intellinuxwireless.org/show_bug.cgi?id=2143#c44
(I think remove/restore via sysfs should be enough, no module reload needed, see lspci output to find proper bus number)

Does those workarounds help for you as well?
Comment 4 iwl3945 2012-03-03 14:16:42 UTC
Hi Stanislaw,
Thank you for getting back to me.
Unfortunately the described workarounds had no effect, whatsoever, on my issue.
With noapic the wifi was slow as before after a suspend. The same with removing / rescanning the pci device after a suspend.

I suspect this is an entirely different kind of issue. I think I'll wait till the next ubuntu release and try its live CD to boot from. If the issue will persist, then it's definitely the kernel (or drivers for my HW) and not my specific linux SW setup/apps.
Comment 5 iwl3945 2012-03-16 21:08:41 UTC
Today I downloaded the Ubuntu 12.04 beta ISO. Put in on a USB stick and tested.
Unfortunately, the behaviour is exactly the same as with my current linux installation. After resume the WIFI is unusable, and the sound stutters.
Comment 6 iwl3945 2012-06-07 08:25:56 UTC
This issue is still bugging me. Can anyone move this issue to the right team (probably PM-related)?
Comment 7 iwl3945 2012-06-30 20:53:37 UTC
All right folks. Today I was able to find the problem and a workaround. Running on Ubuntu 12.04, kernel 3.2.0.26

To anyone, who's seeing WIFI Driver Queue stuck messages in the syslog after a suspend/resume, I found that a simple logoff-login solves the problem. This also solves the sound stuttering issue after a resume.

After several attempts I pinpointed compiz being the culprit. By killing and restarting compiz after suspend/resume, all the problems described are solved. The following issue in launchpad might be the one I am experiencing:
https://bugs.launchpad.net/ubuntu/+source/xorg/+bug/887993

So the kernel and iwlan3945 drivers are good. Actually, since kernel 3.2.25 it seems the wifi driver is much faster (instead of 24Mb/s now I reach 27Mb/s).

Anyway, this bug report can be closed.
Comment 8 Stanislaw Gruszka 2012-07-01 16:11:47 UTC
Great, thanks for the info!

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