Wavelens

Works anywhere in the world · follow your local laws

What the journal is telling you: a field guide to the bridge's log

31 Oct 2026 · 8 min read · troubleshooting · journal · dsd-fme · rtl_tcp

sudo journalctl -u wavelens-bridge -f on the Pi, or just scroll to the bottom of the Alerts tab in the app: the same lines. They come from the bridge itself (bridge:), from the tools it runs (rtl_tcp:, dsd-fme:, rtl_power:, rtl_433:) and from the journal's own timestamps.

Normal

LineMeaning
bridge: hardware: 2 RTL-SDR (00001090: sensors, 00000978: listen) · no HackRFThe USB inventory at connect. Printed whenever it changes.
bridge: control-channel hunt: 800 MHz (sweep, 3 passes): 18 steady — …Steady carriers found; the scanner is about to rank and try them.
dsd-fme: Sync: +P25p1 NAC/CC: 800; TSBKLocked on a control channel. TSBK = control traffic.
dsd-fme: Sync: +P25p1 … LDU1 / HDUVoice frames: a call is playing.
bridge: listen: 856.9625 MHz quiet for 5 s; next system …Scanner rotation. HOLD stops it.
rtl_tcp: Signal caught, exiting! / dsd-fme: Exiting.A retune. The tools are restarted per frequency; this is every hop.
bridge: hackrf_sweep paused while digital voice is decodingBy design: USB and CPU for the decoder.
dsd-fme: Encrypted Group Voice Channel GrantAn encrypted call the decoder correctly didn't tune.

Problems, and the fix

LineWhat's wrong
rtl_fm: usb_claim_interface error -6Another process has the dongle — usually the sweep that hadn't finished exiting, or dump1090 on the wrong stick. The bridge now frees the dongle itself (TERM, then KILL, then a USB reset via sysfs). If it persists, pgrep -a rtl_ and look for a stray.
dsd-fme: Base Frequency Not Found - Iden [0], repeatingdsd-fme is on a voice channel, not the control channel, waiting for a channel map. The bridge treats P25p1-with-voice-and-no-TSBK as a voice channel and moves on. If you tuned it by hand, pick a different carrier.
rtl_power: [R82XX] PLL not locked!Tuned outside the tuner's range (below 24 MHz, or a direct-sampling attempt). Harmless once; constant means a bad range in --rtl-power.
bridge: rtlpower: 9 bands rose together; … receiver overloadA very strong local transmitter (or you drove past a tower). The bridge discards the pass. Frequent at one spot → lower the sweep gain.
bridge: rtl_433 exited 1 s after start (no sensor dongle?)The sensor dongle isn't there or is held. The bridge carries on without TPMS; check the hardware line and the power supply.
hackrf_sweep: hackrf_open() failed: HackRF not found (-5)Unplugged, or sitting in the PortaPack menu. The bridge now waits for it quietly; if you removed the HackRF on purpose, nothing to do.
dsd-fme: Failed to connect to rtl_tcp serverUsed to be every tune (dsd-fme started before rtl_tcp was listening). Now the bridge waits for rtl_tcp's "listening…" first; seeing it means rtl_tcp itself failed to open the dongle — look just above for why.
No audio, journal fine, trunked call: TG … · mutedNot a fault: the PUBLIC SAFETY/FIRE/EMS filter or a TG lock muted that call. Tap the category again to hear everything.

When you send us a log

The Alerts tab's journal is enough in nearly every case. Long-press it to copy, or on the Pi: sudo journalctl -u wavelens-bridge -n 300 --no-pager > bridge.log. It contains frequencies and talkgroup numbers and the dongle serials — nothing about you. Email it with what you expected to hear.

Rather not build it?

Spotter $64 · Full Spectrum $499: the builds on this blog, programmed and tested, set up for where you drive, with free updates for life. The guides stay here, free, if you change your mind.

Shop Join the free Android beta

Open firmware and bridge on GitHub · receive only · every command on this blog is copied from a Pi we run

Next: How to check your car for a hidden tracker: what a phone scan finds, and what only your hands will · all articles