Installation & TETRA decoder projects
RTL-SDR v4 driver installation (Zadig/WinUSB), setting up SDR++, cropinghigh sdrpp-tetra-demodulator step by step, SDR-Trunk, Telive-2, GopherTrunk — all tools compared.
⚠ Legal notice
The software described here can technically decode TETRA signals. Applying it to the German emergency-services digital radio (380–400 MHz) is, under TKG §148, a criminal offence. This guide is for technical education, your own systems and legal use cases.
RTL-SDR v4 — driver installation (Windows)
1
RTL-SDR v4 not yet NOT plugged in
2
Zadig download: zadig.akeo.ie
3
Plug in the RTL-SDR v4 via USB
4
Zadig as Administrator launch → Options → List All Devices
5
Select the device:
Bulk-In, Interface (Interface 0) or RTL2838UHIDIR6
Target driver:
WinUSB select (NOT libusbK)7
Click "Install Driver" → wait until Driver Installation: SUCCESS
RTL-SDR v4 note: If Zadig shows two entries (Interface 0 and Interface 1), only switch Interface 0 to WinUSB. Interface 1 is for GPIO functions.
RTL-SDR blacklist (Linux)
# blacklist the kernel driver (prevents conflict with librtlsdr):
echo 'blacklist dvb_usb_rtl28xxu' | sudo tee /etc/modprobe.d/blacklist-rtl.conf
echo 'blacklist rtl2832' | sudo tee -a /etc/modprobe.d/blacklist-rtl.conf
sudo modprobe -r dvb_usb_rtl28xxu 2>/dev/null || true
# test whether the RTL-SDR is detected:
rtl_test -t
# expected output: "Found 1 device(s)"
Install SDR++ (Linux)
# Ubuntu 22.04 / Debian 12:
sudo apt install librtlsdr-dev libfftw3-dev
# prebuilt .deb from GitHub Releases:
wget https://github.com/AlexandreRouma/SDRPlusPlus/releases/latest/download/sdrpp_ubuntu_jammy_amd64.deb
sudo dpkg -i sdrpp_ubuntu_jammy_amd64.deb
sudo apt install -f
# start:
sdrpp
TETRA decoders — which tool for which purpose?
| Project | Difficulty | Platform | Strength | Weakness |
|---|---|---|---|---|
| GopherTrunk | Very easy | Win/Linux/macOS/Pi | One binary, no dependencies | Browser console in development |
| OpenEar | Easy | Win/Linux | TETRA/DMR/P25 in one GUI | Less TETRA depth |
| cropinghigh sdrpp-tetra | Medium-high | Linux (WSL) | Cleanest DSP signal chain | Compiling, Linux-native only |
| SDR-Trunk | Fair | Win/Linux/macOS | Multi-protocol, GUI, multiple dongles | TETRA experimental, needs Java |
| Telive / Telive-2 | High | Linux | Dedicated TETRA, proven | Complex installation, needs GNU Radio |
GopherTrunk — the quickest start
# Linux/macOS — a single binary, no dependencies:
chmod +x gophertrunk
./gophertrunk --device rtlsdr --frequency 385000000
# Windows:
gophertrunk.exe --device rtlsdr --frequency 385000000
# browser console: http://localhost:8080
# supported protocols: P25 Phase 1+2, DMR, TETRA, NXDN,
# Motorola Type II, EDACS, LTR, MPT1327, dPMR, D-STAR, YSF
cropinghigh sdrpp-tetra-demodulator (Linux)
The technically cleanest plugin for SDR++. It implements the full DSP signal chain: AGC → FLL → RRC filter → timing recovery → Costas loop → symbols → differential decoder → osmo-tetra.
1
Dependencies:
sudo apt install build-essential cmake libvolk2-dev libtalloc-dev pkg-config2
Install SDR++ (see above)
3
Clone the repository:
git clone https://github.com/cropinghigh/sdrpp-tetra-demodulator.git4
Patch the ETSI codec:
cd src/decoder/etsi_codec-patches && chmod +x download_and_patch.sh && ./download_and_patch.sh5
Compile:
cd ../../.. && mkdir build && cd build && cmake .. && make -j$(nproc) && sudo make install6
In SDR++: Module Manager → tetra_demodulator → + → give it a name → the plugin appears in the panel
7
Drag the VFO to the centre of the signal → watch the constellation diagram → 4 clear dots = synchronisation
Interpreting the constellation diagram
| Appearance | Meaning | Action |
|---|---|---|
| 4 clearly separated dots | Perfect synchronisation | None — keep watching |
| 4 dots slightly widened | Slight noise | Increase gain slightly |
| 4 dots rotating | Frequency offset, FLL not yet settled | Wait 5–10 seconds |
| Diffuse cloud | Signal too weak (<20 dB SNR) | Improve the antenna |
| Only 2 dots | No TETRA on this frequency | Look for another frequency |
SDR-Trunk
📺 SDR-Trunk + RTL-SDR on Windows 11 — January 2026, current
(Java, multi-protocol)# install Java 21+: adoptium.net
# download the SDR-Trunk release: github.com/DSheirer/sdrtrunk/releases
# Windows: run bin\sdr-trunk.bat
# Linux: run bin/sdr-trunk.sh
# for TETRA: Playlist Editor → Create System → Protocol: TETRA
# enter the control-channel frequency manually
# 2x RTL-SDR v4 recommended (control + voice channel)
Complete checklist: RTL-SDR v4 + antenna → Zadig/blacklist → test SDR++ (FM radio) → the TETRA tool you want (table above) → legal test frequency or your own system → observe the legal limits
Next: amateur radio licence →