Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I'm having serious problems installing the Broadcom drivers for Ubuntu. It worked perfectly on my previous version, but now, it is impossible.

What are the steps to install Broadcom wireless drivers for a BCM43xx card?

I'm a user with no advance knowledge in Linux, so I would need clear explanations on how to make, compile, etc.


lspci -vnn | grep Network showed:

Broadcom Corporation BCM4322 802.11a/b/g/n Wireless LAN Controller [14e4:432b] 

iwconfig showed:

lo        no wireless extensions. eth0      no wireless extensions.
share|improve this question

46 Answers 46

Finally I've solved the problem myself, but I'm not sure how. I was about to compile the driver with the source from broadcom.com and instructions provided in http://www.broadcom.com/docs/linux_sta/README.txt, but at this step of the instructions

On Ubuntu, you will need headers and tools. Try these commands:
# apt-get install build-essential linux-headers-generic
# apt-get build-dep linux

build essential and headers were already installed. I just ran the sudo apt-get build-dep linux command and, Voilá!, after one reboot my connection started running at its normal speed.

I'm not sure of what I've done. I guess it builds kernel or driver dependencies (or both). The BCM driver needed this step and the jockey self-configuration omitted it for some reason.

Anyway, it is fixed.

share|improve this answer

I found the light wouldn't come on when I switched it to the op position. A utility you can try is rfkill to get it to come on. You have to do this every time you reboot.

sudo rfkill unblock all
share|improve this answer

Make sure your wireless adapter is not disabled. You can check it by running:

rfkill list

To enable wireless adapters, run:

sudo rfkill unblock wifi
share|improve this answer

Install the firmware-b43-installer package. First uninstall the proprietary driver from 'additional drivers".

Then in a terminal, execute:

sudo apt-get install firmware-b43-installer

just after reboot, works beautifully for me.

share|improve this answer

Good news. Based on the info you've provided in the comments, you have a network card supported by the proprietary Broadcom driver.

First, make sure you've ran sudo apt-get update from the terminal. Then go to "Additional Drivers." You can find it by opening the dash (click the upper-right corner) and typing drivers.

Is the Broadcom non-free driver turned on there? If not, try to enable it and restart your system. If that doesn't work, try to reinstall the drivers (just to get online once) manually. Here are instructions for manual installation: http://wireless.kernel.org/en/users/Drivers/b43

You may need to rmmod old or bad drivers. Good luck, but know that it can be done! :)

share|improve this answer

I fixed my problem with the Broadcom bcm4311 drivers.

Steps I took for fixing this problem (I stole this method from nm_geo on ubuntu forums):

(You may need to install synaptic or your favorite package manager.)

  • Uninstall the bcmwl-kernel-source package by issuing the following command on a terminal:

    sudo apt-get remove bcmwl-kernel-source
    
  • Make sure that the firmware-b43-installer and the b43-fwcutter packages are installed (of course you will need internet by others means):

    sudo apt-get install firmware-b43-installer b43-fwcutter
    
  • Type into a terminal:

    cat /etc/modprobe.d/* | egrep 'bcm'
    

    (You may want to copy this) and see if the term 'blacklist bcm43xx' is there.

  • If it is, type cd /etc/modprobe.d/ and then sudo gedit blacklist.conf

    Put a # in front of the line: blacklist bcm43xx

    Then save the file (I was getting error messages in the terminal about not being able to save, but it actually did save properly).

  • Reboot

After I did the above the wireless had to be unblocked by rfkill: How to unblock something listed in rfkill?

share|improve this answer

Install the package bcmwl-kernel-source

share|improve this answer

Thanks for your valuable response.

This problem was solved by the following steps:

  1. I removed the Broadcom STA wireless driver from Additional Drivers.
  2. Type bcm in Ubuntu Software Center,
  3. Install "Installer Package for firmware for the b34 driver" (firmware-b43-installer)

Now it's working wirelessly. You don't need to follow the above steps. Install the "B43 driver" for wireless.

share|improve this answer

If wireless was working fine before the upgrade, use the Maverick version of the driver.

Download it from http://packages.ubuntu.com/maverick/bcmwl-kernel-source.

Unpack it with gdebi.

Lock the version in the Synaptic package manager (until the issue is fixed).

Restart.

share|improve this answer

I installed Ubuntu 11.04 from scratch on a Dell Latitude 131L with Broadcom bcm4311. The Proprietary driver Broadcom STA was installed by default and Fn+F2 that was the only thing that I had to use to enable Wifi in 10.04; in 10.10 it didn't work. I found this page and tried a few things:

  • removed the Proprietary driver in Hardware drivers under System->Administration->Additional Drivers: sudo apt-get install --reinstall bcmwl-kernel-source and removed the line in blacklist.conf.
  • added the driver in System->Administration->Additional drivers
  • reboot.

This did not work.

  1. After this I added the line in /etc/modprobe.d/blacklist.conf again: replaced by b43 and ssb. Blacklist bcm43xx.
  2. Removed the proprietary driver from system->administration->hardware drivers
  3. After a reboot, the wifi works!

My guess is that only the steps in 1-3 are needed.

share|improve this answer

Dell Inspiron E1505, the following steps (alone), worked for me. I had to undo the extra steps of editing the blacklist file.

  • open the 'Synaptic Package Manager' and search for 'bcm'

  • uninstall the bcmwl-kernel-source package

  • make sure that the firmware-b43-installer and the b43-fwcutter packages are installed

  • reboot

share|improve this answer

This is what worked for me:

  1. Install firmware-b43-installer (+ b43fwcutter automatically added in Synaptic)
  2. Uninstall the bcm-kernel-source package using Synaptic
  3. Remove the original Wireless STA driver from Additional Drivers
  4. Reboot

Step #3 was a key step for me. If you don't remove original Wireless STA driver, you'll run into problems.

share|improve this answer

"Installer Package for firmware for the b34 driver" installation package worked well for me on a HP Pavilion DV5000

share|improve this answer

I have a Dell inspiron 6000 BCM4318 wireless LAN Controller I managed to solve this using synaptic package manager

Here I : First I uninstalled bcmwl-kernel-source Then installed firmware-b43-installer and b43-fwcutter which rebuilt the wifi drivers

I then had to restart

share|improve this answer

I had the same problem and found the solution. Run the following command and reboot the machine. This worked for me.

echo 'options acer_wmi wireless=1' | sudo tee /etc/modprobe.d/acer_wmi.conf
share|improve this answer

I always recommend removing and reinstalling the broadcom drivers using your terminal

In a terminal type the following command

sudo apt-get purge bcmwl-kernel-source

then

sudo apt-get install bcmwl-kernel-source

This will then rebuild your driver.

Let us know how you get on

You can either restart your pc or if this is a pain type the following commands in the terminal which will 'switch on' your wireless

sudo modprobe -r b43 ssb wl

then

sudo modprobe wl 
share|improve this answer

This answer is based on an extensive research done by various Ubuntu users that worked together in almost all issues related to Broadcom. Special users like chili555 who have helped in the Ubuntu forums and on this site with many questions related to Wireless devices to others who have contributed through E-Mail, chats, IRC and more in testing various drivers with several of the most popular Broadcom Wireless cards (Huge Thanks to Chili555 really. This guy knows his stuff).

In total we wanted to offer an answer that could be easy to follow and covered most Broadcom Cards / Drivers. After you follow this guide, you will NEED to test your wireless connection for at least 2 hours (I actually recommend 8 hours) with another device in either Ad-Hoc Mode, Infrastructure Mode or Both. Common problems that will be solved (Apart from drivers not installing) are:

  • Connections timeout after several minutes or hours
  • Stops searching for other devices (Does not see any other device)
  • Keeps asking for password even on cases where AP does not have any
  • Stops any receiving/transmitting traffic (Needs reboot to temporarily fix)
  • Crashes system with dmesg errors in log (Link 1 Below)
  • System freezes completely (You can only press Reboot/Power button) (Link 1 Below)
  • Creates huge log reports trying to correctly configure or connect
  • Fails when installed via Additional Drivers / Additional Hardware (Link 3 Below)
  • Connects and disconnects continuously every X amount of seconds
  • Appears connected on Network Manager but does not receive Internet
  • Tries to connect many times without correctly finishing connection
  • Takes too long to connect
  • After upgrading from a previous version (eg: 12.04 to 12.10) it stops working
  • Wireless card does not turn on, enable or disable (Link 2 Below)
  • Wireless card blocked by hardware
  • More problems found in Launchpad, Ubuntu Forum and Askubuntu

Link 1 - https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1060268
Link 2 - https://bugs.launchpad.net/ubuntu/+source/bcmwl/+bug/732677
Link 3 - Gives an error similar to "Sorry, installation of this driver failed."

So with that in mind, the following is what we have right now which is simplified in just 3 steps:

1. Knowing what Broadcom Wireless Card you have

There are dozens of Broadcom wireless cards and more seem to appear every day. The key to finding the correct driver for any network card is what is known as the PCI ID (PCI.ID). To find out which PCI.ID you have, we proceed to opening the terminal by pressing CTRL+ALT+T (It should open a window with a blank background) and inside this terminal we run the following command:

lspci -nn -d 14e4:

You will get something like the following if you have a Broadcom Wireless Adapter (The ID 14e4 used in the example above in most cases is a Broadcom Wireless Card):

Broadcom Corporation BCM4306 802.11bgn Wireless Network Adapter [14e4:4320] (rev 03)

The PCI.ID in this example is 14e4:4320 as seen inside the Brackets [...]. In some cases you will also need the revision version (if it appears) for some special cases. In this case, the revision version is rev 03 as shown inside the Parentheses (...) at the end. So what you will need after this search is:

[14e4:4320] (rev 03)

With this new information you can look in the table below and select the appropriate method to install your driver. For example, In this case, since you have the 14e4:4320 rev 03, if we go down the list to the one that shows the exact same PCI.ID you will see that in the columns for Ubuntu 12.04, 13.10 or 14.04 it shows the linux-firmware-nonfree package driver. This means that you will only have to install this particular package since it appears in all Ubuntu version columns.

NOTE - Before proceeding, if you have previously installed any drivers, have blacklisted or uncommented any driver files or configuration files or have done any changes whatsoever to the system to make the drivers work in previous attempts, you will need to undo them in order to follow this guide. We assume you are doing this from scratch and have not changed any configuration files, modules or drivers in the system in any way (apart from updating the system). This includes any installations using apt-get, aptitude, synaptic, dpkg, software center or manual compilation and installation of the packages. The system has to start from scratch in order for this to work and to avoid any conflicts that may appear if earlier work was done.

For example, if you have previously installed the bcmwl-kernel-source package, you will need to remove it by using the purge method:

sudo apt-get purge bcmwl-kernel-source

2. Preparing the System

If you have just installed Ubuntu, you will need to build an index of available packages before we can install your driver if you have not done so already:

sudo apt-get update

I would even go so further as to update the Ubuntu list of PCI.IDs:

sudo update-pciids

Just in case the ID of a particular new Broadcom Device you are using has just appeared.

Now using the PCI.ID you found in the steps above, we then search in the list below to find the matching PCI.ID and the method to install the driver associated with it in a simple and correct way. The terminal will be used to avoid any GUI related issues. This applies with all cases, except as noted. The installation procedure is done only via terminal and also while connected to the internet with a temporary wired ethernet connection or USB modem or any means possible that can give your PC, for the time, Internet access. After you find in the list below the correct package we then proceed with the installation.

3. Installing the Package

Assuming you used the PCI.ID 14e4:4320 rev 03 as found in your search above, and then looked at the table below and found that the correct package to install is the linux-firmware-nonfree, we then proceed to simply install this package in the terminal:

sudo apt-get install linux-firmware-nonfree

and then reboot

sudo reboot

The format to install is pretty simple, it's just:

sudo apt-get install <PACKAGE_NAME>

and then reboot. In the example above, the PACKAGE_NAME is linux-firmware-nonfree.

BROADCOM WIRELESS TABLE (Updated 30 August 2014)

PCI.ID              12.04 LTS                      13.10 / 14.04 LTS 
------------------------------------------------------------------------------------
14e4:0576           Special Case #1                 Special Case #1         
14e4:4301           firmware-b43legacy-installer    firmware-b43legacy-installer    
14e4:4306           firmware-b43legacy-installer    firmware-b43legacy-installer    
14e4:4306 rev 02    firmware-b43legacy-installer    firmware-b43legacy-installer    
14e4:4306 rev 03    linux-firmware-nonfree          linux-firmware-nonfree      
14e4:4307           linux-firmware-nonfree          linux-firmware-nonfree          
14e4:4311           linux-firmware-nonfree          linux-firmware-nonfree      
14e4:4312           linux-firmware-nonfree          linux-firmware-nonfree      
14e4:4313           linux-firmware-nonfree          linux-firmware-nonfree         
14e4:4315           firmware-b43-lpphy-installer    linux-firmware-nonfree      
14e4:4315 rev 01    firmware-b43-installer          firmware-b43-installer      
14e4:4318           linux-firmware-nonfree          linux-firmware-nonfree          
14e4:4318 rev 02    firmware-b43-installer          firmware-b43-installer          
14e4:4319           linux-firmware-nonfree          linux-firmware-nonfree         
14e4:4320 rev 02    firmware-b43legacy-installer    linux-firmware-nonfree         
14e4:4320 rev 03    linux-firmware-nonfree          linux-firmware-nonfree      
14e4:4324           linux-firmware-nonfree          linux-firmware-nonfree      
14e4:4325           firmware-b43legacy-installer    linux-firmware-nonfree  
14e4:4328           bcmwl-kernel-source             linux-firmware-nonfree      
14e4:4329           bcmwl-kernel-source             bcmwl-kernel-source     
14e4:432a           bcmwl-kernel-source             bcmwl-kernel-source     
14e4:432b           bcmwl-kernel-source             bcmwl-kernel-source     
14e4:432c           bcmwl-kernel-source             bcmwl-kernel-source     
14e4:432d           bcmwl-kernel-source             bcmwl-kernel-source    
14e4:4331           linux-firmware-nonfree          linux-firmware-nonfree      
14e4:4335           UNKNOWN                         linux-firmware-nonfree  
14e4:4353           Special Case #1                 Special Case #1         
14e4:4357           Special Case #1                 Special Case #1         
14e4:4358           bcmwl-kernel-source             bcmwl-kernel-source     
14e4:4359           bcmwl-kernel-source             bcmwl-kernel-source     
14e4:4365           Special Case #2                 bcmwl-kernel-source 
14e4:43a0           UNKNOWN                         bcmwl-kernel-source        
14e4:4727           Special Case #3                 Special Case #1     
14e4:a962           UNKNOWN                         linux-firmware-nonfree  
------------------------------------------------------------------------------------

Special Case #1 - This device uses the driver combination bcma and brcmsmac. It shouldn't be necessary to install anything at all. Required firmware is installed by default in the package linux-firmware.

Special Case #2 - Probably only working in 64-bit only. See: How do I install BCM43142 wireless drivers for Dell Vostro 3460/3560?

Special Case #3 - Use brcmwl-kernel-source for kernel versions less than 3.8. To check for Kernel version open the terminal and type: uname -r. For kernel versions 3.8 and later, use brcmsmac.

If you have a Broadcom card that has a different pci.id, please ask a new question. Once solved, the solution will be added to this howto.

DEBUGGING

The following is additional material to read about solving various issues related to Wireless Management and conflicts with other Network areas. Know that it some cases you need to have an updated Kernel version, since each new version of the Kernel introduces either new Network drivers, improvements over existing drivers or solves bugs regarding them.

  • To configure your wireless devices through the terminal I recommend How to connect and disconnect to a network manually in terminal?

  • If your connection drops every so often some users have suggested to set IPv6 to Ignore. Just go to Network Manager (The network icon on the top panel). Click on it then select Edit Settings. Then go to the Wireless connection you are using, select it. Now go to the last Tab in there that mentions IPv6 Settings. In the Method field select Ignore.

  • If your laptop does not detect your wireless card some users have mentioned that using rfkill unblock all will solve the problem. Others simply turned the WiFi switch on their laptops off and then on again (Physical switch available on this laptops). For more information about rfkill please read rf kill unblock all DOES NOT WORK!

  • If you are getting b43-phy0 ERROR: Fatal DMA error / b43-phy0 warning: Forced PIO do the following:

    sudo rmmod b43     
    sudo modprobe b43 pio=0 qos=0  
    

    If it works then add it to you RC files so it is executed every time you boot. You can change PIO to 1 if you need to it.

share|improve this answer
1  
Thanks, Luis for your kind comments. I think this will be very helpful. –  chili555 Mar 31 at 23:44

BCM4311 for my dv6000 is not working with STA driver nor with the b43 driver. With b43 the led always stays orange (wlan disabled). With rfkill I can see: 1: hp-wifi: Wireless LAN Soft blocked: no Hard blocked: no

With STA driver I can search the network, but connection never finishes. System worked fine with 10.10 (x86) - now I am using 11.10 beta2 (x64).

Dmesg gives some light to the error: s/Drivers/b43#devicefirmware and download the correct firmware for this driver version. Please carefully read all instructions on this website. [ 367.927967] b43-phy0 ERROR: Firmware file "b43/ucode13.fw" not found [ 367.927981] b43-phy0 ERROR: Firmware file "b43-open/ucode13.fw" not found [ 367.927989] b43-phy0 ERROR: You must go to http://wireless.kernel.org/en/users/Drivers/b43#devicefirmware and download the correct firmware for this driver v

Seems like the firmware files are missing from the linux drivers? I got the led back to blue (WLAN is enabled) and scanning working with:

sudo apt-get install firmware-b43-installer

This was from the site http://linuxwireless.org/en/users/Drivers/b43

Now the WLAN network is working for me (doublecheck for the WPA2 password was required :-)

share|improve this answer

Had the same slow connection issue with Ubuntu 11.04 and a HP Mini 5103 laptop which comes with Broadcom 4313. After having tried many suggestions, disabling the Broadcom STA Wireless Driver from Additional Drivers window fixed the issue for me.

share|improve this answer

Broadcom sta drivers worked OK for me and I have the same broadcom in my dell. The slow internet I felt was during powersave mode. Here are the list of broadcom drivers available. I have been using the opensource driver since then and I recommend it over sta drivers. People say it is not available for maverick so you need to install it manually. Broadcom STA driver doesn't work well with BCM4313 provides information on installing it manually OR you can may be use the debain builds.

share|improve this answer

using NDISWRAPPER was actually good solution but not the best one, using NDISWRAPER sometimes make my machines get freeze, as well as on Mac Book Pro that use BROADCOM BCM4331 you can do "kernel patching" and "re-compiling" the driver.

Read following reference to step by step activating the Broadcom 4313 (work in BCM4331 and i think will be same as your problem) in Ubuntu.

i hope will help

share|improve this answer

Drivers for the 4313

Let's just enumerate the driver for Broadcom chipsets and how they work with the 4313:

  • Broadcom STA. Suggested by additional drivers. Old. Awful. Absolute junk. Skip it. If you've already installed it, remove it.

  • b43-fwcutter. Lots of people see "Broadcom" and jump on this but it's not compatible with the 4313 (which is newer). If you've installed it, purge it.

  • ndiswrapper. Even more flaky than the STA driver. I managed to get it working for about 10 minutes before everything imploded.

  • brcm80211 aka brcmsmac. This is a (relatively) new driver that was recently added to Ubuntu (since the driver was added to the kernel). This should work well and (in recent version of Ubuntu, Natty and Oneiric) should "Just work". This is the droid you're looking for. Use this driver for the 4313.

    If you're not running Natty or Oneiric, your kernel probably won't have this driver. You need to be running at least 2.6.27 and I'd recommend 2.6.28 as the bare minimum (you can check what you're on by running uname -r).

    If you're behind on versions, I'd suggest the upgrade but for a quick fix, you can take a look at the mainline kernels and try one of those. Installing kernel packages is rarely a risky thing because you can usually just fall back to an old one using the grub boot screen.

You know you're probably on the right driver if you run lsmod | grep brc and you see brcm80211 or brcmsmac in the output.

Blacklisting your way to success

If you're not seeing that, something else has been loaded in and you need to blacklist that. If you can see what has been loaded, great, edit /etc/modprobe.d/blacklist.conf and start adding lines like:

blacklist b43
blacklist b43legacy
blacklist bcma
blacklist ndiswrapper

You obviously need to be careful if you have another wireless device that might be using a conflicting driver as if you blacklist it, you'll break that one too :)

share|improve this answer

I have a HP Pavilion dv6000. I had this issue while installing Ubuntu 11.1.

This post helped me a lot:
https://help.ubuntu.com/community/WifiDocs/Driver/bcm43xx#b43_-_No_Internet_access

Specially when You don't have wired network available on Your laptop. All You need is a pendrive with ubuntu 11.1 and two files which You can download from a computer with internet connection (copy them to Your pendrive):

  1. http://downloads.openwrt.org/sources/wl_apsta-3.130.20.0.o
  2. http://mirror2.openwrt.org/sources/broadcom-wl-4.150.10.5.tar.bz2

Follow the instructions on the site I mention above and don't forget to restart Your computer (I skipped step 4 - it worked after the restart).

share|improve this answer

I had the same problem and I have solved it by adding

blacklist acer_wmi

to /etc/modprobe.d/blacklist.conf

A restart later wireless worked.

(this was taken from http://ubuntuforums.org/showpost.php?p=11006092&postcount=2)

share|improve this answer

Open Synaptic and use b43-fwcutter and firmware-b43-lpphy-installer instead of bcmwl-kernel-source or any other.

share|improve this answer

I had the same problem yesterday (Dell Latitude D530 w/broadcom 4311).

I did:

sudo apt-get install firmware-b43-installer

That was that until the next reboot. Now I had to find out how to re-enable it but now the problem lies somewhere else.

share|improve this answer

This is a common problem to Broadcom wireless chip.

Run the following in the terminal:

sudo apt-get remove --purge bcmwl-kernel-source

If the command run successfully try to switch on wireless (with the hardware key).

If it doesn't work or the command failed saying there is no such module, then you could try opening a terminal and type

dmesg | grep b43

If you see lines like:

[   17.453421] b43-phy0 ERROR: Firmware file "b43/ucode15.fw" not found
[   17.453427] b43-phy0 ERROR: Firmware file "b43-open/ucode15.fw" not found
[   17.453432] b43-phy0 ERROR: You must go to http://wireless.kernel.org/en/users/Drivers/b43#devicefirmware and download the correct firmware for this driver version. Please carefully read all instructions on this website.
[   17.680077] b43-phy0: Loading firmware version 478.104 (2008-07-01 00:50:23)
[   17.993040] b43-phy0: Radio hardware status changed to DISABLED

Then you probably are lacking the firmware for the broadcom card. Open Software Center, search and install the following packages,

  • b43-fwcutter
  • firmware-b43-lpphy-installerer

Reboot once. Now the wireless should work.

share|improve this answer

Just installing the additional drivers, it works in my Dell Vostro 3500.

I did the following steps:

  1. sudo apt-get remove bcmwl-kernel-source

  2. Then re install the additional drivers given below. I activated it.

This package contains Broadcom 802.11 Linux STA wireless driver for use with Broadcom's BCM4311-, BCM4312-, BCM4313-, BCM4321-, BCM4322-, BCM43224-, BCM43225-, BCM43227- and BCM43228-based hardware.

share|improve this answer

Mine is Compaq V3000 Laptop.

If you installed Broadcom STA Wireless driver through additional driver section, please remove the same.

Go to terminal and type

sudo apt-get remove bcmwl-kernel-source 
sudo apt-get install b43-fwcutter
sudo apt-get install firmware-b43-installer

Then restart the machine and enable wireless.

share|improve this answer

I used user 'bkratz' solution on http://ubuntuforums.org/showthread.php?t=1928241 and it worked for me.


Run these:

sudo apt-get install --reinstall bcmwl-kernel-source broadcom-sta-common broadcom-sta-source
echo "blacklist brcmsmac" | sudo tee -a /etc/modprobe.d/blacklist.conf    
echo "blacklist bcma" | sudo tee -a /etc/modprobe.d/blacklist.conf

The first makes sure that the sta driver is in place, the second and third blacklist the two drivers brcmsmac and bcma which clash with the correct sta driver. Copy/paste or make sure your typing is correct!

The last step is to go to 'Additional drivers' and enable the driver.

share|improve this answer

protected by RolandiXor Aug 8 '12 at 15:15

Thank you for your interest in this question. Because it has attracted low-quality answers, posting an answer now requires 10 reputation on this site.

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.