Setup and Configuration

How to Install Broadcom Wifi Driver in Ubuntu? Setup Broadcom on Ubuntu

Introduction If you have ever installed Ubuntu on a laptop and found that your wireless network adapter simply does not work, you are not alone. Many laptops ship with Broadcom wireless chipsets, and while Ubuntu supports a wide range of hardware out of the bo

HowToFixWiFi

Introduction

If you have ever installed Ubuntu on a laptop and found that your wireless network adapter simply does not work, you are not alone. Many laptops ship with Broadcom wireless chipsets, and while Ubuntu supports a wide range of hardware out of the box, Broadcom devices often require proprietary drivers that are not included in the default installation. This guide explains How to Install Broadcom Wifi Driver in Ubuntu? in a clear, step-by-step manner so that you can get your wireless connection up and running without guesswork.

Broadcom wireless cards are common in Dell, HP, Lenovo, and Apple machines, among others. The open-source drivers that ship with Ubuntu sometimes provide partial functionality, but for full performance, stability, and support for modern Wi-Fi standards, the proprietary Broadcom STA driver or the appropriate firmware package is usually the best choice. Throughout this article you will learn how to identify your chipset, choose the correct driver, install it from the command line or graphical interface, troubleshoot common problems, and keep your system updated.

Table of Contents

Understanding Broadcom WiFi on Ubuntu

Broadcom manufactures a wide variety of wireless network interface cards, commonly referred to by their chip model numbers such as BCM4311, BCM4312, BCM4313, BCM43142, BCM4321, BCM4322, BCM43224, BCM43225, BCM43227, BCM43228, BCM4331, BCM4352, BCM4360, and BCM43602. Each of these chipsets has different levels of support in the Linux kernel. Some are supported by open-source drivers such as brcmsmac or b43, while others require proprietary firmware or the Broadcom STA driver.

Ubuntu includes several driver options in its repositories. The bcmwl-kernel-source package provides the proprietary Broadcom STA (wl) driver, which supports many 802.11n and 802.11ac chipsets. The firmware-b43-installer package downloads and installs firmware for older chipsets supported by the open-source b43 driver. There is also brcmfmac, which is an open-source driver for newer FullMAC chipsets and is often included in the kernel already.

Understanding which driver applies to your hardware is the first and most important step. Installing the wrong driver can leave you without wireless connectivity or, in rare cases, cause system instability. Fortunately, Ubuntu provides tools that make identification straightforward.

Identifying Your Broadcom Chipset

Before installing anything, you should confirm the exact chipset in your machine. Open a terminal and run the following command to list network devices:

lspci -nn -d 14e4:

This command filters PCI devices to those manufactured by Broadcom, whose vendor ID is 14e4. The output will show lines similar to Network controller [0280]: Broadcom Inc. and subsidiaries BCM4322 802.11a/b/g/n Wireless LAN Controller [14e4:432b] (rev 01). The numbers in brackets, such as 14e4:432b, are the PCI ID and are the most reliable way to determine driver compatibility.

You can also use lshw -C network for a more detailed view, or check the kernel messages with dmesg | grep -i broadcom. If your device is USB-based rather than internal, use lsusb instead. Once you have the PCI ID, you can cross-reference it with the Ubuntu community documentation or the driver package descriptions to choose the correct installation method.

Prerequisites Before You Begin

Before you attempt to install any driver, make sure your system is prepared. First, ensure you have an active internet connection through Ethernet, USB tethering, or a mobile hotspot, because driver packages and their dependencies must be downloaded. Second, update your package index by running:

sudo apt update
sudo apt upgrade

Third, install the essential build tools and kernel headers, which are required for compiling kernel modules such as the Broadcom STA driver:

sudo apt install build-essential dkms linux-headers-$(uname -r)

Fourth, verify whether Secure Boot is enabled, as it can block unsigned kernel modules. You can check this with mokutil --sb-state. Finally, remove any conflicting drivers that might already be loaded, such as b43, ssb, or bcma, if you plan to use the proprietary wl driver. These steps reduce the chance of installation failures.

Method 1: Installing via Additional Drivers (GUI)

The simplest approach for many users is the graphical Additional Drivers tool. This utility scans your hardware and presents available proprietary drivers. To use it, open the application menu and search for “Software & Updates,” then switch to the “Additional Drivers” tab. Ubuntu will search for available drivers for your Broadcom chipset.

If a Broadcom STA driver is listed, select it and click “Apply Changes.” The system will download and install the driver, then prompt you to reboot. After rebooting, your wireless adapter should appear in the network menu. This method is ideal for beginners because it handles dependency resolution and module building automatically.

If no proprietary driver appears, your chipset may be supported by an open-source driver that is already installed, or it may require firmware installation instead. In that case, proceed to the command-line methods below.

Method 2: Installing via Command Line (bcmwl-kernel-source)

For users comfortable with the terminal, or when the GUI method fails, installing bcmwl-kernel-source directly is a reliable option. This package builds the proprietary wl module using DKMS, ensuring it is rebuilt automatically when the kernel is updated.

First, remove any conflicting packages that might interfere:

sudo apt remove --purge bcmwl-kernel-source
sudo apt autoremove
code>

Then install the driver:

sudo apt install bcmwl-kernel-source
code>

During installation, DKMS will compile the module. If Secure Boot is enabled, you may be prompted to create a Machine Owner Key (MOK) password; follow the on-screen instructions and enroll the key at the next boot. After installation completes, load the module:

sudo modprobe wl
code>

Verify that the module loaded successfully by running lsmod | grep wl. You should see wl listed. Then check for wireless interfaces with ip link or iwconfig. If the interface appears, connect to your network using the network manager. A reboot is recommended to ensure all services start correctly.

Method 3: Using firmware-b43-installer

Older Broadcom chipsets, such as BCM4306, BCM4311, BCM4312, and BCM4318, are often better served by the open-source b43 driver with proprietary firmware. Ubuntu provides the firmware-b43-installer package, which downloads the necessary firmware from Broadcom's website and installs it into the correct location.

Install it with:

sudo apt install firmware-b43-installer
code>

The installer will fetch the firmware automatically. If your device uses the low-power (LP) variant, use firmware-b43-lpphy-installer instead. After installation, the b43 module should load automatically. If it does not, run:

sudo modprobe b43
code>

You can verify firmware loading with dmesg | grep b43. This method is particularly useful for legacy hardware where the proprietary STA driver is unsupported or performs poorly.

Driver Comparison Table

The following table summarizes the main driver options available for Broadcom wireless on Ubuntu.

Driver / Package Chipset Coverage Open Source Performance Best For
bcmwl-kernel-source (wl) BCM4311, 4312, 4313, 4321, 4322, 43224, 43225, 43227, 43228, 4331, 4352, 4360, 43602 No High Modern laptops needing full 802.11n/ac support
firmware-b43-installer (b43) BCM4306, 4311, 4312, 4318, 4320, 4309 Firmware proprietary Moderate Legacy hardware and older kernels
brcmsmac (kernel built-in) BCM4313, 43224, 43225 Yes Moderate Users preferring fully open-source stack
brcmfmac (kernel built-in) BCM4329, 4330, 4334, 4335, 4339, 4354, 4356, 43602 (SDIO/USB/PCIe) Yes High Newer FullMAC devices and embedded systems
ndiswrapper (legacy) Various via Windows drivers No Low Obsolete; not recommended

Secure Boot Considerations

Secure Boot is a UEFI feature that ensures only signed bootloaders and kernel modules load. Because the proprietary wl module is not signed by a key trusted by default, Secure Boot will block it unless you enroll a Machine Owner Key. When you install bcmwl-kernel-source on a system with Secure Boot enabled, the installer typically prompts you to set a password. On the next reboot, a blue MOK management screen appears; select "Enroll MOK," enter the password, and confirm.

If you prefer, you can disable Secure Boot entirely in your BIOS/UEFI settings, though this slightly reduces boot-time security. Another option is to use the open-source b43 or brcmsmac drivers, which do not require module signing. Always choose the approach that best balances security and functionality for your environment.

Troubleshooting Common Issues

Even with careful preparation, problems can arise. Here are the most common issues and how to resolve them.

No Wireless Interface Appears

If ip link shows no wireless interface after installation, the module may not have loaded. Run sudo modprobe wl or sudo modprobe b43 depending on your driver. Check for errors with dmesg | tail -20. If you see "Required key not available," Secure Boot is blocking the module; enroll your MOK or disable Secure Boot.

Conflicting Modules

The wl driver conflicts with b43, ssb, and bcma. If these modules load first, wl will fail. Blacklist them by adding lines to /etc/modprobe.d/blacklist.conf:

blacklist b43
blacklist ssb
blacklist bcma
code>

Then regenerate the initramfs with sudo update-initramfs -u and reboot.

Kernel Update Breaks WiFi

If a kernel update disables wireless, the DKMS module may not have rebuilt. Reinstall the package with sudo apt install --reinstall bcmwl-kernel-source and reboot. Ensure linux-headers-$(uname -r) is installed for the new kernel.

Weak Signal or Frequent Disconnects

Try disabling power management with sudo iwconfig wlan0 power off or adjusting the regulatory domain. Also ensure your router firmware is up to date and that you are not experiencing 2.4 GHz congestion.

Tips and Best Practices

  • Always verify your PCI ID before choosing a driver; never guess based on laptop model alone.
  • Keep a wired or tethered connection available during installation so you can recover if wireless fails.
  • Use DKMS-based packages so drivers rebuild automatically after kernel updates.
  • Document which driver worked for your chipset so future reinstalls are faster.
  • Avoid mixing multiple Broadcom drivers; uninstall one before trying another.
  • Check the Ubuntu release notes for your version, as driver availability changes over time.
  • Consider testing with a live USB before committing changes to your installed system.
  • Back up your /etc/modprobe.d configuration before editing.

Frequently Asked Questions

What is the easiest way to install a Broadcom WiFi driver in Ubuntu?

The easiest method is the Additional Drivers tool in Software & Updates, which automatically detects and installs the appropriate proprietary driver. If that fails, the command-line installation of bcmwl-kernel-source is the next simplest option.

How do I know if my Broadcom chipset needs proprietary firmware?

Run lspci -nn -d 14e4: to get the PCI ID, then consult the Ubuntu community documentation or the package descriptions. Older chipsets often need firmware-b43-installer, while newer ones usually work with bcmwl-kernel-source.

Why does my WiFi stop working after a kernel update?

The proprietary wl module must be rebuilt for each new kernel. DKMS usually handles this automatically, but if headers are missing or the build fails, reinstall the driver package and ensure the matching kernel headers are installed.

Can I use Broadcom WiFi without disabling Secure Boot?

Yes, by enrolling a Machine Owner Key during installation. Alternatively, use open-source drivers such as b43 or brcmsmac, which do not require signing.

Is ndiswrapper still a viable option?

No. Ndiswrapper is largely obsolete and unreliable on modern Ubuntu releases. Native Linux drivers are strongly preferred.

What should I do if no driver is available for my chipset?

Some very new or very old chipsets may lack support. In that case, consider using a USB WiFi adapter with known Linux support, or check for updated kernel versions that may include improved drivers.

Conclusion

Getting wireless connectivity working on a Broadcom-equipped laptop in Ubuntu can feel daunting at first, but the process is straightforward once you understand the chipset and the available driver options. Whether you choose the graphical Additional Drivers tool, the command-line bcmwl-kernel-source package, or the firmware-based b43 approach, the key is to identify your hardware accurately and follow the appropriate steps carefully. By managing Secure Boot, blacklisting conflicting modules, and keeping your system updated, you can enjoy stable and fast wireless networking on Ubuntu. If you found this guide on How to Install Broadcom Wifi Driver in Ubuntu? helpful, keep it bookmarked for future reference, and remember that the Ubuntu community forums are an excellent resource for hardware-specific questions.