Skip to main content

Command Palette

Search for a command to run...

How to know Wi-Fi adapter driver installed in Raspberry Pi 5 or not?

Published
3 min read
How to know Wi-Fi adapter driver installed in Raspberry Pi 5 or not?

Here’s a reliable way to tell whether a Wi-Fi adapter has a driver installed and loaded on a Raspberry Pi 5 (works for both the built-in Wi-Fi and USB Wi-Fi dongles). You’re basically checking 4 things: device detected → driver bound → firmware loaded → wlan interface exists.


1) Do you see a Wi-Fi interface?

ip link

Look for wlan0 (or wlan1).
If you see it: the driver is almost certainly working.

More detailed:

iw dev

If it lists an interface, the wireless stack + driver is active.


2) Is the adapter detected by the system?

If it’s a USB Wi-Fi dongle

lsusb

You should see something like “Wireless Adapter”, Realtek/MediaTek, etc.

If it’s internal (or PCIe-based)

lspci 2>/dev/null | grep -i -E "network|wireless"

(Not all Pi OS images include pciutils by default; if command missing:)

sudo apt update && sudo apt install -y pciutils

3) Is a driver actually loaded?

List loaded kernel modules related to Wi-Fi:

lsmod | grep -E "brcm|rtl|mt7|mt76|ath|cfg80211|mac80211"

Common meanings:

  • cfg80211 / mac80211 = Linux Wi-Fi framework is present (good sign)

  • brcmfmac = Broadcom/Cypress-style Wi-Fi driver (often for onboard Wi-Fi)

  • rtl8xxxu, 8821cu, 88XXau = common Realtek USB Wi-Fi drivers

  • mt76* = MediaTek Wi-Fi drivers

  • ath9k_htc etc. = Atheros USB Wi-Fi drivers


4) Did firmware load successfully? (This is the #1 failure cause)

Check kernel logs:

dmesg | grep -i -E "wlan|wifi|firmware|brcm|rtl|mt76|ath"

What you want to see:

  • messages like “firmware loaded”, “registered new interface”, etc.

Red flags:

  • failed to load firmware

  • Direct firmware load for ... failed with error -2

If you see firmware load errors, try:

sudo apt update
sudo apt install --reinstall -y firmware-brcm80211
sudo reboot

(That package is the common fix for Broadcom-type firmware on Debian/Raspberry Pi OS.)


5) Check whether the driver is bound to the device (USB dongle)

Watch live plug-in logs:

sudo dmesg -w

Unplug and replug the USB Wi-Fi dongle. You should see the chipset detected and a driver attached.


6) Quick “one-shot” summary command

echo "=== interfaces ==="; iw dev || true
echo "=== usb ==="; lsusb | grep -i -E "wireless|wifi|802\.11|realtek|mediatek|ralink|atheros|broadcom" || true
echo "=== modules ==="; lsmod | grep -E "brcm|rtl|mt76|ath|cfg80211|mac80211" || true
echo "=== dmesg ==="; dmesg | tail -n 80 | grep -i -E "wlan|wifi|firmware|brcm|rtl|mt76|ath" || true

If it still doesn’t show up

  • Make sure Wi-Fi isn’t blocked:
rfkill list
sudo rfkill unblock all
  • Confirm you’re not in airplane-mode / disabled in config.

  • Some Realtek dongles require out-of-tree drivers (you’ll see a device in lsusb but no wlan0 and no matching module in lsmod).


If you paste the output of these two commands, I can tell you exactly what’s missing and which driver/firmware you need:

lsusb
dmesg | tail -n 120