Bug 16610

Summary: iwl3945 stops working with "Microcode SW error"
Product: Networking Reporter: Marcus Better (marcus)
Component: WirelessAssignee: networking_wireless (networking_wireless)
Status: CLOSED UNREPRODUCIBLE    
Severity: high CC: linville, wey-yi.w.guy
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 2.6.35 Subsystem:
Regression: Yes Bisected commit-id:
Attachments: dmesg output
0001-mac80211-cancel-scan-in-ieee80211_restart_hw.patch

Description Marcus Better 2010-08-17 05:02:39 UTC
Created attachment 27480 [details]
dmesg output

When booting with mainline kernel 2.6.35, 2.6.35.1 or 2.6.35.2, iwl3945 fails to connect. The log says "Microcode SW error detected". All works well with 2.6.34 from Debian.

System is a Thinkpad T61 with Debian lenny/sid (x86_64). I tried both WEP and WPA networks, using wpasupplicant and/or network-manager.

There is also a "WARNING: at net/wireless/core.c:633 wdev_cleanup_work+0xf1/0x120 [cfg80211]()" (see attached dmesg).
Comment 1 John W. Linville 2010-08-17 17:05:26 UTC
Created attachment 27490 [details]
0001-mac80211-cancel-scan-in-ieee80211_restart_hw.patch

Try this patch to see if it at least makes the wdev_cleanup_work warning disappear?
Comment 2 John W. Linville 2010-08-18 19:16:38 UTC
When testing the patch from comment 1, please be sure to load iwlagn w/ "disable_hw_scan=1" -- thanks!
Comment 3 Marcus Better 2010-08-19 07:37:49 UTC
(In reply to comment #2)
> When testing the patch from comment 1, please be sure to load iwlagn w/
> "disable_hw_scan=1" -- thanks!

I don't have iwlagn loaded, I'm using iwl3945.

It works now with the patch, without the option. I didn't get the "Microcode SW error" this time either.
Comment 4 John W. Linville 2010-08-19 14:28:57 UTC
Well, I could be wrong but I don't think the patch can actually prevent the "Microcode SW error".  I was more interested in avoiding the wdev_cleanup_work warning since it indicates a scan was left running which can prevent further scan attempts, resulting in an inability to make further connections.

Please continue to try to replicate the issue for a while?  Also, sorry for the mixup but disable_hw_scan=1 should be use w/ iwl3945 as well.  Thanks!
Comment 5 Marcus Better 2010-08-26 07:26:58 UTC
(In reply to comment #4)
> Please continue to try to replicate the issue for a while?  Also, sorry for
> the
> mixup but disable_hw_scan=1 should be use w/ iwl3945 as well.  Thanks!

Sure. On last attempt, with patch and disable_hw_scan=1, it failed again. There was no warning or microcode error this time.

~$ dmesg | grep iwl
Command line: BOOT_IMAGE=/vmlinuz-2.6.35.2-melech+ root=/dev/mapper/vg0-root_crypt ro fbcon=scrollback:64k nosplash log_buf_len=2M enable_mtrr_cleanup iwl3945.disable_hw_scan=1
Kernel command line: BOOT_IMAGE=/vmlinuz-2.6.35.2-melech+ root=/dev/mapper/vg0-root_crypt ro fbcon=scrollback:64k nosplash log_buf_len=2M enable_mtrr_cleanup iwl3945.disable_hw_scan=1
iwl3945: Intel(R) PRO/Wireless 3945ABG/BG Network Connection driver for Linux, in-tree:ds
iwl3945: Copyright(c) 2003-2010 Intel Corporation
iwl3945 0000:03:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
iwl3945 0000:03:00.0: setting latency timer to 64
iwl3945 0000:03:00.0: Tunable channels: 13 802.11bg, 23 802.11a channels
iwl3945 0000:03:00.0: Detected Intel Wireless WiFi Link 3945ABG
iwl3945 0000:03:00.0: irq 48 for MSI/MSI-X
phy0: Selected rate control algorithm 'iwl-3945-rs'
iwl3945 0000:03:00.0: loaded firmware version 15.32.2.9
iwl3945 0000:03:00.0: Failed to get channel info for channel 140 [0]
iwl3945 0000:03:00.0: Failed to get channel info for channel 140 [0]
iwl3945 0000:03:00.0: Failed to get channel info for channel 140 [0]
iwl3945 0000:03:00.0: Failed to get channel info for channel 140 [0]
iwl3945 0000:03:00.0: Failed to get channel info for channel 140 [0]
iwl3945 0000:03:00.0: Failed to get channel info for channel 140 [0]
iwl3945 0000:03:00.0: Failed to get channel info for channel 140 [0]
iwl3945 0000:03:00.0: Failed to get channel info for channel 140 [0]
iwl3945 0000:03:00.0: Failed to get channel info for channel 140 [0]
iwl3945 0000:03:00.0: Failed to get channel info for channel 140 [0]
iwl3945 0000:03:00.0: Failed to get channel info for channel 140 [0]
Comment 6 John W. Linville 2011-01-18 19:16:05 UTC
Been a while...is this issue still relevant for 2.6.37 or later kernels?
Comment 7 Marcus Better 2011-01-20 09:06:29 UTC
(In reply to comment #6)
> Been a while...is this issue still relevant for 2.6.37 or later kernels?

So far I haven't seen it on 2.6.37.
Comment 8 John W. Linville 2011-01-21 19:51:33 UTC
Closing on basis of comment 7...