Hefnawi

Broadcom WiFi driver for Ubuntu

The issue

Not so far ago, I had an issue with my Dell Inspiron 15 Series 3000 Laptop that I couldn’t connect to any WiFi network using the built-in wireless card and had to use a USB WiFi dongle. Turns out that Dell Inspiron 15 has a Broadcom series of PCI wireless cards on board.

I was running Ubuntu 16.04 LTS at that time — I upgraded to 18.04 LTS (Bionic Beaver), the tips in this post would still work — and it didn’t support my WiFi card out of the box, I was almost certain it would be a driver issue even though I did some online search to get help but was guided by wrong directions by some of the online forums stating solutions like upgrading BIOS firmware, some Windows-related drivers updates and also some BIOS tweaks that worked for some people (probably they are not using Linux).

Ubuntu forums to the rescue

I was finally able to install the drivers for the Broadcom wireless card on my laptop after coming across this thread on the Ubuntu forums.

It pointed me to this thread: “Before posting in Networking & Wireless” where I found a complete Broadcom guide in this thread: “How to install a driver for the Broadcom series of PCI wireless cards”.

It even had this extensive list for different drivers (Thanks to Ubuntu member: chili555):

pci.id                     12.04 LTS                             14.04 LTS and Later

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 2            firmware-b43legacy-installer          firmware-b43legacy-installer
14e4:4306 rev 3            firmware-b43-installer                firmware-b43-installer
14e4:4307                  firmware-b43-installer                firmware-b43-installer
14e4:4311                  firmware-b43-installer                firmware-b43-installer
14e4:4312                  firmware-b43-installer                firmware-b43-installer
14e4:4313                  firmware-b43-installer                firmware-b43-installer
14e4:4315                  firmware-b43-lpphy-installer          firmware-b43-installer
14e4:4318                  firmware-b43-installer                firmware-b43-installer
14e4:4319                  firmware-b43-installer                firmware-b43-installer
14e4:4320 rev 02           firmware-b43legacy-installer          firmware-b43legacy-installer
14e4:4320 rev 03           firmware-b43-installer                firmware-b43-installer
14e4:4324                  firmware-b43-installer                firmware-b43-installer
14e4:4325                  firmware-b43legacy-installer          firmware-b43legacy-installer
14e4:4328                  bcmwl-kernel-source                   firmware-b43-installer
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                  firmware-b43-installer                firmware-b43-installer
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:43b1                  unknown                               bcmwl-kernel-source
14e4:4727                  Special case #3                       Special case #1

I followed the instructions for retrieving the pci.id for the WiFi card by running the following command in the terminal:

lspci -nn -d 14e4:

It should return a line similar to this one:

06:00.0 Network controller [0280]: Broadcom Inc. and subsidiaries BCM43142 802.11b/g/n [14e4:4365] (rev 01)

That’s the Broadcom wireless card installed in my Dell Inspiron 15 Series 3000 (3543) with pci.id: 14e4:4365 and by searching the pci.id list above I found the required package: bcmwl-kernel-source

This is basically a Broadcom 802.11 Linux STA wireless driver DKMS package, more details on DKMS can be found in the additional resource section below.


At this step I updated my packages, I suggest you do it if you have not already done so recently,

sudo apt-get update

I installed the driver by running the following apt command,

sudo apt-get install bcmwl-kernel-source

You should replace bcmwl-kernel-source with the correct package name equivalent to your pci.id depending on your exact model.

Finally, you must reboot for the newly installed kernel to take effect.

That’s it, you should have WiFi enabled using the Broadcom chip on board.

Additional resources if you are a curious one

DKMS (Dynamic Kernel Module Support) is a system for automatically installing and rebuilding kernel modules that are maintained outside of the kernel tree to ensure that if a new kernel is installed that changes the ABI (Application Binary Interface), existing DKMS-managed modules are automatically built on the local PC against the new kernel’s headers - saving the user from needing to manually rebuild the source or download an updated debian binary package.

Please feel free to ask if you have questions either in the comments section below or on my twitter.