Bug 220790 - ipw2200 eats 100% CPU
Summary: ipw2200 eats 100% CPU
Status: RESOLVED FIXED
Alias: None
Product: openSUSE 10.2
Classification: openSUSE
Component: Network (show other bugs)
Version: Beta 2
Hardware: i686 Other
: P5 - None : Critical with 10 votes (vote)
Target Milestone: ---
Assignee: Joachim Gleissner
QA Contact: E-mail List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-11-14 14:00 UTC by Glenn Holmer
Modified: 2007-08-10 17:58 UTC (History)
4 users (show)

See Also:
Found By: Other
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Glenn Holmer 2006-11-14 14:00:45 UTC
This same setup works fine in SUSE 10.1.
I have several network setups using SCPM, and both my WEP at home and an open connection elsewhere work fine with this wireless interface in 10.2.

IBM ThinkPad T43, YaST identifies Intel PRO/Wireless 2200BG
using "traditional method - ifup"
ethernet set to device activation "on cable connection"
wireless set to device activation "manually - user controlled"
using kinternet to activate wireless interface

wireless set to automatic address setup (DHCP), change hostname via DHCP, update name servers and search list via DHCP
operating mode: managed
ESSID is specified correctly
authentication mode is WPA-PSK
key is specified as passphrase

After activating the interface, kinternet's "Wireless LAN" dialog shows that I am associated to an access point, and displays its MAC address correctly.

log shows:
Nov 14 07:35:00 orac ifup:     eth1      device: Intel Corporation
PRO/Wireless 2200BG Network Connection (rev 05)
Nov 14 07:35:00 orac ifup:     eth1      configuration:
wlan-id-00:16:6f:3e:87:c0
Nov 14 07:35:01 orac ifup-wireless:     eth1      starting
wpa_supplicant
Nov 14 07:35:01 orac ifup-dhcp: Starting DHCP Client Daemon on eth1...
Nov 14 07:35:01 orac ifup-dhcp: .
Nov 14 07:35:02 orac ifup-dhcp: .
Nov 14 07:35:03 orac ifup-dhcp: .
Nov 14 07:35:04 orac ifup-dhcp: .
Nov 14 07:35:05 orac gconfd (shadow-4879): GConf server is not in use,
shutting down.
Nov 14 07:35:05 orac gconfd (shadow-4879): Exiting
Nov 14 07:35:05 orac ifup-dhcp: .
Nov 14 07:35:06 orac ifup-dhcp: no IP address yet... backgrounding.
Nov 14 07:35:12 orac kernel: eth1: no IPv6 routers present
Nov 14 07:35:27 orac kernel: ipw2200: Failed to send ASSOCIATE: Already
sending a command.
Nov 14 07:35:41 orac kernel: eth1: NETDEV_TX_BUSY returned; driver
should report queue full via ieee_device->is_queue_full.

I never get a network connection, and shortly afterward, CPU goes to 100% and stays there. top shows that "ipw2200/0" has 99.9% CPU.
Comment 1 Joachim Gleissner 2006-11-15 16:50:20 UTC
I tried various WLAN connections on a machine with ipw2200, but could not reproduce it. Does it happen only occasionally or can you reproduce reliably?
Comment 2 Glenn Holmer 2006-11-15 19:42:49 UTC
Yes, it happens every time.  I diffed sorted copies of the ifcfg-wlan... file and the one from SUSE 10.1 and the only difference I saw was that the 10.2 file had "IFPLUGD_PRIORITY='10'".  Commented that out but it still happened.  The CPU usage seems to jump right after I see the NETDEV_TX_BUSY message in the log (I was tailing it).
Comment 3 Jiri Benc 2006-11-15 20:35:59 UTC
When the NETDEV_TX_BUSY message appears, it is guaranteed that you will end up with 100 % CPU load - this is caused by a bad design of this driver. Fortunatelly, the driver was fixed to not do this under normal circumstancies. The only situation when it can happen now is when you're not associated but the driver thinks you should be.

The reason of your problem is connected with the previous message "ipw2200: Failed to send ASSOCIATE: Already sending a command.". This seems like a bug in communication between the driver and firmware. As the specification of the chipset is not available and the firmware is not open, I'm not able to help here.

I can make a patch that will stop the 100 % CPU load in this situation but that won't help you - you still won't be able to get a connection.
Comment 4 Yi Zhu 2006-11-16 02:32:43 UTC
Please attach dmesg with ipw2200 debug=0x43fff
Comment 5 Glenn Holmer 2006-11-16 19:06:01 UTC
I don't understand what Comment #4 is asking for... the dmesg lines that reference ipw2200 are:

ipw2200: module not supported by Novell, setting U taint flag.
ipw2200: Intel(R) PRO/Wireless 2200/2915 Network Driver, 1.1.2kmprq
ipw2200: Copyright(c) 2003-2006 Intel Corporation

ipw2200: Detected Intel PRO/Wireless 2200BG Network Connection
ipw2200: Detected geography ZZM (11 802.11bg channels, 0 802.11a channels)
Comment 6 Yi Zhu 2006-11-17 03:02:34 UTC
(In reply to comment #5)
> I don't understand what Comment #4 is asking for... 

That means you can "modprobe ipw2200 debug=0x43fff" during module load to raise the debug level of ipw2200 to get more information. If you already have ipw2200 loaded after boot, unload it with rmmod, then load it with above command. Use you favorite command to associate to an AP, (you should not be able to associate successfully according to you previous comment) then attach the dmesg of your system. 
Comment 7 Glenn Holmer 2006-11-17 12:58:58 UTC
root@orac:~ # rmmod ipw2200
root@orac:~ # lsmod | grep ipw2200
root@orac:~ # modprobe ipw2200 debug=0x43fff
FATAL: Error inserting ipw2200 (/lib/modules/2.6.18.2-4-default/kernel/drivers/net/wireless/ipw2200.ko): Unknown symbol in module, or unknown parameter (see dmesg)
root@orac:~ # 

from dmesg:
ipw2200: module not supported by Novell, setting U taint flag.
ipw2200: Unknown parameter `debug'
Comment 8 Yi Zhu 2006-11-20 02:29:22 UTC
(In reply to comment #7)
> ipw2200: module not supported by Novell, setting U taint flag.
> ipw2200: Unknown parameter `debug'

OK, the Novell ipw2200 module doesn't enable the debug feature but default. I don't have any clue why you fail to associate. (As Jiri mentioned earlier, the high CPU usage could be fixed). Maybe you can try a different AP? 

Comment 9 Jacob Caudill 2006-11-29 21:30:08 UTC
I too am experiencing this bug. I linked to 2 screenshots which show ipw2200 eating the cpu and the graph shows before and after I issued rmmod ipw2200.

http://spinink.net/images/screens/ipw2200.png
http://spinink.net/images/screens/ipw2200graph.png

I am running the latest factory packages, RC1+ w/ ipw-firmware-7-31

here are a few messages from /var/log/messages

Nov 29 16:01:15 Whiterabbit kernel: ipw2200: Firmware error detected.  Restarting.
Nov 29 16:01:15 Whiterabbit kernel: ipw2200: Failed to up device

Comment 10 Glenn Holmer 2006-11-30 11:52:35 UTC
I took the laptop to the opposite end of our office, where I was sure to reach a different access point, and I did connect successfully.  However, I am still able to connect easily to the problem AP from this laptop when I boot from its openSUSE 10.1 partition.  This seems to suggest that 10.2 is too unforgiving about some slight difference between the two APs.  So maybe we have two issues here.
Comment 13 Tristan Miller 2007-03-26 22:48:11 UTC
I am also encountering this bug sporadically.  I believe another effect of the bug is that it causes the system to hang during a reboot.  Whenever I notice ipw2200 is maxing out the CPU, I try to reboot the system, and it hangs at the console message "Stand by while restarting the system...".
Comment 14 Stefan Behlert 2007-08-01 15:38:41 UTC
Joe? Any update? 
Comment 15 Joachim Gleissner 2007-08-01 15:56:32 UTC
I don't know what I could do about it, I'm afraid. Maybe a more recent version of ipw2200 does fix the bug. Yi, any chances an update may fix this?
Comment 16 Joachim Gleissner 2007-08-10 17:58:24 UTC
Yi told me via e-mail that this bug is fixed in a more recent ipw2200 version. Hence, 10.3 should not show this behaviour. Please reopen if that's not the case.