Hello,
I have been trying to get my brand new nRF52840 Dongle working as an 802.15.4/Zigbee sniffer, but I am not able to capture any packets, even though the interface is detected and responsive. Here are the details of what I have done and tested:
Setup & Steps Taken
-
Followed the official guide: Installing nRF Sniffer for 802.15.4
-
Flashed
nrf802154_sniffer_nrf52840dongle.hexfrom the official GitHub repository: Nordic nRF-Sniffer-for-802.15.4 to my nRF52840 Dongle (PCA10059). -
Placed
nrf802154_sniffer.pyin Wireshark’s extcap plugin folder.
Interface Detection
When running from the terminal:
./nrf802154_sniffer.py --extcap-interfaces
extcap {version=0.8.0}{help=https://github.com/NordicSemiconductor/nRF-Sniffer-for-802.15.4}{display=nRF Sniffer for 802.15.4}
interface {value=/dev/cu.usbmodem11201}{display=nRF Sniffer for 802.15.4}
control {number=6}{type=button}{role=logger}{display=Log}{tooltip=Show capture log}
Wireshark behavior:
-
When running Wireshark with sudo (as mentioned in GitHub issue #68), the interface appears, and I can start a capture.
-
Without sudo, the interface does not appear in Wireshark.
pySerial detection:
/usr/bin/python3 -m serial --- Available ports: --- 1: /dev/cu.Bluetooth-Incoming-Port 'n/a' --- 2: /dev/cu.debug-console 'n/a' --- 3: /dev/cu.usbmodem11201 'nRF 802154 Sniffer'
When I send the 'channel' command to /dev/cu.usbmodem11201, it correctly returns the last configured channel (e.g., 11). When I send the 'receive' command no packets caputerd.
Networks Tested
-
Zigbee2MQTT network on channel 11
-
Philips Hue network on channel 15
-
I am certain these channel settings are correct.
-
No packets are captured on either network.
Traffic Verification
-
I have triggered heavy traffic on both networks (turning lights on/off, pressing buttons on temperature sensors, toggling power switches, etc.).
-
Zigbee2MQTT logs show that devices are reporting as expected.
Other Information
-
The sniffer is not in bootloader mode (LED blinks slowly green when idle, blinks faster when capture starts).
-
Tested on:
-
macOS 15.5 (24F74)
-
Windows 11 Pro
-
-
On both OSes:
-
The interface is detected
-
I can communicate with it via pySerial
-
But no packets are ever captured
-
-
Wireshark version: 4.4.8 (v4.4.8-0-g0d289c003bfb)
-
Tried reconnecting/replugging the dongle multiple times on both OSes.
-
Same result every time: interface visible, capture starts, but no packets arrive.
Question
Given that:
-
The firmware and extcap script match (v0.8.0)
-
The interface is detected and responds to commands
-
The dongle’s LED activity changes when capturing
-
Traffic is definitely present on the selected channel
…what could prevent the sniffer from actually receiving any 802.15.4 packets? Is there any known issue with v0.8.0 on the nRF52840 Dongle in promiscuous mode, or any additional configuration needed?
Thanks in advance for any guidance.