Kernel Bug Tracker – Bug 20812
iwlagn reports "Microcode SW error detected" on WPA2 access point
Last modified: 2010-10-26 00:22:40 UTC
I've upgraded my machine to 2.6.35-rc7, and now my Intel Corporation PRO/Wireless 5100 AGN won't connect to my home access point (secured with WPA2). The dmesg shows a lot of output from the iwlagn driver, and then "Microcode SW error detected." The same hardware and kernel combo successfully connected to open access points yesterday.
I tried unloading and reloading the driver, but it still wouldn't connect (although there were less errors).
dmesg and lspci are attached. I'll try upgrading to 2.6.36-rc8 and see if that fixes my issues.
I'm not sure exactly which kernel version did work. I was running 2.6.35 for a long time, and that worked fine. I've been running 2.6.36-rc5 for a while, but I can't remember if I've tried to connect to my home wireless on that kernel. I'll try to bisect it if upgrading to 2.6.36-rc8 doesn't work.
System is a Lenovo x200s laptop, if that makes a difference.
Created attachment 34252 [details]
dmesg showing iwlagn errors
Created attachment 34262 [details]
lspci -v output
this bug looks the same as
is the same issue still seen in 2.6.36-rc8?
I found that the dmesg errors on 2.6.36-rc7 went away after I discovered I had my rfkill switch set to off. I still can't get dhcp to work from the WPA2 access point from any kernel (including the 2.6.35 kernel that used to work). Other Linux systems I own (including my Android phone) connect fine to the access point. I'm not sure if it's a userspace issue at this point, or perhaps a firmware issue?
I'm attaching the dmesg from 2.6.36-rc7 with the rfkill switch set to on, and the output from /var/log/daemon. Those look normal, except for not getting an IP address.
Do you still want me to try and boot into 2.6.36-rc8 with the rfkill switch set to off and see if I get the "Microcode SW error detected" errors?
Created attachment 34322 [details]
dmesg from 2.6.36-rc7 with rfkill switch set to on
Created attachment 34342 [details]
/var/log/daemon network manager log on 2.6.36-rc7 with rfkill switch set to on
(In reply to comment #4)
> I found that the dmesg errors on 2.6.36-rc7 went away after I discovered I had
> my rfkill switch set to off. I still can't get dhcp to work from the WPA2
> access point from any kernel (including the 2.6.35 kernel that used to work).
> Other Linux systems I own (including my Android phone) connect fine to the
> access point. I'm not sure if it's a userspace issue at this point, or perhaps
> a firmware issue?
> I'm attaching the dmesg from 2.6.36-rc7 with the rfkill switch set to on, and
> the output from /var/log/daemon. Those look normal, except for not getting an
> IP address.
> Do you still want me to try and boot into 2.6.36-rc8 with the rfkill switch set
> to off and see if I get the "Microcode SW error detected" errors?
Yes, please help us to try it.
I'm side-tracked by a different issue right now, so I haven't been able to test whether 2.6.36 still produces this message with the rfkill switch turned off. My new issue seemed much more basic, so I'm focusing on that.
I compiled 2.6.36, but network manager doesn't see any access points at all. Under "Wireless Networks" it has a greyed-out message saying, "wireless is disabled". rfkill switch is definitely set to 'on'.
[ 14.169296] iwlagn: Intel(R) Wireless WiFi Link AGN driver for Linux, in-tree:
[ 14.169304] iwlagn: Copyright(c) 2003-2010 Intel Corporation
[ 14.169453] iwlagn 0000:03:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
[ 14.169470] iwlagn 0000:03:00.0: setting latency timer to 64
[ 14.170117] iwlagn 0000:03:00.0: Detected Intel(R) WiFi Link 5100 AGN, REV=0x54
[ 14.190483] iwlagn 0000:03:00.0: device EEPROM VER=0x11f, CALIB=0x4
[ 14.190514] iwlagn 0000:03:00.0: Tunable channels: 13 802.11bg, 24 802.11a channels
[ 14.190782] iwlagn 0000:03:00.0: irq 46 for MSI/MSI-X
[ 14.816138] iwlagn 0000:03:00.0: loaded firmware version 126.96.36.199
[ 15.163027] phy0: Selected rate control algorithm 'iwl-agn-rs'
So I'll try to git bisect to figure out which commit between 2.6.36-rc7 and 2.6.36 caused the wireless device to stop showing up. That doesn't help the original issue, but this new issue is more urgent for me personally.
Please note the terminology: "rfkill on" == "wireless off"
Also note that some laptops have both "soft" and "hard" rfkill switches. The former is often an 'Fn' key combination on the keyboard, while the latter might be a slider switch along the edge of the case. The Lenovo laptops in particular are fond of that design.
The output of "rfkill list" might be useful to see.
I have a "hard" rfkill switch on the side of my laptop. When I tried rfkill list on 2.6.36, it showed softblock = no and hardblock=yes, and sure enough, the hard rfkill switch wasn't quite clicked all the way on. rfkill list showed 'no' on both softblock and hardblock at that point.
I unloaded iwlagn and reloaded it. Network manager started to connect, then stopped after I had been typing for a while. rfkill list showed hardblock=yes at that point, even though I hadn't touched the switch. Jiggled the switch a little bit (without fully clicking it over) and network manager started re-connecting. rfkill list showed hardblock=no at that point. So maybe I have a flaky switch.
I'll try rebooting 2.6.36 with the rfkill switch set to off and see if there's more messages about Microcode SW errors, but I haven't seen them yet.
I just booted into 2.6.36 with the hard rfkill switch set to wireless=off, and I didn't see any "Microcode SW error detected" errors. This bug should probably be marked as resolved, although I'm not sure under what category. PATCH_ALREADY_AVAILABLE? CODE_FIX?
how about "WORKSFORME"