The Gqrx Spyserver Linux Client
If you operate software defined radio equipment on computers using Linux, then you are likely know about the popular Gqrx interface, created by Andrew Csete and many developers who contribute code. Gqrx works with quite well with local hardware, plugged directly into the host computer or connected on the local area network. The interface offers numerous and flexible options for signal modes, filtering, sample rates, and spectrum display. One feature Gqrx has not offered is the ability to stream radio data from remote internet servers. A primary reason for this has been the lack of supporting GNU Radio and OsmoSDR software dependencies required by Gqrx. Lucas Teske has created a new version of Gr-Osmosdr which opens the floodgates for Linux connectivity to Spyservers.
Spyservers connect to Airspy or other compatible SDRs and enable multiple users to operate the SDRs remotely, with client software, through a broadband internet connection. It continues the trend of making SDRs remotely accessible, with more features on the client side and improved radio performance on the system front end. As to front end hardware, Airspy devices are quite good! They are far more sensitive and overload resistant than RTL-SDR dongles. Airspy R2 and Airspy HF+ SDRs also use higher bit depth than RTL-SDRs, so digital signal processing algos can do superior work for end-users. Experience is showing that Spyservers are a great way to remotely access radio spectrum, with many people tuning in amateur radio, utility, and broadcasts from sites in many countries. You can even tune UHF satcom downlinks from a pair of Spyservers in Europe.
A Linux Spyserver Client
Users of the Windows operating system have been using a client added to the SDR# interface. Gqrx will offer similar features for users on the Linux and Mac operating systems, and early versions of the upgrade are available for testing. Below is a brief tutorial on getting the Gqrx Spyserver client up and running in Skywave Linux version 3.1.1. When it is more stable, the update will be incorporated into a future Skywave Linux update.
One easy way, for operation on computers with 64 bit Linux, is to download the latest testing version of Gqrx with Spyserver support included. Download using the link, then extract, and run Gqrx from the folder as shown below. Go to the folder where the xz package was downloaded, then open a terminal and enter the commands:
tar -xvf gqrx-sdr-2.11.5-linux-x64-spyserver.tar.xz cd gqrx-sdr-2.11.5-linux-x64-spyserver ./gqrx
Note: installations from source can conflict with software packages installed from repositories by the Debian / Ubuntu / Mint package managers. Consider removing those packages before manually installing versions from source code.
Update or install dependencies for Gqrx and Airspy devices:
apt update apt install libqt5svg5-dev airspy libairspy-dev
Clone, compile, and install the code from the relevant Github repositories:
cd ~ git clone https://github.com/racerxdl/gr-osmosdr mkdir gr-osmosdr/build cd gr-osmosdr/build cmake .. make sudo make install sudo ldconfig cd ~ git clone https://github.com/csete/gqrx mkdir gqrx/build cd gqrxr/build cmake .. make
Navigate to or open a terminal in the folder where Gqrx binary resides, then start it and check for any error messages. If all is well, plan to start using spyservers:
Connecting to Online Spyservers
Check the Spyserver list to find servers in your area of interest. The list is not as long as for WebSDR or KiwiSDR radios, but is seems to grow a bit each week as more people put up their equipment for access. Note that the front end equipment can vary, with Airspy HF+, Airspy Mini, and Airspy R2 predominant, accompanied by a few RTL-SDR devices. In the future, there may be HPSDR, HackRF, or other types with compatibility.
Beware of potential annoyances! Gqrx requires certain data for the device string in order to find and connect to Spyservers, and the data is not consistenly formatted in the list. Server URL or IP addresses wil start with sdr:// and port numbers will start with a colon. Sometimes the port numbers are omitted from the listing if defaults are used. With the URL and port, create the device string for Gqrx. A good idea is to make a text file with a few servers, for copy-and-paste to Gqrx:
Airspy HF+: - default port: 5555 - sample rates: 3000, 6000, 12000, 24000, 48000, 96000, 192000, 384000, 768000 OPERATOR LOCATION GQRX DEVICE STRING -------------------------------------------------------------------------------- Youssef Paris, FR host=airspy.com,port=5555,spyserver=0 Alexandru Csete Copenhagen, DK host=airspy.com,port=5557,spyserver=0 Simon Brown G4ELI Cornwall, UK host=airspy.com,port=5558,spyserver=0 Airspy R2 Devices: - default port: 55555 - sample rates: 4882.81, 9765.62, 19531.2, 39062.5, 78125, 156250, 312500, 625000, 1.25e+06, 2.5e+06 OPERATOR LOCATION GQRX DEVICE STRING -------------------------------------------------------------------------------- Andrea IK0MMI Perugia, IT host=ik0mmi.ddns.net,port=55555,spyserver=0 uhf-satcom.com Dorset, UK host=pjm.uhf-satcom.com,port=55555,spyserver=0 uhf-satcom.com Dorset, UK host=pjm.uhf-satcom.com,port=55556,spyserver=0 Jeff Kelly K2SDR New Jersey, USA host=k2sdr.dyndns.org,port=55555,spyserver=0
Sampling rates (Gqrx Input Rate) to use for a Spyserver connection must match rates available for the remote SDR hardware and must be high enough to cature the desired signal. For HF voice or VHF narrowband FM, a rate of 24000 or 19531.2 samples per second is suitable. Wideband FM broadcasts will require the higher sampling rates, such as 192000 or 156250 samples per second. Consider whether your internet connection can support such a high rate and also whether the Spyserver can deliver it. Most often, smoother stutter-free operation is possible at lower sampling rates.
The above information shows how to install and operate a Spyserver client on a PC running Linux. On a system with modest performance, operation is smooth and Gqrx makes tasks easy and pleasant. As for improvements in the upcoming stable versions, perhaps a means to scrape, format, and make a clickable server list would be a good thing. In the mean time, let us enjoy the expanded world of shared network enabled radio servers.