EAS decoder software for Ubuntu


I decided to write some software for Linux to decode and relay EAS messages as though it were an endec. It requires installation of the minimodem package, which is standard on Debian, Ubuntu, and Arch (in my testing). It works 99% of the time and triggers on any alert sent out to specified FIPS codes, and also automatically relays EAN/NPT codes. To clarify, this is not a means of transmitting EAS messasges onto the air, nor is this a FCC-approved endec. It should not be used in place of a real, hardware endec. It is a hobbyist project.

The codebase can be found at https://github.com/nkeck720/easrelay. I only have compiled binaries for Ubuntu 17.10.1 amd64 right now, I will post them later.

This came mostly out of interest in the EAS system and how it works from the backend.

I decided to post it here to see if anyone else had any luck using the software and getting it to relay. The software monitors the default input device and outputs relayed audio (during an alert) to the default output device. I have tested this with prerecorded alerts but not live ones.

Thanks, and if you have questions or comments feel free to post!


So let’s say I’m a complete noob but want to learn more about this - how could I set this up to receive and decode (but not re-tx) messages? I’m assuming I need some sort of radio.

As of current, it always acts as a relay. It does not simply decode the messages (but it does display header info on stdout). Yes, you would need a radio or some other audio source to get the alert from plugged into your mic port. Assuming you run linux, to get the code to work you should be able to just download the code and run </s>make<e> in the downloaded directory to build it. Note that you must have minimodem installed, the program uses this to decode the audio into data. The makefile just dumps the binaries into a new directory called bin, so then a </s>cd bin; ./easrelay <FIPS code(s)><e> will start the monitor.

I know this is the most user unfriendly process possible but this is effectively “1.0”. I plan to clean this up quite a bit.

I will probably set up a dedicated raspberry pi to do this - thanks for the input (no pun intended). I’m probably going to make an EAS interpreter that will relay messages through a whole-home audio system.

Interesting! I do something similar with a PSB radio and a dedicated laptop. Be sure though that the sound input you use with the pi is compatible with Linux and ALSA - i’ve heard USB sound interfaces can be a headache with the pi if they aren’t verified to work.

EDIT: I also forgot to mention that the program uses OSS to play back audio, so osspd or a similar package is needed.