Skip to content

Wi‑Fi Firmware and Drivers on Ubuntu

This article focuses on common Wi‑Fi chipsets and their firmware on Ubuntu. It guides detection, installing firmware packages, modprobe usage, and practical troubleshooting commands.

Terminal window
lspci -nnk | grep -i network -A3
lsusb
iw dev

Look for Intel Corporation Wireless or Broadcom strings.

Install the Intel firmware package and reload the module:

Terminal window
sudo apt update
sudo apt install -y linux-firmware-iwlwifi
sudo modprobe -r iwlwifi && sudo modprobe iwlwifi

Check kernel logs for firmware loading messages:

Terminal window
dmesg | grep -i iwl
journalctl -k | tail -n 50

If the firmware file is missing, dmesg shows the exact file name (e.g., iwlwifi-ty-a0-gf-a0-59.ucode), and you can obtain it from the linux-firmware package or vendor sources.

Broadcom chips require different drivers depending on model. Common packages:

  • bcmwl-kernel-source — Broadcom STA (proprietary) for many chips
  • firmware-brcm80211 or in linux-firmware — for some brcm chips

Install STA driver (if recommended):

Terminal window
sudo apt update
sudo apt install -y bcmwl-kernel-source
sudo modprobe -r b43 bcma wl && sudo modprobe wl

Check dmesg for firmware messages if the interface fails to appear.

With NetworkManager:

Terminal window
nmcli device status
nmcli device wifi list
nmcli device wifi connect "SSID" password "yourpass"

With wpa_supplicant (manual): create /etc/wpa_supplicant/wpa_supplicant.conf then:

Terminal window
sudo wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf
sudo dhclient wlan0
  1. Check rfkill: rfkill list all — unblock with sudo rfkill unblock all.
  2. Kernel messages: dmesg | grep -i firmware.
  3. Interface state: ip link, iw dev, nmcli device status.
  4. Capture logs: journalctl -u NetworkManager -n 200.
  5. Try a live kernel (booted from live USB) to exclude current installation issues.
  6. If module mismatch after kernel update, ensure linux-headers-$(uname -r) is installed and re-run DKMS builds.