Help with BCM 4312 Wireless

Just upgraded to 11.4 from 11.3 and am having an issue getting the wireless working. I read through a couple posts and believe this is the relevant info:

hwinfo --wlan
20: PCI c00.0: 0282 WLAN controller
[Created at pci.318]
Unique ID: JNkJ.K1bklAmqTZ1
Parent ID: qTvu.HPUvhG3VrRF
SysFS ID: /devices/pci0000:00/0000:00:1c.1/0000:0c:00.0
SysFS BusID: 0000:0c:00.0
Hardware Class: network
Model: “Dell Wireless 1395 WLAN Mini-Card”
Vendor: pci 0x14e4 “Broadcom”
Device: pci 0x4315 “BCM4312 802.11b/g”
SubVendor: pci 0x1028 “Dell”
SubDevice: pci 0x000b “Wireless 1395 WLAN Mini-Card”
Revision: 0x01
Driver: “wl”
Driver Modules: “wl”
Device File: eth1
Features: WLAN
Memory Range: 0xf9ffc000-0xf9ffffff (rw,non-prefetchable)
IRQ: 17 (no events)
HW Address: 00:1e:4c:48:4a:3f
Link detected: yes
WLAN channels: 1 2 3 4 5 6 7 8 9 10 11
WLAN frequencies: 2.412 2.417 2.422 2.427 2.432 2.437 2.442 2.447 2.452 2.457 2.462
WLAN bitrates: 1 2 5.5 6 9 11 12 18 24 36 48 54
WLAN encryption modes: WEP40 WEP104 WEP256 WEP128 TKIP CCMP
WLAN authentication modes: open sharedkey wpa-psk wpa-eap
Module Alias: “pci:v000014E4d00004315sv00001028sd0000000Bbc02sc80i00”
Driver Info #0:
Driver Status: ssb is active
Driver Activation Cmd: “modprobe ssb”
Driver Info #1:
Driver Status: wl is active
Driver Activation Cmd: “modprobe wl”
Config Status: cfg=no, avail=yes, need=no, active=unknown
Attached to: #8 (PCI bridge)

rpm -qa | grep broadcom
broadcom-wl-kmp-desktop-5.100.82.38_k2.6.37.1_1.2-7.pm.8.1.x86_64

uname -a
Linux linux-jy1p.site 2.6.37.1-1.2-desktop #1 SMP PREEMPT 2011-02-21 10:34:10 +0100 x86_64 x86_64 x86_64 GNU/Linux

lspci -nnk
0c:00.0 Network controller [0280]: Broadcom Corporation BCM4312 802.11b/g LP-PHY [14e4:4315] (rev 01)
Subsystem: Dell Wireless 1395 WLAN Mini-Card [1028:000b]
Kernel driver in use: wl

I removed the brcm80211 driver and installed the b43 driver which didn’t work (continually prompted me for my wireless password despite it being correct). Then I installed the wl drivers from packman but lspci -nnk kept showing b43 drivers. I didn’t have a 50-broadcom-wl-blacklist.conf in /etc/modprobe.d/ so I created one with:

modules blacklisted for broadcom-wl

blacklist bcm43xx
blacklist ssb
blacklist b43
blacklist ndiswrapper

Any idea why ssb still shows up in “hwinfo --wlan” despite being blacklisted? I tried rmmod’ing it but it was being used by the b44 module. I tried rmmoding b44 and then ssb and then my wired connection seemed to be gone from knetworkmanager so I added them both back and now that seems normal.

Anyway, now with the “wl” drivers installed I can’t find any wireless connections. I’ve been messing around with the wireless switch but no dice. Any suggestions?

you don’t seem to have the package
broadcom-wl

Install Broadcom Drivers from Packman

Can’t believe I missed that… Anyway it’s installed now but I have another issue. “hwinfo --wlan” now produces no output while “/sbin/lspci -nnk” now says the driver in use is: b43-pci-bridge instead of wl. I tried running “/sbin/modproobe -rv b43” followed by “/sbin/modprobe -v wl” and rebooting but it still shows b43-pci-bridge.

You used su or sudo on those modprobe?

Do you have a file: 50-broadcom-wl-blacklist.conf
at: /etc/modprobe.d

Showing

modules blacklisted for broadcom-wl

blacklist bcm43xx
blacklist ssb
blacklist b43
blacklist ndiswrapper

I’ve also had to blacklist acer-wmi on my Lenovo S12 to get my wireless to connect automatically, and reconnect after hibernation or standby. You may also want to install rfkill.

Yes I su’ed before and my 50-broadcom-wl-blacklist.conf has the same contents. knetworkmanager doesn’t seem to be seeing the card anymore, wireless options don’t pop up when selecting the system tray icon. Neither wired or wireless appear there. They do show up (without any signal strength) when I select “manage connections…” though. Whast does rfkill do?

Ok rfkill says dell-wifi is neither soft or hard blocked.

as su -

rfkill unblock all

then

sudo /sbin/modprobe -v wl

shutdown
then restart

Done. hwinfo --wlan still produces no output, and b43-pci-bridge still shows as the driver for /sbin/lspci -nnk

and rfkill? shows what now

rfkill list
0: dell-wifi: Wireless LAN
Soft blocked: no
Hard blocked: no

In looking at the entire output of hwinfo I came across this (not sure if it’s relevant):

<4> 6.921117] wl: module license ‘unspecified’ taints kernel.
<4> 6.921123] Disabling lock debugging due to kernel taint

And wl is listed under Driver Info #1 (after ssb) under “Network Controller”. I can post more of these outputs if desired, I just have to run to the other room and hook the laptop up to the line to get internet on it.

Have a look right thru this
The Wi-Fi is 802.11a/b/g/draft-n Broadcom 4322AG Wi-Fi Adap

I added lib80211_crypt_tkip (recent version of ieee80211_crypt_tkip) with modprobe -v and checked dmesg for b43 and wl.

dsmesg | grep b43
…b43-pci-bridge 0000:0c:00.0: PCI INT A → GSI 17 (level, low) → IRQ 17
…b43-pci-bridge 0000:0c:00.0: setting latency

dmesg | grep wl
…wl: module license unspecified taints kernel.

And everything else seems the same. Thanks for the help on this btw.

Just lets check

rpm -qa | grep kernel
rpm -qa | grep broadcom
uname -a

$rpm -qa | grep kernel
kernel-desktop-2.6.37.1-1.2.2.x86_64

$ rpm -qa | grep broadcom
broadcom-wl-5.100.82.38-7.pm.8.1.x86_64
broadcom-wl-kmp-desktop-5.100.82.38_k2.6.37.1_1.2-7.pm.8.1.x86_64

$ uname -a
Linux linux-jy1p.site 2.6.37.1-1.2-desktop #1 SMP PREEMPT 2011-02-21 10:34:10 +0100 x86_64 x86_64 x86_64 GNU/Linux

I’m going to try uninstalling the wl driver and go back to the b43 driver. iwconfig recognized the card at that point I believe…

hm looks like I deleted the /usr/sbin/install_bcm43xx_firmware script…

Update: with wl driver gone iwconfig gives:

wlan 0 IEEE 802.11bg ESSID: off/any
Mode:Managed AccessPoint: Not-Associated Tx-Power=0 dBm
Retry long limit: 7 RTS thr: off Fragment thr:off
Encryption key: off
Power Management: off

lspci still shows b43-pci-bridge as the driver. I’m beginning to think something’s broke with the packman build. I may try to build from source later tonight. I don’t understand why lsicp showed wl before in installed broadcom-wl. Is that more proof that it’s broke (at least for me)?

I have the packman wl
it’s fine

Connect your ethernet cable and do

sudo /usr/sbin/install_bcm43xx_firmware

I actually just looked for that script and it seems to be gone from /usr/sbin/. I checked my back history and I didn’t explicitly delete it. I’ll try googling for it.

oh just realized it’s a part of b43-fwcutter which I uninstalled at some point. I’ll install that back.

Ok so I’m not sure what kind of voodoo I did to my machine to make b43 not work at first, but I seem to subsequently have undid it as I am now successfully using the wifi! Thanks for the help and patients caf!