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.
Last week we posted about the release of a new TETRA decoder plugin for SDR#. The plugin made setting up a TETRA decoder significantly easier compared to previous methods, but it still required the installation and use of the MSYS2 environment on Windows.
Thanks to reader Zlati for letting us know that the TETRA plugin has recently been updated once again and now no longer requires MSYS2 to be installed first. Now it is as easy to install as any other plugin, just drop the .dlls into the SDR# folder and add the magicline to the plugins.xml file. We tested it out and decoding worked fine. At the moment the "Net info" button is not working however.
Back in 2016 cURLy bOi released a Windows port of the Linux based "Telive" TETRA decoder. Now the latest development in TETRA decoders is that a TETRA decoder plugin for the SDR# software has been released. This makes setting up a TETRA decoder significantly simpler than before.
Installing the plugin is a little more difficult that usual, as you first need to install MSYS2 which is a compatibility layer for Linux programs. The full installation instructions are included in the README.TXT in the zip file. One clarification from us: you need to copy the files in the msys_root/usr/bin folder from the zip file into the /usr/bin folder that is in your MSYS2 installation directory.
We tested the plugin and found it to work well without any problems. With the plugin turned on you just need to simply tune to a TETRA signal in WFM mode, and you will instantly be decoding the audio.
TETRA is a type of digital voice and trunked radio communications system that stands for “Terrestrial Trunked Radio”. It is used heavily in many parts of the world, except for the USA. If you have unencrypted TETRA signals available in your area then you can listen in on them with an appropriate SDR like an RTL-SDR and decoder software like the aforementioned plugin.
Over on YouTube use radiosification has uploaded a video showing the Windows TETRA decoder ‘wintelive’ in action. Wintelive is a Windows port of the popular RTL-SDR compatible Linux based ‘telive’ TETRA decoder. Back in October 2016 we posted about its release and we have a tutorial for telive and the RTL-SDR available here.
TETRA is a type of digital voice and trunked radio communications system that stands for “Terrestrial Trunked Radio”. It is used heavily in many parts of the world, except for the USA. Telive is a decoder for TETRA which is compatible with RTL-SDR dongles, and has been around and in use for almost 2 years now. If you have unencrypted TETRA signals available in your area it can be used to listen in on them.
However, now a TETRA experimenter by the handle of “cURLy bOi” has released a new prototype of a telive modification that works on Windows systems. It makes use of the GNU Radio for Windows development. The telive Windows file can be downloaded from curly’s webserver. His reademe file shows how to install and use the software and it reads:
This has been put together as lowest-effort configuration to run telive on Windows system. I have also optimized to process (for example adding the CQPSK block to GRC since the python code in the original telive package is IN FACT some unused part of GNU Radio)
Warning: ——— This package contains pre-compiled binaries that work on my 64-bit system. I have compiled them inside the M-SYS2 package. If you don’t trust me, you can follow the installation guide from telive docs, just be prepared you are going to need a lot of packages for the M-SYS2 (pacman -S gcc automake git wget, etc.)
Install: ——— 1) Download GNU Radio for Windows from http://www.gcndevelopment.com/gnuradio/downloads.htm and install 2) Copy contents of gnuradio_mod to c:\Program Files\GNURadio-3.7\ 3) Download and install M-SYS2 from https://sourceforge.net/projects/msys2/ and install 4) Copy contents of msys_root to your M-SYS2 installation directory 5) Download FFmpeg for Windows (64-bit Shared) from https://ffmpeg.zeranoe.com/builds/ and extract everything from bin to usr\bin in your M-SYS2 installation directory 6) In M-SYS2 shell execute “pacman -S socat” 7) Get GNU Radio Companion (GRC) projects from original telive package at https://github.com/sq5bpf/telive/tree/master/gnuradio-companion (only udp or xmlrpc, pipes won’t work) 8) Open whatever GRC project you want to use and edit it: – Delete the link between (all) Fractional Resampler and UDP Sink – From the modules on the right (ctrl-f to search) drag CQPSK Demod to project (If you don’t see CQPSK Demod then you have messed up #2) – Connect Fractional Resampler -> CQPSK Demod -> UDP Sink – Change UDP Sink Input Type to Float in its properties – Save
Use: —— 1) Open GRC project of your choice (already with the CQPSK Demod box) 2) Use the Project/Execute to run the project from the GRC – OR – If you had headless (without GUI) project, use Project/Generate option to generate top_block.py file in the GRC project directory. Then open GNURadio Command Prompt from Start menu, the use this command c:\Program Files\GNURadio-3.7\gr-python27\python.exe -u c:\path\to\grc\project\top_block.py This will enhance performance. 3) Open new M-SYS2 shell for every channel in that project and execute command “receiver1udp X” where X is the number of each channel in GRC project 4) Open new M-SYS2 shell, resize it to 203×60 and execute: – cd /tetra/bin – ./rxx OR ./rxx_xmlrpc (if you are using XMLRPC GRC project) You can edit these files to match your preferences 5) That’s it, should work.
Note that we have not tested this out ourselves yet and can’t guarantee the file safety or that it works, but we have no reason to believe that it wouldn’t be safe or not work.
Network transparency. Process the data remotely and send to the client only waterfall pixels and filtered narrowband channels instead of the entire SDR baseband. With this, you can use the SDR remotely over WAN.
Multiple demodulators running at once. How the hell can this be missing?
History browsing. It happens to me all the time: I see a new station scrolling on the waterfall. Before I manage to tune to it, it disappears (or at least the callsign is over). I have 8 GB of RAM, so why can’t I store the last minute of the entire SDR baseband for future reference?
Pluggable demodulators. Why is it so much pain to add GSM, Tetra, Tetrapol and other modes to existing software? I just want to provide a binary and have the data piped to stdin.
Squelch sucks. The squelch should not care about absolute signal level, but about level relative to surrounding channels. Additionally, it should have hysteresis and a small buffer, so when it triggers, it correctly replays the beginning of the conversation. Oh, and when recording, the squelch should timestamp the parts of conversation.
Histogram. It is difficult to see clipping on the FFT output. Why don’t we have histogram of samples?
Scanner. Both for automatic demodulating all peaks in the spectrum and for retuning the SDR and finding stations. Even the crappiest rtl-sdr has 2 MHz bandwidth and can retune in 50 ms. This means 1600 channels per second. Compare this with commercial scanners.
At the moment one interesting plugin for Kukuruku is the TETRA plugin. The plugin appears to use tetra-listener and TERAPOL-kit as the demodulators, and simply passes the signal data to them for decoding and audio output.
The installation instructions can be found on the user guide. So far we unfortunately haven’t been able to install and test the software due to several compilation errors occurring, so if anyone tries this out and gets it to work, please post any installation tips in the comments.