TETRA Decoder Plugin for SDR# Now Available

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.

The plugin doesn't seem to be officially released anywhere, but we did find it thanks to @aborgnino's tweets on Twitter, and he found it on a Russian language radio scanner forum. The plugin is available as a direct download zip from here, but we suggest browsing to the last few posts in the forum thread to find the latest version.

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.

SDR# TETRA Plugin Running
SDR# TETRA Plugin Running

156 comments

  1. Frank

    When I open M-SYS2 shell and execute command “startrx” I get the following error: “C:/msys64/usr/bin/tetra-rx.exe: error while loading shared libraries: msys-osmocore-4.dll: cannot open shared object file: No such file or directory”

    Any ideas? Thx!!!

      • Frank

        I followed all instructions and copied “startrx” and “tetra-rx.exe” to “C:/msys64/usr/bin/”. The following command in “startrx” generates the error: “socat UDP-RECV:20025 STDOUT | tetra-rx /dev/stdin”

        I tested it on two different Win 10 64bit pcs. What is wrong?

  2. Jesse

    For you all having force close problems. When I formatted my windows I only had the x86 VC++ version or x64. YOU MUST HAVE BOTH IN ORDER TO NOT HAVE FORCE CLOSE ISSUES. Please refer and follow strict instructions from friend “YV5CVF” in the comments below.

  3. Pistulka

    As soon as I start Demodulator, SDR# switches in mute mode (SDR# icon)
    I get values in NETINFO, SDS and Other but no voice
    Can anybody help?

    • stef

      Hello,what plugin you are talking about ?
      My config : SDRPLAY RSP1 with sdrsharp 1.0.0.1491 win 7 64bit .
      For me it is not working , when i clic on demodulator sdrsharp crash.
      error in crash.txt file in sdrsharp folder :
      Méthode introuvable : ‘Int32 SDRSharp.Radio.IQFirFilter.Process(SDRSharp.Radio.Complex*, Int32)’.
      at SDRSharp.Tetra.dll.TetraPanel.BufferProcess (IL offset: 0xffffffff)
      at mscorlib.dll.ThreadHelper.ThreadStart_Context (IL offset: 0x14)
      at mscorlib.dll.ExecutionContext.RunInternal (IL offset: 0x79)
      at mscorlib.dll.ExecutionContext.Run (IL offset: 0x0)
      at mscorlib.dll.ExecutionContext.Run (IL offset: 0x2b)
      at mscorlib.dll.ThreadHelper.ThreadStart (IL offset: 0x8)
      .NET , MVC++ 2015 x86 x64 is installed on the computer

    • Tim

      Search for extio, rsp1a, sdr#. It’s a little more than just a plugin. There is a pdf document at sdrplay
      Need to use an older version of #. Perhaps 1361. It does work.

  4. YV5CVF

    After a good couple of fail/try: win10 x64= no problems. Win7 x64 no service pack= really a pain in the… head… even install .net and c++ is really a pain. Win7 x64 sp1= with all steps mentioned later works fine at first try.

    So: use win10 (no need any update) with c++ x64 and x86 or win7 x64 sp1.

  5. dextris29

    Plugin work, but no voice is heard and “Network Info” window is empty, as the network is unrecognized by the plugin.
    Tried 32000/48000 samples rates with WFM/NFM modes.
    Got these bursts in the MSYS2 shell window:

    BURST
    CRC COMP: 0x1d0f OK
    SB1 41/01/4/000 type1: 001000010100000101010010000000010111100010010010100001010001
    TMB-SAP SYNC CC 000101(0x05) TN 00(0) FN 00010( 2) MN 101001(41) MCC 1011110001(753) MNC 00100101000010(2370)
    TMV-UNITDATA.ind 41/02/0/000 BSCH CRC=1 SYNC
    TMV-UNITDATA.ind 41/02/0/000 AACH CRC=1 ACCESS-ASSIGN
    ACCESS-ASSIGN PDU: ACCESS2: B/7 DL_USAGE: Traffic
    CRC COMP: 0x088f WRONG
    TMV-UNITDATA.ind 41/02/0/000 UNKNOWN CRC=0 BROADCAST

    BURST
    CRC COMP: 0x1d0f OK
    SB1 41/02/1/000 type1: 001000010101000101010010000000010111100010010010100001010001
    TMB-SAP SYNC CC 000101(0x05) TN 01(1) FN 00010( 2) MN 101001(41) MCC 1011110001(753) MNC 00100101000010(2370)
    TMV-UNITDATA.ind 41/02/1/000 BSCH CRC=1 SYNC
    TMV-UNITDATA.ind 41/02/1/000 AACH CRC=1 ACCESS-ASSIGN
    ACCESS-ASSIGN PDU: ACCESS2: B/7 DL_USAGE: Traffic
    CRC COMP: 0x3d30 WRONG
    TMV-UNITDATA.ind 41/02/1/000 UNKNOWN CRC=0 BROADCAST

    BURST
    CRC COMP: 0x1d0f OK
    SB1 41/02/2/000 type1: 001000010110000101010010000000010111100010010010100001010001
    TMB-SAP SYNC CC 000101(0x05) TN 10(2) FN 00010( 2) MN 101001(41) MCC 1011110001(753) MNC 00100101000010(2370)
    TMV-UNITDATA.ind 41/02/2/000 BSCH CRC=1 SYNC
    TMV-UNITDATA.ind 41/02/2/000 AACH CRC=1 ACCESS-ASSIGN
    ACCESS-ASSIGN PDU: ACCESS2: B/7 DL_USAGE: Traffic
    CRC COMP: 0x3d30 WRONG
    TMV-UNITDATA.ind 41/02/2/000 UNKNOWN CRC=0 BROADCAST

    BURST
    CRC COMP: 0x1d0f OK
    SB1 41/02/3/000 type1: 001000010111000101010010000000010111100010010010100001010001
    TMB-SAP SYNC CC 000101(0x05) TN 11(3) FN 00010( 2) MN 101001(41) MCC 1011110001(753) MNC 00100101000010(2370)
    TMV-UNITDATA.ind 41/02/3/000 BSCH CRC=1 SYNC
    TMV-UNITDATA.ind 41/02/3/000 AACH CRC=1 ACCESS-ASSIGN
    ACCESS-ASSIGN PDU: ACCESS2: B/7 DL_USAGE: Traffic
    CRC COMP: 0x1109 WRONG
    TMV-UNITDATA.ind 41/02/3/000 UNKNOWN CRC=0 BROADCAST

    BURST
    CRC COMP: 0x1d0f OK
    SB1 41/02/4/000 type1: 001000010100000111010010000000010111100010010010100001010001
    TMB-SAP SYNC CC 000101(0x05) TN 00(0) FN 00011( 3) MN 101001(41) MCC 1011110001(753) MNC 00100101000010(2370)
    TMV-UNITDATA.ind 41/03/0/000 BSCH CRC=1 SYNC
    TMV-UNITDATA.ind 41/03/0/000 AACH CRC=1 ACCESS-ASSIGN
    ACCESS-ASSIGN PDU: ACCESS2: B/7 DL_USAGE: Traffic
    CRC COMP: 0x250a WRONG
    TMV-UNITDATA.ind 41/03/0/000 UNKNOWN CRC=0 BROADCAST

    • atmel

      You may have a reception problem, or the network is not standard because it’s written CRC COMP: xxxxx WRONG . Maybe there is no voice but only data, or maybe everything is encrypted. If you seee Air encryption: 1 it means the network is encrypted and you can’t receive the data.

      • dextris29

        Managed to decode another network properly.
        It has Air encryption 1 but I do manage to hear voice.
        On the other hand, another notwork I found has this Air encrtption 1 and the sound is garbled so I not sure about the encryption in these systems.
        Guess the original network was not a standart one, which is kind of strange because what other types of TETRA based systems exist.
        Would be glad to figure that one out.

        • atmel

          Air encryption means that encryption is supported by the channel. If it is shared you may have unencrypted data from public transport system and the police use encrypted voice

  6. Jochen brandt

    Now i upgraded to win 10, Msys2 still not working. Error on Crypto engine. same as my win 8.1 and win 7. they are all 64bit systems and all have needed dlls. I have 3 computers and and all have the same errors MSYS2 doesnt work. BUT when i install MSYS2 i286, that will work fine without errors, but do not work to the tetra decoder. I really not understand, while the MSYS2 x64 does not work? Am I mad???

  7. Georg

    hello, I still have problems with Msys2:
    § startrx
    2018/01/31 Time socat [4388] E socket (2, 2, 17): operation not permitted
    getaddrinfo returned zero. Operation not permitted.

    I copied socat manually into msys2 / var / cache / pacman / pkg, and then run pacman -S socat

    what am I doing wrong ?

  8. Jochen brandt

    I have 3 Computer with 64bit OS Win8 or 7. i never can install msys2_x86 64 on all 3 computers. Everytime i got much errors, while installing: Fehler: GPGME error: “Ungültige Krypto-Engine
    Fehler: GPGME error: Ungültige Krypto-Engine
    Fehler: GPGME error: Ungültige Krypto-Engine
    Fehler: Datenbank ‘mingw32’ ist nicht gültig (Ungültige oder beschädigte Datenbank (PGP-Signatur))
    Fehler: Datenbank ‘mingw64’ ist nicht gültig (Ungültige oder beschädigte Datenbank (PGP-Signatur))
    Fehler: Datenbank ‘msys’ ist nicht gültig (Ungültige oder beschädigte Datenbank (PGP-Signatur))”
    (its german).
    The msys2_i386 i can install as well without errors, updates worked and install tetra works fine too! There i only have one error when aktivate the decoder: broken pipe.

  9. YV5CVF

    So: you need to install:

    A 64bits system,

    Latest video drivers,

    .net3.5, 4.0, 4.5, 4.6, 4.6.1… Windows6.1-KB4019990-x64 before .net4.7. All these only for sure (its windows),
    (only if aplicable… win 10 have all)

    Vc++ 2015 x86 and 64,

    Adjust playback device sample rate to 48k,

    In sdrsharp config file (SDRSharp.exe.Config)

    Add magic line in Plugins.xml

    Copy libtetradec.dll and SDRSharp.Tetra.dll to root directory of sdrsharp

    Instal msys2 x86-64!! NEVER l686.

    Copy or merge entire content of USR from zip to msys2 root directory

    Open msys2 console an type ( connected to inet) pacman -S socat… and let finish

    I prefer at this point reboot machine… for shure.

    Now to dance:

    Open msys2 console and type startrx (and hit enter) Nothing happen for now… don´t panic. its normal.

    Open sdrsharp and set NFM and minimun bandwidth to 26khz (26.000) (Each tetra channel is 25khz)

    Tune your favorite tetra frecuency and hit demodulator…

    If you have follow all steps may work at first try.

    I miss something?

  10. Jerzy Szymkiewicz

    I tried all the ways. The same problem every time. At the end I installed the latest SDR # and everything started working!

  11. bibi95

    If your SDRSharp crashes you need to install both VC++ 2015 runtime 32bits and 64bits. If you install only the 64bits version SDR Sharp will crash.

    • Jochen brandt

      you cannot install vcc++ 32bit ond 64bits systems. there i get error message that is impossible, while i have 64bit system.

  12. atmel

    When I run the startrx command, nothing happens, and I don’t see any TETRA plugin in SDR# (i added the magi ic line to the config file) I guess i probably missed something… but i have no idea what… because I’m the only one to have this problem

  13. Shehzad

    Hi All ,
    I followed all the instructions indicated in text fil.
    BUT when I check ( tick ) Demodulator – The SDR sharp Ver 1633 crashes after 2 or seconds.
    I have also pasted the magic line (of text file ) in SDRSharp.exe.Config

    The Crash error is shown below – I seek help & guidance from rtlsdr friends .
    Problem signature:
    Problem Event Name: CLR20r3
    Problem Signature 01: SDRSharp.exe
    Problem Signature 02: 1.0.0.1633
    Problem Signature 03: 5a511137
    Problem Signature 04: SDRSharp.Tetra
    Problem Signature 05: 1.0.0.0
    Problem Signature 06: 5a637fe6
    Problem Signature 07: 2c
    Problem Signature 08: 40
    Problem Signature 09: System.DllNotFoundException
    OS Version: 6.1.7601.2.1.0.768.3
    Locale ID: 1033
    Additional Information 1: 0a9e
    Additional Information 2: 0a9e372d3b4ad19135b953a78882e789
    Additional Information 3: 0a9e
    Additional Information 4: 0a9e372d3b4ad19135b953a78882e789

      • Shehzad

        Hi Bertran
        I see same error when running Ver 1637. ( shown below )
        Laptop is D-630 running Win 7 – Service Pack 1 ( 64 Bit ) , RAM 4 GB – with VC 2015 runtime, Dotnet 4.7

        Problem signature:
        Problem Event Name: CLR20r3
        Problem Signature 01: SDRSharp.exe
        Problem Signature 02: 1.0.0.1637
        Problem Signature 03: 5a675e26
        Problem Signature 04: SDRSharp.Tetra
        Problem Signature 05: 1.0.0.0
        Problem Signature 06: 5a637fe6
        Problem Signature 07: 2c
        Problem Signature 08: 40
        Problem Signature 09: System.DllNotFoundException
        OS Version: 6.1.7601.2.1.0.768.3
        Locale ID: 1033
        Additional Information 1: 0a9e
        Additional Information 2: 0a9e372d3b4ad19135b953a78882e789
        Additional Information 3: 0a9e
        Additional Information 4: 0a9e372d3b4ad19135b953a78882e789

        • Shehzad

          The libtetradec.dll is in the SDR sharp folder But the crash.txt file says :

          Unable to load DLL ‘libtetradec.dll’: The specified module could not be found. (Exception from HRESULT: 0x8007007E)
          at SDRSharp.Tetra.dll.TetraPanel.tetra_decode_init (IL offset: 0xffffffff)
          at SDRSharp.Tetra.dll.TetraPanel.UdpReceiver (IL offset: 0x40)
          at mscorlib.dll.ThreadHelper.ThreadStart_Context (IL offset: 0x14)
          at mscorlib.dll.ExecutionContext.RunInternal (IL offset: 0x79)
          at mscorlib.dll.ExecutionContext.Run (IL offset: 0x0)
          at mscorlib.dll.ExecutionContext.Run (IL offset: 0x2b)
          at mscorlib.dll.ThreadHelper.ThreadStart (IL offset: 0x8)

              • atmel

                There may be two reasons if the sound is not good:
                1)Channel is encrypted. In this case you will see “Air encryption: 1” in the Msys window
                2)RTLSDR might be instable at 3.2Msps I/Q ADC samplerate. Try to reduce the ADC samplerate to 2.4Mspsbor lower and see if it works better
                3)You have to be very well centered on the channel and set the bandwidth to about 18KHz

                • Shehzad

                  I can see Channel is encrypted. In can see see “Air encryption: 1” in the Msys window
                  RTLSDR is set at 2.048 Msps I
                  3)Freq is well centered on the channel and set the bandwidth to about 48KHz
                  4.) Mode is WFM
                  5) Tetra plug in doesnt accept NFM
                  6.) Is there any software to hear encrypted transmission ?

                  • atmel

                    If the channel is encrypted you can’t listen to the channel. Try to find another channel. (TETRA channels have a charecteristic shape and sound when listening it without the plugin). Also try to set the bandwidth to about the width of the channel like you can see in the capture I linked in another post.

                  • brute force

                    6> Totally, the encryption used is TEA1, TEA2, TEA3 or possibly even TEA4 which uses a 128 bit key, but probably only 80-bits of which are used actually protect the data. So all you need to do is to brute force roughly an 80-bit key (1208925819614629174706176 possible keys). So if you cycle through each one and validate that the audio is correct, say at the rate of one key per second, it will only take 38308 trillion years to find the right key. And if it actually is using all 128 bits then add an extra 15 zeros to the time required.

                    But if you feel that you can find a weakness in the algorithm have a look at the original papers documenting the algorithm. I am not saying that there is not a weakness with TEA, just that no one has found one and made that information public.in last quarter of a century.

                    (TEA1) http://www.movable-type.co.uk/scripts/tea.pdf
                    (TEA2) http://www.movable-type.co.uk/scripts/xtea.pdf
                    (TEA3 and TEA4) http://www.movable-type.co.uk/scripts/xxtea.pdf

                  • Graham

                    Having Air Encryption doesn’t necessarily mean you will not hear any voice.. Air Encryption =1 ,means that the network SUPPORTS encryption but each handset needs it enabled also.. I get lots of clear voice on a huge network that has Air Encryption enabled.

  14. Stef

    hello,
    I think i have the same problem like Steve.
    Under sdrshap, when I check ” demudulaor in the TETRA plugin I have the message ” IF samplerate to low change modulation type to WFM or set parameter minoutputsample value = 48000 ”
    I have check WFM in Sdrsharp and I change the audio sampling settings inside windows from 44100 to 48000 but still the same message, anyone found a solution ?
    for information i am in win7 pro 64bit

    • Pierre

      minOutputSampleRate (probably case-sensitive) is a predefined key of a key-value-pair of the SDRSharp config file, SDRSharp.exe.Config. My understanding is that it specifies the IQ Sample Rate that SDRSharp internally delivers to its demodulators.

      • Stef

        hello,I found the line with “minOutputSampleRate”parameter in the sdrsharp.exe.config file .
        The old papareter was 32000, i change it to 48000 but still the same message 🙁
        for information i m using SdryPlay RSP1

  15. Anonymous

    @Stewe – 44800 is the soundcard sampling rate, change your default audio sampling settings inside windows from 44100 to 48000 and restart audio/computer

  16. stewe

    I changed the sampling rate in the combox option of SDRSHARP I tried up to 2.4 MPS but it always tells me error the frqueza must be at least 48000 you have a solution thanks

  17. Jochen brandt

    Hello. After installing MSYS2 64 and copy those tetra root files into the bin-directory, i typed “pacman -S socat”…. it seems all ok. But when i type startrx, i get error: “/usr/bin/startrx: line 12: socat: command not found
    EOF. I tryed to reinstall, but each time the same issue. Someone resolved this?
    Jochen

  18. Graham

    Works great, took all but 2 mins to set up.
    I would like to see the devs put this on something like GitHub so others can contribute and open issues etc.

  19. cya

    It is working I believe. I hear clicks and beeps, distortion, and robot voice stuff, but no normal voice, what is the chance that communication is encrypted?
    I see number of channels, 0 dropped frames and rate is arround 40 kB/s
    Also on Network info screen first line NETINFO has some data all other are empty.

      • cya

        yep, second line explains it all.
        Advanced link: 1
        Air encryption: 1
        SNDCP data: 1
        unknown 0x8: 0
        Circuit data: 0
        Voice service: 1
        Normal mode: 1
        Migration supported: 0
        Cell never uses minimum mode: 1
        Priority cell: 0
        De-registration mandatory: 1
        Registration mandatory: 1
        Tnx anyway but all frq that i was listening to are all encrypted

        • Bertran

          If you see “Air encryption: 0” then the channel is unencrypted. But depending on the country public services like police/fire/ambulance/rescue are typically encrypted and possibly private services like trams or other public transport may not be encrypted.

        • Graham

          Having Air Encryption doesn’t necessarily mean you will not hear any voice.. Air Encryption =1 ,means that the network SUPPORTS encryption but each handset needs it enabled also.. I get lots of clear voice on a huge network that has Air Encryption enabled.

  20. sdrresearch

    I have two PC running windows 8.1 . One PC runs tetra plugin OK , another PC SDR# crashes when clicks demodulator checkbox. I must install all updates , VC2015 runtime, Dotnet 4.6 ,after that tetra plugin runs ok

    • Xavier

      you must change sample rate in option combox of SDRSHARP try up 2.4 MPS. I had same pb it’s solve by this way, but for the moment i havent no clear speaker,, and in net detail i can read all info upside but nothing in different boxes…

      • Jerzy Szymkiewicz

        Thanks but still the same … I try but I do not know where the error may be. I have a working Wintelive but with this plugin I have a problem 🙁

    • D

      More detailed manual:

      Install:
      ———
      1) Copy ddl’s to sdr# directory
      2) Add magic line to Plugins.xml

      Add magic line to SDRSharp.exe.Config:

      3) Download and install M-SYS2 from https://sourceforge.net/projects/msys2/
      4) Copy contents of msys_root to your M-SYS2 installation directory
      5) Open M-SYS2 shell and execute “pacman -S socat”

      Use:
      ———
      1) Open M-SYS2 shell and execute command “startrx”
      2) Run sdr#.
      3) Set mode NFM or WFM and bandwidth 25KHz

  21. Xanax

    System.NullReferenceException: Odwołanie do obiektu nie zostało ustawione na wystąpienie obiektu.
    w SDRSharp.Tetra.TetraPlugin.Close()
    w SDRSharp.MainForm.MainForm_Closing(Object sender, CancelEventArgs e)
    w System.Windows.Forms.Form.OnClosing(CancelEventArgs e)
    w System.Windows.Forms.Form.WmClose(Message& m)
    w System.Windows.Forms.Form.WndProc(Message& m)
    w System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
    w System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
    w System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

  22. Kerteszradio

    OK, the download now work, but i seems to unable install to msys2 – under windows. This is another great things which not run under win . . . I give up. Use instead of the skywave linux distro . . .

Post a comment

You may use the following HTML:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

This site uses Akismet to reduce spam. Learn how your comment data is processed.