I have fought with this issue for years now, and am still at a loss, though
I used to be able to work around it. You may take note that since this is an
HP laptop, other problems have been discussed in the past regarding rfkill,
b43, and getting them to play nice on HP laptops. After much researching, I
don't think anyone ever fixed it. I can attest to it still not working
properly. I would appreciate any help you all can give me, and I appreciate
b43, as it makes everything on my system (almost now) work natively.

Bug Report Below:
This problem has existed in one way or another since b43 first came about.
Up until now, I had to compile b43, as well as polldev, evdev, rfkill, and
leds_class as modules instead of building them in to get them to (sometimes)
work depending on the kernel, allowing my wireless card to work. Now, I get
the same result either way, and it is quite strange.

I really would rather build everything in, and it makes no difference if I
do either anymore. At boot, the card is brought up by software, only to be
disabled immediately in a split second by rfkill. I try to manually change
rfkill's state via several methods, only to get "operation not permitted."
Furthermore, if I try to do an ifconfig up with rfkill enabled, I get
"SIOCSIFFLAGS: Unknown error 132."

If I don't build rfkill at all, I can bring the card up and down manually,
but am unable to scan or connect to any networks. Both ways, the rfkill
switch has no bearing on whether or not the device functions, and doesn't
change the LED state either.

I can confirm that I have LEDS_CLASS, INPUT_POLLDEV, EVDEV, RFKILL (when
mentioned), and B43 all built in (and have tried them all as modules). I
know my kernel is bleeding edge, but this problem is not related, as it has
happened to me off and on since 2.6.26 or earlier.

To reproduce, you need a Broadcom Corporation BCM4311 802.11b/g WLAN (rev
01) and a 2.6.3x (or some of the 2.6.2x) kernel.

My current kernel: Linux mattop 2.6.31-rc2-zen1-20090105 #4 ZEN SMP PREEMPT
Tue Jul 14 17:41:50 CDT 2009 x86_64 AMD Turion(tm) 64 X2 Mobile Technology
TL-50 AuthenticAMD GNU/Linux

Output of lspci -vvn|grep 43 -A7:

03:00.0 0280: 14e4:4311 (rev 01)
        Subsystem: 103c:1363
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR+ FastB2B- DisINTx-
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 0, Cache Line Size: 64 bytes
        Interrupt: pin A routed to IRQ 19
        Region 0: Memory at b6000000 (32-bit, non-prefetchable) [size=16K]
        Capabilities: <access denied>
        Kernel driver in use: b43-pci-bridge

07:05.0 0c00: 1180:0832 (prog-if 10 [OHCI])
        Subsystem: 103c:30b7
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR+ FastB2B- DisINTx-
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 64 (500ns min, 1000ns max)
        Interrupt: pin A routed to IRQ 11
--
07:05.2 0880: 1180:0843 (rev 01)
        Subsystem: 103c:30b7
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR+ FastB2B- DisINTx-
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 0
        Interrupt: pin B routed to IRQ 11
        Region 0: Memory at b8000c00 (32-bit, non-prefetchable) [size=256]
        Capabilities: <access denied>

Output of dmesg | grep b43 (see the line that says status changed to
DISABLED):

b43-phy0 debug: Found PHY: Analog 4, Type 2, Revision 8
b43-phy0 debug: Found Radio: Manuf 0x17F, Version 0x2050, Revision 2
b43-phy0 debug: DebugFS (CONFIG_DEBUG_FS) not enabled in kernel config
b43 ssb0:0: firmware: requesting b43/ucode5.fw
b43 ssb0:0: firmware: requesting b43/pcm5.fw
b43 ssb0:0: firmware: requesting b43/b0g0initvals5.fw
b43 ssb0:0: firmware: requesting b43/b0g0bsinitvals5.fw
b43-phy0: Loading firmware version 410.2160 (2007-05-26 15:32:10)
b43-phy0 debug: Chip initialized
b43-phy0 debug: 32-bit DMA initialized
Registered led device: b43-phy0::tx
Registered led device: b43-phy0::rx
Registered led device: b43-phy0::radio
b43-phy0 debug: Wireless interface started
b43-phy0 debug: Adding Interface type 2
b43-phy0: Radio turned on by software
b43-phy0: Radio hardware status changed to DISABLED
b43-phy0 debug: Removing Interface type 2
b43-phy0 debug: Wireless interface stopped
b43-phy0 debug: DMA-32 rx_ring: Used slots 0/64, Failed frames 0/0 = 0.0%,
Average tries 0.00
b43-phy0 debug: DMA-32 tx_ring_AC_BK: Used slots 0/256, Failed frames 0/0 =
0.0%, Average tries 0.00
b43-phy0 debug: DMA-32 tx_ring_AC_BE: Used slots 0/256, Failed frames 0/0 =
0.0%, Average tries 0.00
b43-phy0 debug: DMA-32 tx_ring_AC_VI: Used slots 0/256, Failed frames 0/0 =
0.0%, Average tries 0.00
b43-phy0 debug: DMA-32 tx_ring_AC_VO: Used slots 0/256, Failed frames 0/0 =
0.0%, Average tries 0.00
b43-phy0 debug: DMA-32 tx_ring_mcast: Used slots 0/256, Failed frames 0/0 =
0.0%, Average tries 0.00

The wlan configuration is probably irrelevant, but I've tried using iwconfig
manually, as well as wifi-radar, and networkmanager, all to connect to open
AP's with no success. Furthermore, I can't scan and find them.

Sorry, I don't have a bisection and didn't actually pull the b43 git
sources, as they are included and updated on an as-changed basis by the Zen
kernel devs. I believe I would have this problem with the other current
stable kernels as well, though, since this has happened since 2.6.26 as I
experimented with a wide range of kernels, including vanilla.


Matt Parnell
[email protected]
_______________________________________________
Bcm43xx-dev mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/bcm43xx-dev

Reply via email to