What the journal is telling you: a field guide to the bridge's log
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
| Line | Meaning |
|---|---|
bridge: hardware: 2 RTL-SDR (00001090: sensors, 00000978: listen) · no HackRF | The 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; TSBK | Locked on a control channel. TSBK = control traffic. |
dsd-fme: Sync: +P25p1 … LDU1 / HDU | Voice 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 decoding | By design: USB and CPU for the decoder. |
dsd-fme: Encrypted Group Voice Channel Grant | An encrypted call the decoder correctly didn't tune. |
Problems, and the fix
| Line | What's wrong |
|---|---|
rtl_fm: usb_claim_interface error -6 | Another 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], repeating | dsd-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 overload | A 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 server | Used 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 … · muted | Not 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