Tagged: inmarsat

SignalsEverywhere: Decoding Inmarsat EGC and AERO ACARS

On his latest video Corrosive from the SignalsEverywhere YouTube channel discusses Inmarsat LES EGC and AERO ACARS decoding. Inmarsat is a satellite provider that has multiple geosynchronous satellites that can be received from almost anywhere in the world at around 1.5 GHz with an RTL-SDR and appropriate antenna + LNA. Inmarsat EGC and AERO are two channels on Inmarsat satellites that can easily be decoded.

The Enhanced Group Call (EGC) messages typically contain text information such as search and rescue (SAR) and coast guard messages as well as news, weather and incident reports. AERO messages on the other hand are a form of satellite ACARS, and typically contain short messages from aircraft. More interestingly with a bit of work compiling audio decoders, it is also possible to listen in to AERO C-Channel conversations, which is an emergency phone call service available on some aircraft.

In his video Corrosive gives an overview and demonstration of EGC and AERO reception.

Inmarsat LES EGC and AERO ACARS Decoding

Creating an Inmarsat STC-C EGC Live Stream with an RTL-SDR, Raspberry Pi and OpenWebRX

Thanks to Zoltan (aka Veryokay on YouTube) for submitting information about his Inmarsat STD-C EGC live stream setup. His setup allows him to access the Inmarsat STD-C signal from anywhere in the world over the internet, thanks to the use of an OpenWebRX server. Inmarsat STD-C is a geostationary satellite service that provides information for search and rescue, as well as news, weather and incident reports for mariners. We have a tutorial from a few years ago which shows some example messages. OpenWebRX is an efficient SDR streaming server platform that allows you to access RTL-SDR's and other SDRs from anywhere in the world via an internet connection.

In his setup Zoltan uses a Raspberry Pi 3, RTL-SDR Blog V3, L-band LNA and L-band antenna for receiving and processing the signal. Power is provided via a Power over Ethernet (PoE) adapter, and the whole thing is placed outside, in a weatherproof plastic lunchbox.

The video shows the hardware, and then goes on to describe the software setup, along with a demonstration of the OpenWebRX stream. More information as well as the link to his publicly accessible OpenWebRX Inamrsat STD-C stream can be found on his blog post.

INMARSAT STD-C EGC live streaming

SDR# Inmarsat Decoder Plugin Now Available

Microp11, the programmer of Scytale-C a standalone Inmarsat decoder has just released a new Inmarsat decoder SDR# plugin. The plugin is currently in the "pre-alpha" stages, so is still missing some functionality and may be buggy. However, it does appear to be functional at this point in time. It can be used with RTL-SDRs, and any other SDR# compatible SDR including units running on remote SpyServers. Microp11 writes:

  • I ran it with SDR# version v1.0.0.1761.
  • If it crashes you SDR# I apologize in advance.
  • The auto-tracking (default on) will alter your SDR# frequency and follow the signal’s CF. When the SNR is very low, please disable it and manually tune the SDR# to try to get the CF as close to 2000 as possible.The demodulator still has plenty ideas of its own.
  • Use USB mode with 4000 Hz bandwidth.
  • For now the interface is missing the usual scatter plots.
  • UDP Address and UDP Port are for sending the decoded frames to the Scytale-C UI.
  • Offset and CF are the difference from zero error and the CF frequency of the demodulated BPSK signal.
  • Tx and SYM are the transmitted over UDP frames and SYM is showing the number of demodulated symbols.
  • A bunch of libraries are attached as extra files. Please be gentle and accept the package as it. Will clean-up in the future.
  • Use in conjunction with the Scytale-C UI from the archive: “x64-UI1.6-Decoder1.4.zip” (link below)
  • The magic line is included in the archive: “SDRSharp.ScytaleC-1.0-alpha.zip”

The files can be downloaded from https://bitbucket.org/scytalec/scytalec/downloads.

SDRSharp Scytale-C Plugin
SDRSharp Scytale-C Plugin

Decoding 12 AERO Channels Simultaneously with an Airspy, Outernet Patch Antenna and SDR-Console V3

In a post uploaded last month we noted that Outernet was selling off some of their old L-Band satellite antennas cheaply. Nils Schiffhauser (DK8OK) decided to take advantage of the sale and bought one. Now Nils has created a blog post that shows how he's been able able to decode 12 L-Band AERO channels simultaneously with the Outernet L-band antenna, an Airspy R2 and SDR-Console V3. AERO is the satellite based version of aircraft ACARS, and it's L-band signals contain short ground to air messages like weather reports and flight plans. Multiple channels are often in use at any one time.

To achieve this Nils uses the multi-channel tuning capabilities of SDR-Console V3, which allows him to open up 12-channels, each tuned to a different AERO frequency. He then opens up 12 instances of the AERO decoder known as JAERO, and then uses VB-Cable to pipe the audio from each channel into a JAERO instance. Nils writes that the key to making JAERO run with multiple instances is to install JAERO into different folders on your PC, and give each JAERO.exe a unique file name like JAERO_1.exe.

He collects all the data into a program called Display Launcher and Nils notes that the whole set up has been stable digesting 54,000 messages over the last 24 hours. 

12x JAERO Decoders Running
12x JAERO Decoders Running

Outernet’s Old Antenna Stock for Sale: L-Band Active and Filtered Ceramic Patch Antennas

In the past the Outernet project operated on L-band frequencies, and for the service they manufactured a number of active L-band active ceramic patch antennas for use with RTL-SDR dongles. Outernet has since moved on to faster Ku-band delivery, and hence their old L-band antennas can no longer be used for their service.  There are a few of these patch antennas left over in Outernet's stock and they are currently selling them on eBay for US $29 + shipping.

Although no longer useful for Outernet, these antennas are still very useful for receiving other L-band services such as STD-C SafetyNET and AERO. SafetyNET is a text broadcast intended for sailors at sea, but contains many interesting and potentially useful messages for others too. Often they transmit data like military sea live firing warnings, reports of marine pirate activity, search and rescue reports, scientific vessel reports as well as weather reports. AERO is the satellite version of ACARS, and is used by aircraft to communicate with text messages to and from ground stations. L-Band AERO signals only contain information from the ground station up to the aircraft. For air to ground you'll need a C-band receiver set up. AERO is the satellite communications protocol that was so heavily centered on during the MH370 flight disappearance investigation.

In the past we've reviewed the Outernet L-band ceramic patch and found it to work very well. Certainly STD-C and AERO signals are easy to receive with the antenna if you point it at the satellite. The antenna requires bias tee power and can easily be used in combination with the bias tee on our RTL-SDR V3 dongles. The onboard filter helps reduce problems from interfering signals, but restricts reception to 1525 - 1559 MHz, so Iridium signals cannot be received with this antenna.

The L-Band Active Ceramic Patch Antenna.
The L-Band Active and Filtered Ceramic Patch Antenna.

Scytale-C: A New Inmarsat STD-C Decoder + Tekmanoid STD-C Decoder Updates

Over on the BitBucket code repository a new open source decoder for Inmarsat STD-C called Scytale-C has been released. The software is available for Windows, and a ready to use binary .exe file can be downloaded from the downloads section of the BitBucket repo.

Inmarsat STD-C is an L-band geosynchronous satellite signal that transmits at 1.541450 GHz. This means that the signal can be received with a simple patch antenna, LNA and RTL-SDR dongle. The satellite is geosynchronous (stationary in the sky), so no tracking is required. On the STD-C channel you'll see messages mainly for mariners at sea such as weather updates, military operational warnings, pirate sightings/reports, submarine activity, search and rescue messages and more. If you are interested we have a tutorial based on other software packages available here which also shows some STD-C message examples. The tutorial can easily be adapted for use with Scytale-C instead.

We've also seen on Twitter that Scytale-C beta tester @otti has noted that a SDR# plugin based on Scytale-C seems to be in the works.

Scytale-C Screenshot
Scytale-C Screenshot

An Important Note on the Coding Ethics of Scytale-C + Tekmanoid Decoder Updates

We feel that it is responsible to make a note on coding and licencing ethics about this software. Originally the software was illegally decompiled by 'microp11' from the closed source Tekmanoid STD-C decoder written by Alex and re-released in a different programming language with a different GUI as the 'open source' B4000Hz software. After Alex took action and micrcop11 realized what he did was wrong he took B4000Hz down. Since then microp11 notes that he has written Scytale-C fully from scratch without the closed source code knowledge. But to be unquestionably legal a full two man clean-room rewrite would probably need to be done as once knowledge of source code is acquired it can be difficult to think of a separate implementation (a somewhat related post discussing this on StackExchange).

However, Alex has noted microp11's passion, and microp11's remorse at the initial decompilation and release of B4000Hz, and has decided to take the higher road and not pursue any further DMCA complaints. Instead he has kindly decided to allow the software to exist, but with acknowledgement of Tekmanoid included. We're glad that the matter was resolved amicably, but still if you use the Scytale-C software we would urge you to still consider the free or paid version of the Tekmanoid STD-C decoder to support Alex

Recently Alex has updated his software to include a spectrum analyzer and more appealing method of displaying EGC messages. Alex writes regarding his Tekmanoid STD-C decoder:

This software [Tekmanoid STD-C Decoder] is closed source and has been since it was first released around 2009. At that time I made a choice to keep the source private but share the executable EGC app for free with the public, so that others could have some fun on the L-band!

The "pro" EGC-LES version was developed in parallel the same year but kept private, nobody even knew it existed. Although I recognized its potential financial value I didn't take "advantage" of it. Firstly because it was a personal hobby project (can't put a price on intellectual property) and second, because I didn't want to help to further expose people's private communications to the open public.

In February 2017 a raw clone of my de-compiled code was made public, to be later withdrawn with an apology. That is the moment I decided to release the PRO version as payware to the public. Many new features present in today's PRO version have been proposed by users and my aim is to satisfy everyone's wishes.

Recently another similar project was released from the same author, with lots of documents to support the code and only minute traces of the initial de-compilation. This time one could indeed claim to have built it "from scratch" - codewise at least. The fact still remains that *part* of the knowledge (not 'code' necessarily) required to put it together was obtained from this initial reverse engineering process.

Despite the negativity surrounding this case, I decided to withdraw my takedown request on the project in exchange for an acknowledgement to the original Tekmanoid decoder, as this person himself wished to include from the start anyway.

To end it with another positive note, I can only hope this newcomer will bring something new to the scene, and that we will see some interesting things!

Below is a video of the updated Tekmanoid decoder.

Tekmanoid EGC+LES pro decoder

Update: Microp11 wrote to us after this post went out and wrote the following:

I just want to let you know that scytalec is not a re-write. It is another solution of solving the problem of decoding the Inmarsat-C. Written from scratch. Inadvertently any Inmarsat-C decoder in the 1.5GHz band will have the same the building blocks and they are now documented in detail in the bibliography published with my code. The information is hard to find. All the information is from publicly available sources only. Such that the code will be able to withstand the obstacles or remaining open source. The majority of the documentation is technical manuals, as they each in part reveal a piece of the puzzle, and collectively they contain an almost complete communication protocol. Some are books and they must be the specific revision mention within the bibliography. Moreover if any coder will read the documentation they will actually be able to write a better decoder as I found parts of it too late for a more elegant code writing. And this is the whole idea of scytalec, that anyone can do it if they put their mind to it. There is enough documentation to tackle the C-band as well. And giving enough time, I might be planning on doing that after the sdr# plugin I’m working at. Not alone, as I was and I am being helped by others to which I am grateful and their names were and will be mentioned within the code. Just so you will have an idea of how deep the documentation correctness went for this project, even if a code comment was incorrect, say I was referring to a frame as a “block” or “part” I would get an admonishing email on that. So yes, I have high reasons to stand by this code originality.

Testing the Prototype Outernet Patch Antenna with Built in RTL-SDR

A few months ago satellite data broadcasting company Outernet created a limited number of prototype receivers that combined an L-band satellite patch antenna, LNA and RTL-SDR into a signal unit. This was never produced in bulk as they found it to be too noisy having the RTL-SDR so close to the antenna, but nevertheless it still worked fairly well.

Over on YouTube max30max31 bought one of these prototype units and made a video about using it for receiving and decoding various L-band satellite signals. In the video he first shows an overview of the product and then shows it receiving and/or decoding some signals like Inmarsat STD-C, AERO and Inmarsat MFSK.

IZ5RZR – Inmarsat – outernet Rtl-Sdr patch antenna

Outernet: Patch antenna now sold seperately + other products

Back in June we tested Outernet’s new Dreamcatcher which is an ARM based computing board with RTL-SDR and L-band LNA built in. The $99 USD kit also included an external active L-band patch antenna. The Dreamcatcher full kit has now been reduced to $89 USD, and the active L-band patch antenna can also now be purchased by itself for $29 USD. The active patch antenna is also compatible with the bias tee on our V3 dongles and is a good low cost option for exploring most L-band satellite signals like Outernet, Inmarsat STD-C and AERO around 1542 MHz. The filter does unfortunately cut off the higher Iridium frequencies though.

They are also selling off their older L-band SDRx RTL-SDR boards at a reduced price of $20 USD. The SDRx is a RTL-SDR PCB with a built in L-band LNA and filter, but unlike the Dreamcatcher does not have built in computing hardware. They also have a limited $25 USD edition version of their active patch antenna which includes a built in RTL-SDR. This version is a bit more noisy compared to the standard active patch, but may be an interesting experimental antenna for some.

Current Outernet Products
Current Outernet Products