Zkitszo - The Real
February 09, 2026

Ditch the Dongle on The Raspberry Pi

For the longest time, the first rule of Raspberry Pi hacking was simple: buy an external Wi-Fi adapter. If you wanted monitor mode or packet injection, the onboard chip was a dead end. So we all had a bulky ALFA card or Panda dongle hanging off an otherwise sleek Pi, draining power and eating a USB port.

That rule has expired.

Thanks to the Nexmon project and some recent packaging work by the Kali Linux team, the internal Wi-Fi chips on the Raspberry Pi 3, 4, 5, and Zero 2 W now do monitor mode and frame injection natively. No dongle. No compiling kernel modules from source until 3 AM. Whether you're building your first portable pen-testing rig or just trying to slim down your everyday carry, here's how to turn it on.

The why, for the uninitiated

The internal Wi-Fi chip on most devices is built to be a client: it connects to a router and behaves. To audit a network you need the chip to stop filtering and just listen to everything in the air. That's monitor mode. You also often need to speak out of turn to test security, like sending deauthentication packets. That's frame injection.

Broadcom chips (the ones in Pis) were historically locked down. The Nexmon patch rewrites the firmware binary running inside the Wi-Fi chip itself to unlock these capabilities. It's a low-level hack, and now it's a package install.

The setup: one-command magic

This assumes you're running the latest Kali Linux on your Pi. If you're on standard Raspberry Pi OS, you'll have to compile Nexmon by hand, which is a much longer road.

1. Update and install

Open a terminal. You want the brcmfmac-nexmon-dkms package. It uses DKMS (Dynamic Kernel Module Support), so the custom driver rebuilds itself automatically every time you update your kernel. That's the part that keeps this from breaking on you later.

sudo apt update && sudo apt full-upgrade -y
sudo apt install -y brcmfmac-nexmon-dkms firmware-nexmon
sudo reboot

2. Verify it (trust but verify)

Once you're back up, don't assume it worked. Check the kernel module. You want the driver filename to include "nexmon".

modinfo brcmfmac | grep filename

Expected output:

filename:       /lib/modules/6.x.x-rpi/updates/dkms/brcmfmac.ko.xz

If it points at the standard kernel path without updates/dkms, the patch didn't load.

The workflow: putting it to work

Real-world scenario: you want to scan for local access points with the aircrack-ng tools, no external gear.

Step 1: Enter monitor mode

Use airmon-ng to stand up the interface.

sudo airmon-ng start wlan0

The "Unknown error 524." You might see this in the output:

command failed: Unknown error 524 (-524)

Ignore it. It's a quirk of how the Nexmon firmware talks to the kernel, not a real failure. If iw dev shows your interface in monitor mode, you're golden.

Step 2: Start listening

Now capture some beacons. Target the 2.4GHz spectrum, which the internal chip handles best (5GHz is supported on the Pi 3B+ and newer).

sudo airodump-ng wlan0mon

Or, if your interface name didn't change (common with some network managers):

sudo airodump-ng wlan0

Hardware specifics and troubleshooting

Not all Pis are created equal. Here's what to know about your board.

  • Raspberry Pi 5: the beast. It uses a different architecture than the 4. Nexmon struggled here early on, but the Kali 2025 packages specifically target the Pi 5's kernel (6.12+). If you're testing on a Pi 5, make sure your power supply is solid (5V/5A) — monitor mode can cause power spikes that a sketchy generic charger won't like.
  • Raspberry Pi 3B (the clm_blob issue): the older 3B has a quirk. Sometimes Wi-Fi vanishes entirely after an update, usually from a mismatched clm_blob file (a binary blob for regulatory compliance). Check your logs:
    dmesg | grep clm_blob
    If it's failing, remove the specific blob so the driver falls back to the default:
    sudo rm -v /lib/firmware/brcm/brcmfmac43430-sdio.raspberrypi,3-model-b.clm_blob
    Back up files before you delete them.
  • Pi Zero 2 W: the stealth pick. Low power draw makes it a great candidate for this. But it's sensitive to kernel header mismatches. If dkms fails to compile during install, run sudo apt install -y kalipi-kernel-headers so your build environment matches your running kernel.

Pro tip: managing interference

The number one reason monitor mode fails isn't the driver — it's NetworkManager trying to help. It sees the interface go down, decides to "fix" it by resetting it, and kills your monitor session.

Before a serious session, kill the interfering processes:

sudo airmon-ng check kill

And to get normal internet back when you're done:

sudo service NetworkManager start

It's rare that we get to delete hardware from the kit instead of adding to it. Enjoy the cleaner setup.

Sources

Comments