Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save JVital2013/2eb02c47a63fbe4b11f81d710e8261c9 to your computer and use it in GitHub Desktop.
Save JVital2013/2eb02c47a63fbe4b11f81d710e8261c9 to your computer and use it in GitHub Desktop.
How to test goesrecv on multiple machines

How to test goesrecv on multiple machines

An SDR can only be connected to one program at a time, and goesrecv typically must be connected directly to an SDR. However, it is possible for one instance of goesrecv to piggypack on another goesrecv instance's SDR. Here's how to set that up.

This tutorial assumes that all secondary goesrecv instances are using Goestools for Windows, but it will work on Goestools for Linux as well with manual configuration

You must have a stable network connection between machines running goesrecv, and they must be able to push a consistent 40 Mbps between each other with low latency/jitter. Any latency and jitter will result in packet loss. As such, this is recommended for testing only. If you want to run goesproc on a second machine, it's recommended that you connect it to goesrecv on the primary machine directly, as this only required 400 Kbps.

Preparing the primary instance

Before you start, make sure your primary goesrecv's goesrecv.conf has a rtlsdr.sample_publisher or airspy.sample_publisher section. It should look like this:

[rtlsdr.sample_publisher]
bind = "tcp://0.0.0.0:5000"
send_buffer = 2097152

If you needed to add the sample_publisher section, don't forget to restart goesrecv!

Preparing secondary instances

Goestools for Windows comes partially configured for piggybacking on another goesrecv instance, but you need to complete the configuration.

  1. In the extracted Goestools for Windows folder, make a copy of Start Goesrecv (RTL-SDR).bat and name it Start Goesrecv (Nanomsg).bat

    image

  2. Right-click on the new .bat file and select "Edit." Change the configration file from config/goesrecv-rtlsdr.conf to config/goesrecv-nanomsg.conf. This is what it should look like:

    @echo off
    title goesrecv
    bin\goesrecv.exe --config config/goesrecv-nanomsg.conf -v -i 1
    pause
  3. Close out of the batch file, and edit the config/goesrecv-nanomsg.conf file.

    • In the [nanomsg] section, change the connect IP address to match the IP where the primary goesrecv instance is running.
    • Make sure the sample_rate matches the sample rate configured for your primary goesrecv instance.

    Here's an example:

    [nanomsg]
    sample_rate = 2400000
    connect = "tcp://192.168.1.137:5000"
    receive_buffer = 2097152
  4. Start goesrecv with the new Nanomsg batch file. It should start decoding as normal.

    image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment