Wireless BCM4312 3.0 kernel
With the latest 3.0 kernel there is still no “out of the box” support for my BCM4312 wireless chipset. Nor is there any help from Ubuntu 11.04 leaving me to use Broadcoms hybrid driver with patch.
Chipsets supported by “Broadcom’s IEEE 802.11a/b/g/n hybrid Linux® device driver” are: BCM4311, BCM4312, BCM4313, BCM4321, BCM4322, BCM43224, and BCM43225, BCM43227 and BCM43228.
My specific chipset from lspci command:
Broadcom Corporation BCM4312 802.11b/g LP-PHY (rev 01)
Below is the error I get with v5_100_82_38 from Broadcom when compiling against Linux kernel 3.0:
[email protected]:~/Downloads/wl.org$ make
KBUILD_NOPEDANTIC=1 make -C /lib/modules/`uname -r`/build M=`pwd`
make[1]: Entering directory `/usr/src/linux-headers-2.6.38-020638-generic’
LD /home/bcurtis/Downloads/wl.org/built-in.o
CC [M] /home/bcurtis/Downloads/wl.org/src/shared/linux_osl.o
CC [M] /home/bcurtis/Downloads/wl.org/src/wl/sys/wl_linux.o
/home/bcurtis/Downloads/wl.org/src/wl/sys/wl_linux.c: In function ‘wl_attach’:
/home/bcurtis/Downloads/wl.org/src/wl/sys/wl_linux.c:485:3: error: implicit declaration of function ‘init_MUTEX’
make[2]: *** [/home/bcurtis/Downloads/wl.org/src/wl/sys/wl_linux.o] Error 1
make[1]: *** [_module_/home/bcurtis/Downloads/wl.org] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-3.0.0-0300rc1-generic’
make: *** [all] Error 2
To get your wireless adapter working again:
- Download the 32 or 64-bit version:
http://www.broadcom.com/support/802.11/linux_sta.php
- Download my patch for > 2.6.37 support:
broadcom-sta_4_kernel-2.6.38.patch - Extract the sources:
cd ~/Downloads; mkdir -p wl; cd wl; tar xf ../hybrid-portsrc*-v5_100_82_38.tar.gz
- Patch the sources, compile and install:
patch -p1 < ../broadcom-sta_4_kernel-2.6.38.patch make; sudo make install; sudo depmod; sudo modprobe wl
Give Ubuntu a few seconds after loading the “wl” kernel module, then eventually the Network Manager will start looking for wireless networks.
I have the same problem, when I followed your instructions, I got at the patch step this error:
[email protected]: ~/Downloads/wl$ patch -p1 < ../broadcom-sta_4_kernel-2.6.38.patch make
patching file make
Hunk #1 FAILED at 482.
1 out of 1 hunk FAILED — saving rejects to file make.rej
Is it has to do with my kernel version? I don't know what it is
I am running Ubuntu 11.10 in a Inspiron Dell N5010 with the BCM4313
It looks like you are trying to patch the make file which does not exist (it is a command to start building). Try this:
patch -p1 < ../broadcom-sta_4_kernel-2.6.38.patch
and then:
make; sudo make install; sudo depmod; sudo modprobe wl
and you should be good to go.
I run the command as:
[code]patch -p1 < ../broadcom-sta_4_kernel-2.6.38.patch[/code]
and I get this message:
[code]patching file src/wl/sys/wl_linux.c
Hunk #1 FAILED at 482.
1 out of 1 hunk FAILED — saving rejects to file src/wl/sys/wl_linux.c.rej[/code]
I should point out that the driver file that I downloaded has a different version number than what you have listed in the directions above. The file you have is hybrid-portsrc*-v5_100_82_38.tar.gz. The one available for download from Broadcom right now (32-bit) is hybrid-portsrc_x86_32-v5_100_82_112.tar.gz. That is the only difference that I can see. Help?
It would seem that they have updated their driver to include the fix in October. I have not tested yet, but it is possible that you do not need my patch any more.
Hi,
I have followed the steps (as Dave I’ve had the same error, so I can not use the patch). But apparently nothing has changed…
Try to summarized:
I have a new HP Pavilion dm4. As soon as I erased the Windows partition to put the Kubuntu 11.10 distribution the button of the wireless permanents invariably with the red light (switched off). No way to switch it on. I have passed all the day long trying to solve the problem: I’ve read many many things (also learnt). In the http://www.linuxwireless.org they assure that the possibilities are, as long as my chip is not suported by the b43: to use the the BCM4313 driver, or the STA drivers.
I’ve proved all, but nothing. Even I have read somewhere “over the rainbow” that I should to blacklist b43, ssb and brcm80211 to allowed the wl (STA) to work for the Broadcom 4313 chip … but nothing. Then I’ve found your help, but nothing for me… From 10 to 22, it is time to surrender. Please I really grateful any piece of advice or help.
Thanks a lot in advance. (Sorry for the length).
My information:
—–
~$ lspci -vvnn | grep 14e4
09:00.0 Network controller [0280]: Broadcom Corporation BCM4313 802.11b/g/n Wireless LAN Controller [14e4:4727] (rev 01)
—–
~$ sudo lshw -C network
*-network
description: Network controller
product: BCM4313 802.11b/g/n Wireless LAN Controller
vendor: Broadcom Corporation
physical id: 0
bus info: [email protected]:09:00.0
version: 01
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress bus_master cap_list
configuration: driver=bcma-pci-bridge latency=0
resources: irq:16 memory:c2500000-c2503fff
—-
:~$ iwconfig
lo no wireless extensions.
eth0 no wireless extensions.
In theory your chipset is supported by the broadcom driver. Have you tried compiling and loading it (wl)? Does it give any information dmesg about finding a wireless device? Is there a hardware kill switch on your laptop? Apparently someone (perhaps you) has the same exact laptop as you and got it working here. Good luck!
[SOLVED]
First of all, thanks a lot. I have the wifi on and conected. This was possible for all the help provided for kind people in forums, starting first just here (MS can not control everything).
I write the steps I have followed to finally have success. (Please experts forgive this maremagnun of things that are surely redundant):
– Only works for propietary dirvers (Broadcom STA), as I could no force dpkg to install correctly b43 because my configuration is not supported.
– As root (sudo or with synaptic) verify that b43 drivers (and related, as b43-fwcutter) are not installed.
– Install bcmwl-kernel-cource, broadcom-sta-common, broadcom-sta-source (check in System->additional drivers that STA drivers are indeed activated)
– reinstall and install rfkill, liburfkill-glib0,liburfkill-glib-dev, urfkill (probably this is not necessary)
– Force the prevalence of Broadcom drivers (wl) on the others:
* edit the file /etc/modprobe.d/blacklist-bcm43.conf and copy all blacklist lines
* edit the file etc/modprobe.d/blacklist.conf and set what you are copied; it should look like (I’ve added others more):
# replaced by b43 and ssb:
blacklist bcm43xx
blacklist b43
blacklist ssb
blacklist b43legacy
blacklist ssb
blacklist brcm80211
blacklist bcma
blacklist brcmsmac
blacklist brcmfmac
blacklist mac80211
blacklist cfg80211
blacklist lib80211_crypt-tkip
blacklist lib80211
* edit file /etc/rc.local and write just before “exit 0”:
modprobe -r b43 ssb wl
modprobe wl
– Restart
Everything should work fine. Good luck!