Description of problem: Getting *lots* of these: Oct 17 13:15:38 cynosure kernel: printk: 14 messages suppressed. Oct 17 13:15:38 cynosure kernel: SoftMAC: ASSERTION FAILED (0) at: net/ieee80211/softmac/ieee80211softmac_wx.c:306:ieee80211softmac_wx_get_rate() Oct 17 13:15:43 cynosure kernel: printk: 14 messages suppressed. Oct 17 13:15:43 cynosure kernel: SoftMAC: ASSERTION FAILED (0) at: net/ieee80211/softmac/ieee80211softmac_wx.c:306:ieee80211softmac_wx_get_rate( Wireless network is not configured. # iwconfig eth2 Warning: Driver for device eth2 has been compiled with version 20 of Wireless Extension, while this program supports up to version 19. Some things may be broken... eth2 IEEE 802.11b/g ESSID:off/any Nickname:"Broadcom 4306" Mode:Managed Access Point: Invalid RTS thr:off Fragment thr:off Encryption key:off Link Quality:0 Signal level:0 Noise level:0 Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:0 Missed beacon:0 Version-Release number of selected component (if applicable): 2.6.18-1.2200.fc5 Haven't used the wireless in a while, so don't know when these started, but they are present in 2.6.18-1.2189.fc5 too. 07:00.0 Network controller: Broadcom Corporation BCM4306 802.11b/g Wireless LAN Controller (rev 03) 07:00.0 0280: 14e4:4320 (rev 03) This is a pcmcia card.
Seems to be tied somewhat to running the KDE Wireless Network Information applet.
I haven't quite tracked this down, but it is Friday evening and I have to go... :-) It looks like the softmac code _might_ be getting bad info from your APs beacons. What kind of AP are you using? Firmware version, and/or any unusual configuration information might also be helpful...thanks!
Well, this was happening with the device unconfigured. I think the interesting thing is that the iwconfig statement above doesn't list a bit rate. So that appears to be not set, and so when queried doesn't have anything to return? Have not yet been able to reproduce that condition so far though.
They are back after reboot and no attempt to bring up the wireless interface. eth2 IEEE 802.11b/g ESSID:off/any Nickname:"Broadcom 4306" Mode:Managed Access Point: Invalid RTS thr:off Fragment thr:off Encryption key:off Link Quality:0 Signal level:0 Noise level:0 Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:0 Missed beacon:0
So, once you bring-up the interface you don't see the assert anymore. Is that correct? I think this is because the mac->txrates.default_rate value that is triggering the assert does not actually get initialized until ieee80211softmac_start gets called. The bcm43xx driver does not seem to call that until the device has been brought-up. bcm43xx_net_open -> bcm43xx_init_board -> bcm43xx_select_wireless_core -> ieee80211softmac_start (The above is really just my note-taking -- don't worry, no quiz!)
Created attachment 143673 [details] jwltest-softmac_wx_get_rate-running-check.patch
Test kernels w/ the above patch are available here: http://people.redhat.com/linville/kernels/fc6/ Please give them a try and make sure the assert disappears...thanks!
Appears fixed in kernel-2.6.18-1.2861.2.1.fc6.jwltest.16
I have pushed the patch upstream. It should be available upstream in the 2.6.21 timeframe, and in Fedora (rawhide) shortly thereafter.