Back in March we posted about the release of OpenEar, a standalone TETRA decoder for the RTL-SDR. Since then OpenEar has undergone massive developments, not only improving upon the TETRA decoder, but adding DMR, ADS-B and POCSAG decoders as well as a waterfall display.
Recently Tech Minds reviewed this software on his YouTube channel. In the video he shows how to download the software, install the rtlsdr.dll file, and run and use the software. He then demonstrates reception of an amateur radio DMR repeater, reception of POCSAG pager messages and finally reception of ADS-B aircraft messages.
OpenEar Digital Decoder - DMR TETRA P25 ADSB POCSAG RTL-SDR
Thank you to Larry for submitting information about his latest project called TETRA-Kit. TETRA-Kit is an extensible open source TETRA downlink decoder for Linux that makes use of GNU Radio as the first stage, so it should be compatible with any SDR supported by GNU Radio, including the RTL-SDR. Larry writes:
[TETRA-Kit] is inspired by a lot of existing stuff (see 'Previous work' in the project page) but started from scratch with those following ideas:
Stays as close as possible to TETRA specification layers defined in ETSI EN 300 392-2 v3.4.1 (2010-08)
Transmit downlink informations (including speech frames) in Json plain text format to be recorded or analyzed by an external program
Reassociate speech frames with a simple method based on associated caller id and usage marker (save messages transmitted simultaneously in separated files)
The decoder implements a soft synchronizer allowing missing frames (50 bursts) before loosing synchronization.
It consists in 3 parts:
A physical layer transforming PI/4 DQPSK rf signal to bits (RF frontend is NESDR at 2MBPS)
A decoder, which is the actual TETRA stack reading bits and transforming it to Json text
A recorder, which read Json stack output and reorder speech frames into separate files
The ETSI codec is also provided so unencrypted speech can be played.
Software is written in C++ and licensed under GPLv3 and use few external softwares with compatible licensing.
TETRA is a type of digital voice and trunked radio communications system that stands for “Terrestrial Trunked Radio”. It is used in many parts of the world, but not in the USA.
The RTL-SDR compatible multi-mode digital decoder OpenEar has recently been updated to version 1.6. The latest version currently supports the decoding of FM/AM, TETRA, DMR, Pocsag and ADS-B. New features include a zoomable waterfall and other GUI and functionality improvements. The changelog reads:
6/4/2020 version 1.6.0 - saving last settings - waterfall - zoom on spectrum and waterfall with mouse wheel - better list placement (pocsag & ads-b) - wav(I/Q) loading (only 1024000 Sample/sec) - voice volume & mute button - spectrum range and offset - rtl gain and correction (ppm) - top menu - frequency list - some DMR improvement on SYNC detection - solved center frequency issue (DC problem) - and other few UI improvements
Back in March we posted about "OpenEar" which was a newly released Windows TETRA decoder for RTL-SDR dongles. Back then the author "moneriomaa" noted that he planned to add several new modes. In the release that is currently available, OpenEar now supports TETRA, DMR, Pocsag, ADS-B as well as standard AM and NFM modes. We tested the software, and all modes appear to decode as advertised. In the future the author plans to add more modes such as MPT-1327 and AERO.
In the previous post we added an update noting that OpenEar appeared to be violating the GPL licence of OsmocomTETRA, and the author noted that he would remove the TETRA functionality until licencing was resolved. As TETRA decoding is back in the recent releases we assume these legal issues have been solved.
In the current release you also need to provide your own rtlsdr.dll file, which can be obtained from your SDR# folder, or directly from the Osmocom windows release (rename librtlsdr.dll to rtlsdr.dll).
A new TETRA voice decoder called "OpenEar" has just been released. The program is a standalone Windows app that directly connects to an RTL-SDR. Decoding a TETRA voice signal is as simple as opening the program, tuning to the TETRA frequency and clicking on the signal. With good signal strength voice comes through very clearly. CPU usage on our PC is also minimal.
The program source is currently not available as the author notes that he only intends to release it as open source in the future once the project is completed, and right now this is only the first early release. Right now the program is just an .exe with a few .dlls. You'll need to first install the Microsoft Visual C++ Redistributable Package linked in the Git readme. Just in case, we virus scanned the exe and tested the program in Sandboxie. It appears to be clean, and it works as intended.
In the future the author hopes to support many more protocols such as DMR, MPT1327, ACARS, AIR, GSM and more. In order to support his work he is asking for Bitcoin donations, and the donations link can be found on the Git readme.
UPDATE 1: If you're getting missing dll errors and you already installed the Visual C++ Redistributable, try downloading the missing dll's from dll-files.com. There should only be about 5 missing.
UPDATE 2: As pointed out in the comments by Steve M. from Osmocom, this software may be in violation of several GPL licences as no source code has been released and it appears to rely on GPL code and libraries. Please take this into account.
UPDATE 3: As per update 2, the author has decided to temporarily disable the TETRA functionality pending a rewrite of the code that he will complete within one to two months). Instead he has added DMR decoding.
Vasilli has recently released the SDR# TETRA plugin on his website RTL-SDR.RU (note that the site is in Russian, but can be translated with the Google Translate option in the top right of the page). Previously it was only available via ever changing forum links, so it's good to see that it has a permanent home now for the latest version. This plugin allows you to listen to TETRA digital voice via SDR#, without needing to set up any complicated GNU Radio based receivers which were necessary in the past.
The features include (note Translated from Russian):
Receiving a signal from the BS band 25kHz and modulation Pi / 4-DQPSK;
Automatic adjustment of the reception frequency;
Displays information about the BS;
Displays ISSI, GSSI subscribers in the channels (for open channels only);
Displays a service exchange network (for open channels only);
It allows you to listen to the channels in manual or automatic mode selection (only open channels);
It allows to filter and distribute the listening priority specified for groups (GSSI);
It displays a message with the location (just a short message format)
The current features not yet implemented are:
And listen to correctly display any encoded information in a network;
Display SDS type 4 (short messages);
Record audio from the channels (menu added, but does not work);
We also note that as discussed in a previous post there is a companion program for this plugin called TETRA Trunk Tracker.
Over on our forums user thewraith2008 has just released news about his new software called TETRA Trunk Tracker. The software works in conjunction with the TETRA demodulator plugin for SDR#. It works by using two dongles, one to monitor a TETRA trunking channel, and the other to decode voice audio, although a single receiver mode is also available which works with a reduced and fixed bandwidth.
The post reads:
TETRA Trunk Tracker will follow calls on a TETRA network.
TETRA Trunk Tracker reads DATA that is output from the SDR# plug-in TETRA Demodulator (by TSSDR) via the 'Network Info' calls log window.
It interprets this DATA to determine when a call is set-up, then instructs SDR# (VC) to move to the carrier (frequency) that the call will be on.
It will also watch out for other PDUs to determine when a SSI starts or completes transmissions and when calls are complete (Released).
A basic call recording (All or Selective call recording).
Display current call details with list of seen SSIs for that call. (SSI populate as they TX).
GSSI holding - will only allow calls with selected GSSI to be heard.
Call lockout based on GSSI. Can be unchecked in list to lockout GSSI.
Call Priority. (Only normal version)
GSSI weighted 0-9, 9 is highest. If on active call and other call event occurs, if new call has higher
priority then will switch to it.
Collect/Save all seen GSSIs with Labels and Priority, By Network.
Collect/Save seen SSIs with Labels and Last seen Date/Time, By Network.
Set a call time-out. Returns to idle state if call does not see a release PDU after X time in seconds.
Log call events to screen and file, if enabled.
Log raw CC and VC PDU messages as seen by the 'TETRA Demodulator' plug-in, if enabled.
Log GSSI daily call activity. (Simple version does not play calls when this is selected)
Set base frequency via UI.
Set CC park carrier # via UI.
Set VC park carrier # via UI.
Suppress some PDUs. (unchecked is mainly for testing only)
Suppress lockout messages.
Sort SSI and GSSIs/Lockouts (by GSSI). This only occurs on start-up.
Country Code label, defined via file (shown as menu item)
Network label, defined via file (shown in tool tip where MNC,LA is in 'Call Details' panel)
Location Area label, defined via file (shown in tool tip where MNC,LA is in 'Call Details' panel) Only shown when Network label used.
Ignores Encrypted PDUs (with no reference to them)
Set a seen GSSI priority via UI.
Update a seen GSSI/SSI label via UI.
Call active indicator.
Restore SDR# windows to a defined position.
If the TETRA Demodulator does not work for you this program will do nothing to change that.
This is the third release of this program. (TETRA Trunk Tracker v0.99.6) And 2nd release for (TETRA Trunk Tracker v0.99.6s - Simple)
Two versions are available:
Normal (Uses 2 SDR# and 2 Dongles) with TETRA Demodulator and Net Remote plug-ins
Simple (Uses 1 SDR# and 1 Dongles with some features not available) with TETRA Demodulator and Net Remote plug-ins
Backup your "Tetra-trunk-tracker.dat" settings file. Then delete "Tetra-trunk-tracker.dat" as it has changed and old one will cause error on load.
Some work as gone into trying to make TETRA Trunk Tracker easier to run once the initial setup has been done.
A MCC (Country Code) label file is included for your convenience "TETRA_mcc.txt".
It has only been tested on Windows 7 - Professional SP1 (32 bit), English
You MUST have a PC that is capable of running SDR# x 2 with the TETRA plug-in. (Not overloaded CPU usage.)
It is in alpha stage. This means is may contain errors that may cause issues with the other programs it works with. i.e. crashing them or itself.
The TETRA plug-in currently been developed by TSSDR is also in early development. Because of this any changes made in plug-in releases most likely will break this program.
I have created it to suit my needs. And it currently works for me with the TETRA network I monitor.
I make no claim that it will work for other networks.
Please read the provided files for set-up and usage:
I have tried to be as thorough as possible with the documentation to explain usage and features. I believe any questions can be answered by reading these files. These files most likely are not complete and contain errors and are not laid out as good as they could be.
It only works with the provided TETRA plug-in supplied in zip. (2018-June-06). This version uses a custom compiled version of 'Net Remote' supplied in zip
It is only meant to be a temporary solution until something better comes along.
In the new version the 'Net Info' button is now functioning and it is possible to see the current calls, groups, and meta information on the current cell and neighbour cell. It also appears that it has been updated to allow for multiple SDR# TETRA decoder instances to be opened simultaneously now for wider band monitoring.