Free Software Outernet receiver
Note: This software is now maintained by Othernet as open-ondd. The new open-ondd has been updated to work with the current Othernet data broadcast protocols.
This is a Free Software (Open Source) receiver for
Outernet designed to work with the
gr-outernet GNUradio Outernet
receiver modem. The key parts of the official Outernet receiver software, ondd
and sdr100
are closed-source, distributed as binaries only. This project aims
to provide a Free Software alternative to ondd
, while
gr-outernet can be used a a
substitute for sdr100
.
With free-outernet and gr-outernet you can receive the files that are broadcast by Outernet file service and the time packets that are broadcast by the Outernet time service.
All this software is the result of a reverse engineering effort, since Outernet does not publish any documentation for the protocols they use.
You can use free-outernet.py
to receive UDP packets in real-time from
gr-outernet or with a KISS file recorded previously by
gr-outernet. free-outernet.py
recovers the files that are transmitted by
Outernet and prints the time packets. It also prints some interesting debug info.
Things that are not implemented/supported yet:
ondd
does it, because it is designed to run standanlone
without internet conetivity. If you have Internet connectivity it is much
better to use NTP. If you do not have Internet connectivity and/or your need
precise timing, it is better to use GPS. The Outernet time service only has a
resolution of 1 second and it does not seem to account for round trip time to
geostationary orbit (around 200ms)..tar.bz2
files. ondd
extracts the files
automatically. This is easy to implement, but it is low on my priority list,
as it is very easy to do this manually.To install all dependencies just run: pip3 install -r requirements.txt
You can use some sample KISS files for testing.
LDPC decoding has been implemented by George
Hopkins by reverse
engineering ondd
.
Previously, this was not implemented, so free-outernet
needed to receive all
the blocks for a file to be able to reconstruct it correctly. Now, it can use
the LDPC to "fill in" the missing packets in case some of them were lost.
The performance of free-outernet
regarding FEC and LDPC decoding should
be now the same as the performance of ondd
.