Skip to content

Instantly share code, notes, and snippets.

@Rotron
Created February 11, 2019 15:06
Show Gist options
  • Save Rotron/0ec632e326a526c11c5a1dc8ddf2ed69 to your computer and use it in GitHub Desktop.
Save Rotron/0ec632e326a526c11c5a1dc8ddf2ed69 to your computer and use it in GitHub Desktop.
telive
Once you have found some TETRA signals, record their frequencies. Now close SDR#, or whatever software you were using and boot into Linux. In this tutorial we use a 32-bit Ubuntu 14.04 virtual machine running on VMWare Player as our Linux system. Some of the commands may vary if you are using a different system.
Install the software
Note: There is now a telive live Linux image available. This will allow you to boot via a USB drive straight into a Linux OS with telive preinstalled. If you want the easy way out, or have trouble with the install script below, then try this image.
Note 2: As of October 2016 there is now a Windows port of the Telive decoding software available. This may be an option for you if you prefer to run in Windows. More information here.
This install script will automatically download the software and all the required prequisites including the RTL-SDR drivers. If you have problems consult the documentation or try a manual install. Instructions for the manual install are shown at the end of this post.
sudo wget https://raw.githubusercontent.com/sq5bpf/telive/master/scripts/install_telive.sh
sudo chmod 755 install_telive.sh
./install_telive.sh
Running the Software
Open a terminal window and browse to ~/tetra/osmo-tetra-sq5bpf/src and run ./receiver1 1.
cd ~/tetra/osmo-tetra-sq5bpf/src
./receiver1 1
Open a second terminal window or tab and open a specially sized xterm window using the following.
/usr/bin/xterm -font fixed -bg black -fg white -geometry 203x60
In the xterm window, browse to ~/tetra/teliveand run ./rxx.
cd ~/tetra/telive
./rxx
Open another terminal window or tab and browse to /tetra/bin and run ./tetrad.
cd /tetra/bin
./tetrad
Open another terminal window or tab and open GNU Radio Companion by typing the following.
gnuradio-companion
In GNU Radio open the telive_1ch_simple_gr37.grc file which is found in ~/tetra/telive/gnuradio-companion.
Execute the flowgraph by clicking on the play button icon on GNU Radio Companion toolbar.
At the bottom of the screen that pops up look for the Frequency: text box and enter the centre frequency of the TETRA signal that you want to monitor. You can also click on the centre of the TETRA signal spikes in the Full Spectrum view to tune to a different signal.
Enter the PPM offset of your RTL-SDR dongle in the ppm: text box.
Finally adjust the SDR Input Gain setting for best reception.
Telive Receiver Window
Telive Receiver Window
At this point you should confirm that you see a strong rectangular TETRA signal in the FFT window that pops up. If you do, switch back to your first terminal window where you ran ./receiver1 1. You should confirm that you see system data scrolling by. If there is no data scrolling by, try adjust the gain and PPM offset in the FFT window.
If data is scrolling and the system is not encrypted you should start to hear voice audio. If a system is capable of encryption, the terminal window with the system data will show Air encryption: 1. However, note that even if it shows this, there is still a possibility that encryption has not been enabled.
Note that for a one channel receiver the frequency you tune to should be a control channel. The control channel frequency is the frequency shown in the top row of the Telive window in the green bar next to the word "Down:". By pressing "t" (lower case T) in the Telive window you can toggle between the usage identifier window and the frequency info window. By looking at the frequency info window you can find neighbour networks.
If you want to log all voice communications you can by pressing "shift+R" (upper case R) in the telive window. This will log .ogg audio files to /tetra/out. You can also enable a text log by pressing "l" (lower case L) which will to /tetra/log/telive.log. More options can be found by entering ? (question mark).
Telive is also capable of decoding SDS messages, which are used to send short text messages or radio locations. If the TETRA system you are monitoring does send radio locations via SDS, then these can be automatically exported to a KML file which is stored at /tetra/log/tetra1.kml. If you open example_google_earth.kml, then Google Earth will periodically read from /tetra/log/tetra1.kml and give you an updated map of location. You can also set the TETRA_KML_INTERVAL environment variable which defines how often the location file will update. The default is 30s, but be aware than decreasing the time can slow your system down.
If you happen to close the GNU Radio FFT window and want to run the program again, you will need to restart the ./receiver1 1 program in the first terminal window.
To see how to monitor two or four TETRA channels simultaneously, refer to the telive_doc.pdf PDF file.
TETRA Decoding Windows
TETRA Decoding Windows
Listening in to TETRA radio
OLD MANUAL INSTRUCTIONS
Don't use these instructions unless you cannot use the automatic script install for some reason.
Install the RTL-SDR Linux Drivers
If you haven't done so already, follow the instructions at http://sdr.osmocom.org/trac/wiki/rtl-sdr to install the Linux RTL-SDR drivers. Remember to blacklist the DVB-T drivers on Linux.
Install Prerequisites
sudo apt-get update
sudo apt-get install vorbis-tools
sudo apt-get install sox
sudo apt-get install alsa-utils
sudo apt-get install libncurses-dev
Note that if you use a different Linux OS, then some users have reported needing to also install the following extra dependencies:
sudo apt-get install git-core autoconf automake libtool g++ python-dev swig libpcap0.8-dev
sudo apt-get install cmake git libboost-all-dev libusb-1.0-0 libusb-1.0-0-dev libfftw3-dev swig python-numpy
Install GNU Radio 3.6
The TETRA decoding software requires installation of the older GNU Radio 3.6 (latest version is 3.7). The easiest way to do this is to run Marcus Leech's install script with the -o flag, to indicate that you want the old version:
cd ~
wget http://www.sbrac.org/files/build-gnuradio && chmod a+x ./build-gnuradio && ./build-gnuradio -o
This script will run for a few hours and should install GNURadio 3.6 and all the drivers required to run the RTL-SDR on Linux. Note that if you already have GNU Radio 3.7 installed, we recommend installing 3.6 on a fresh Linux install as the two versions many conflict.
Install libosmocore-sq5bpf
cd ~
git clone https://github.com/sq5bpf/libosmocore-sq5bpf
cd libosmocore-sq5bpf
autoreconf -i
./configure
make
sudo make install
sudo ldconfig
Install osmo-tetra-sq5bpf
cd ~
git clone https://github.com/sq5bpf/osmo-tetra-sq5bpf
cd osmo-tetra-sq5bpf
cd src
make
Install telive
cd ~
git clone https://github.com/sq5bpf/telive
cd telive
make
sudo mkdir /tetra
sudo chown YOURUSER.YOURGROUP /tetra
sh install.sh
Where YOURUSER.YOURGROUP should be replaced with the username and group that you are currently logged in to on your Linux system. In most cases it can just be YOURUSER.YOURUSER. Run ls -l in your home directory to see what username and group your files are using.
Install the TETRA Codecs
Note that if you are running a 64-Bit Linux version you will need to set your system to use a 32-bit compiler. The Appendix of the telive_doc.pdf file shows how to do this.
Go to http://pda.etsi.org/
In the top right enter as a search term "en 300 395-2" and click the button to select Search Standards.
Start the search.
Find the search result labelled as REN/TETRA-05059.
Click on the winzip icon (looks like a white page with a yellow file cabinet on it) to the right of the result to download en_30039502v010301p0.zip.
Move this zip file into ~/osmo-tetra-sq5bpf/etsi_codec-patches.
In a terminal browse to ~/osmo-tetra-sq5bpf/etsi_codec-patches.
Unzip the file, making sure to unzip with lower case letters by using the following unzip command.
unzip -L en_30039502v010301p0.zip
Use the codec.diff file to patch the codec files you just unzipped by typing the following patch command.
patch -p1 -N -E < codec.diff
Open the c-code folder.
cd c-code
Run make to compile the codecs.
make
Copy the compiled files cdecoder and sdecoder to /tetra/bin by typing the following, or just by copy and pasting them in the Linux GUI.
cp cdecoder sdecoder /tetra/bin
https://www.rtl-sdr.com/rtl-sdr-tutorial-listening-tetra-radio-channels/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment