HOW TO: Install Broadcom-STA (wl) driver in LMDE

dawgdoc
  12 years ago
  21

This HOW TO describes enabling support for WiFi devices based on Broadcom 4311/4312/4313/4321/4322/43224/43225 chipsets - using Broadcom's hybrid device driver - on Debian systems.  This tutorial was prepared shortly after the release of LMDE 201009 and draws heavily on THIS Debian Wiki page.

     

Support of these chipsets is possible using a driver (wl) made available by the vendor, which includes a binary-only component targeted for the x86 or x86-64 architecture. All supported devices are listed at the end of this page.  This is a "non-free" driver.  

The BCM4313, BCM43224 and BCM43225 chipsets are alternatively supported by the brcm80211 driver. 

And as of 9 Sept 2010 Broadcom announced the ....

 

 

 










 

initial release of a fully-open Linux driver for it's latest generation of 11n chipsets.  The driver, while still a work in progress... supports multiple current chips (BCM4313, BCM43224, BCM43225) as well as providing a framework for supporting additional chips in the future

 

NOTE:  (2011/2/23)  The following has been observed specifically for the BCM4313 chipset (Device ID 14E4:4727) but may apply to other chipsets which were updated from providing 802.11b/g to 802.11b/g/n support. The b/g version of BCM 4313 has been supported since version 5.60.48.36 of the driver, currently available in the Debian testing non-free repositories. Support for the b/g/n revision of BCM 4313 requires use of driver version 5.100.82.38 or newer, which is not currently  available in the repositories. You will need to use installation method 3, see below.

NOTE 2:  (2011/3/6)  Version 5.100.82.38-1 of Broadcom-STA is now available in the LMDE repositories. Installation method 1 should work for newer wifi cards.


INSTALLATION


METHOD 1

1.  The Mint developers of LMDE have enabled the "non-free" repositories by default.  To confirm this navigate to
 

  • Menu > Administration > Software Sources.  
  • Select the tab

Debian Testing Officially supported DFSG-compatible Software with Non-free Dependencies Non-DFSG-compatible Software should be present and selected, select it if not currently enabled.

If the "non-free" repository was not present, add it to to /etc/apt/sources.list  Open the file with

gksudo gedit /etc/apt/sources.list

and add these lines at the end of the file

# Debian Testing (currently Wheezy)

deb http://ftp.us.debian.org/debian testing main contrib non-free

save and close.

Updated to reflect testing repositories instead of Squeeze repositories.

2.  The remainder of the installation process will be performed as the root user in a terminal.  Open a terminal, type su, press , type your password (there will be no response from the blinking cursor), press .  The terminal prompt will change from something like username@computer-name ~ $ to computer-name username # Note: the change from $ to #.  Also, to avoid confusion between a one (1) and lowercase L (l) commands can be copied from the tutorial and pasted into the terminal.  The key combination to paste into the terminal is

3.  Update the list of available packages. Install the module-assistant and wireless-tools packages:

apt-get update

apt-get install module-assistant wireless-tools


4.  Build and install a broadcom-sta-modules-* package for your system, using Module-Assistant:

m-a a-i broadcom-sta

The "a-i" stands for "auto-install," meaning "download the module source, compile it for the current kernel and install it".

5.  Blacklist the brcm80211 module, to prevent it conflicting for support of BCM4313, BCM43224 and BCM43225 devices:

echo blacklist brcm80211 >> /etc/modprobe.d/broadcom-sta-common.conf

6.  Rebuild your initial ramdisk, to blacklist modules defined at /etc/modprobe.d/broadcom-sta-common.conf within initramfs:

update-initramfs -u -k $(uname -r)

7.  Unload conflicting modules:

modprobe -r b44 b43 b43legacy ssb brcm80211

8.  Load the wl module:

modprobe wl

9.  Verify your device has an available interface:

iwconfig

10.  Configure your wireless interface as appropriate.

11.   Exit the root terminal:

exit

 

METHOD 2

A script to automate the above process was written and posted HERE in the Linux Mint Forum by Gramps50.  The script is at the end of the post.


METHOD 3

To install from source see the Broadcom Linux STA page.  See the README.txt file first.



KNOWN PROBLEMS

 

  • The Sonics Silicon Backplane driver (ssb) conflicts with the wl driver (545388, broadcom-sta-common/README.Debian).
    •     b44, b43, b43legacy and ssb are blacklisted by default as of broadcom-sta 5.10.91.9.3-3.
    •     This prevents use of any Ethernet device supported by b44.
  • Frequent disconnections can be experienced. This may be resolved by disabling power management via iwconfig(8) (e.g. iwconfig eth1 power off).
  • Monitor mode is not supported.
  • Unable to transfer data over ad-hoc network created by NetworkManager (iwconfig OK), #81392
  • STA unable to associate to AP when PEAPv1-MSCHAPv2 authentication is used, #81452
  • 20% lower throughput on channels 149, 153, 157, and 161 #72238

See bugs reported on Debian's broadcom-sta.



SUPPORTED DEVICES


The following list is based on the alias fields of modinfo wl as of driver version 5.60.48.36:

PCI: 14E4:4311 Broadcom Corporation BCM4311 802.11b/g WLAN
PCI: 14E4:4312 Broadcom Corporation BCM4312 802.11a/b/g
PCI: 14E4:4313 Broadcom Corporation BCM4311 802.11a
PCI: 14E4:4315 Broadcom Corporation BCM4312 802.11b/g LP-PHY
PCI: 14E4:4328 Broadcom Corporation BCM4321 802.11a/b/g/n
PCI: 14E4:4329 Broadcom Corporation BCM4321 802.11b/g/n
PCI: 14E4:432A Broadcom Corporation BCM4321
PCI: 14E4:432B Broadcom Corporation BCM4322 802.11a/b/g/n Wireless LAN Controller
PCI: 14E4:432C Broadcom Corporation BCM4322 802.11b/g/n
PCI: 14E4:432D Broadcom Corporation BCM4322 802.11a/b/g/n
PCI: 14E4:4353 Broadcom Corporation BCM43224 802.11a/b/g/n
PCI: 14E4:4357 Broadcom Corporation BCM43225 802.11b/g/n
PCI: 14E4:4727 Broadcom Corporation BCM4313 802.11b/g LP-PHY supported since driver ver 5.60.48.36,
PCI: 14E4:4727 Broadcom Corporation BCM4313 802.11b/g/n Wireless LAN Controller now supported as of 1/11/2011, use driver version 5.100.82.38 or newer

To find the Device ID's of Broadcom cards on your machine do:

lspci -n | grep 14e4

THIS page explains how to identify a PCI device.



TROUBLE SHOOTING


1.  If the wl driver loads but doesn't seem to do anything:  the ssb module may be the cause.  Sometimes blacklisting ssb may not be enough to prevent it from loading and it loads anyway. (This is mostly seen on Ubuntu/Debian systems).  From HERE

Check to see if ssb, wl or b43 is loaded:

lsmod  | grep "b43\|ssb\|wl"

If any of these are installed, remove them:

sudo rmmod b4

sudo rmmod ssb

sudo rmmod wl

Back up the current boot ramfs and generate a new one.

sudo cp /boot/initrd.img-`uname -r`  /path/to/somewheresafe

sudo update-initramfs -u

Reboot

 

2.  The driver fails to load at boot.

Perform this command in a terminal

sudo echo wl >> /etc/modules

If that alone does not allow the driver to load when the system is booted, create a file

gksudo /etc/modprobe.d/00local

and add the line

install wl /bin/true

The driver should load upon reboot.

Note that "If the file /etc/modprobe.conf exists, all contents of /etc/modprobe.d/ are ignored by default."



REFERENCES


Debian wiki on broadcom-sta installation and enabling the wl driver
Installation Script by Gramps50 to automate installing the wl driver, from the Linux Mint Forums
How To use a WiFI interface from the Debian Wiki
Broadcom STA driver - download page with README.txt
Bugs in source package broadcom-sta Debian Bug Reports
How To Identify PCI like Devices from the Debian Wiki



SEE ALSO
 

bcm43xx - Broadcom 43xx wireless devices
brcm80211 - Broadcom 4313, 43224, 43225 devices
NDISwrapper - Installing NDISwrapper on Debian systems

Comments
a-woozy-fieldmouse 9 years ago

This worked for me (after rebooting)!

Adapter: Broadcom Corporation BCM4313 802.11bgn Wireless Network Adapter (rev 01)

OS: Linux Mint 17 Cinnamon 64-bit, 3.13.0-24-generic

Netbook: Acer Aspire One 722-0473


sharljimhtsin 10 years ago

to me,it is not working on my hp compaq 6510b laptop in your that method.

my os is the latest LMDE 201403 x64.

my wl is broadcom 4311 chipset.


xnorsx 11 years ago

Simple go to Menu/Software Manager/Edit(On top bar)/Software Sources/Additional Drivers/ and check Using Broadcom...... and press Apply no need to use Terminal :)

But you need other internet connection active!


pvr1959 11 years ago

I have a laptop with a BCM43228 chipset.
I found a driver here:
http://www.dell.com/support/drivers/il/en/ilbsdt1/DriverDetails?driverId=R292179&dgc=AF&cid=6850&lid=178413&acd=240657120117281
I found also this:
http://www.wikidevi.com/wiki/Dell_Wireless_1530_Wireless-N_WLAN_Mini-Card.

Can anybody give me a tip to make it work please ??


JoeQuery 11 years ago

I wanted to verify this works for Debian Squeeze with LXDE. Thank you so much for the perfect step-by-step tutorial.


mint-fans 11 years ago

THank you very much! finally wireless get fuction.
laptop dell inspiron 14, peppermint os,26.32-22-generic, broadcom 14e4:4727


METHOD 1 IS THE BEST.......


maxdule 12 years ago

There's similar tutorial that didn't work for me (on DELL Inspiron 1545 laptop with broadcom 4312 wireless), but this one worked like a charm! Thanks!


m_holmes 12 years ago

Worked like a charm. Thank you for taking the time to write this up.


londonbeast 12 years ago

Thank you from a Linux Newbie.
I was on Linuxmint 9 - everything worked but looking here in the forums came across LMDE and wanted to try it out.
LMDE seems to be better, quicker and my lappie seems to run cooler compared to Linux mint 9.

Got my wireless working but must have done something wrong as I have lost my wired connection - maybe I used the wrong method.
Will now try to get wired working again. If I can, I think I will stick to LMDE.
Raj
Should have looked in "known Problems"
Any one know if this has been fixed in the last 2 months? (Noticed that this tutorial was last updated 2 months ago).


roobinatube 12 years ago

Great instructions, cheers!

Just a note: my laptop kept disconnecting (broadcom 4313) even having turned off power management. However having changing the router wireless channel from "auto" to (I chose) 08, there have been no more disconnections.


digitsm 13 years ago

Thank you! very great article, really eye-friendly


mudpie 13 years ago

Thank you so much!
This is exactly the info I was looking for, and the how-to is thorough and easy to follow.

So nice to go wireless again. :D


CrustyBarnacle 13 years ago

Awesome howto!
Worked as documented.

However, for those using "sudo":
echo blacklist brcm80211 >> /etc/modprobe.d/broadcom-sta-common.conf

"blacklist brcm80211" can be added by editing in nano.


remoulder 13 years ago

This is an excellent tutorial dawgdoc.