SDRSharp SpyServer Now Supports the RTL-SDR

About a month ago the Airspy and SDRSharp development team released their new ‘SpyServer’ software. SpyServer is a streaming server for Airspy devices, which allows them to be used over a network connection. It is somewhat similar to rtl_tcp which is familiar to RTL-SDR users, although unlike rtl_tcp, SpyServer uses a multiclient architecture which allows several clients to connect to the server at the same time with each being able to choose individual bandwidth settings.

Today SpyServer was updated (changelog), and it now also supports the RTL-SDR dongle. The software can be found in the latest version of SDR# from www.airspy.com. The Airspy download contains the SpyServer for Windows and Linux, and the Raspberry Pi and Odroid server is available here.

To use SpyServer with the RTL-SDR you’ll first need to edit the “spyserver.config” file which is in the SDR# folder. Open this file with a text editor like Notepad, and set the “device_type” to “RTL-SDR”. Now you can run spyserver.exe on your server and it will use your RTL-SDR. Multiple dongles can be used by editing the “device_serial” string in the config file. Next on the client PC run the latest version of SDR#, and choose the Source as “Spy Server”. Here you can enter your networked PC’s IP address to connect to it.

We tested the updated SpyServer with an RTL-SDR dongle and it worked perfectly. On an 802.11n WiFi connection we were able to stream up to 1 MSPS without problems. 2 MSPS was a bit jittery, but on an Ethernet or 802.11ac WiFi connection it should work with no problems. We also tested connecting two PC’s to a single SpyServer and both were able to run at the same time without trouble. The client which connects first gets to keep control of the center frequency and gain, whilst the second client has those options locked.

SpySever Running with an RTL-SDR Dongle.
SpySever Running with an RTL-SDR Dongle.

18 comments

  1. Mark

    I’m running Ubuntu 16.04 LTS, 64 bit version on a Lenovo W530. Using rtl-sdr dongle. gqrx works fine. I downloaded the current version of spyserver and edited spyserver.config, “device_type = RTL-SDR”. Attempts to run spyserver produce this error: unable to load user mode driver for ‘RTL-SDR’. Running as super user produced the same result.
    So far online searching has not produced a hit for this problem.
    Any suggestions?

  2. Arroja

    There´s a couple problems I run into:

    1 – On Linux, it only runs with an AirSpy dongle, it doesnt find the RTL-SDR – guess driver related
    2 – On RPi 2 it complains that it cant find some library: ./spyserver: /usr/lib/arm-linux-gnueabihf/libstdc++.so.6: version `GLIBCXX_3.4.21′ not found (required by ./spyserver) – looked around for similar problems and there seems to be some kind of library mismatch that is not easy to fix, apparently.

    Even though I am slightly bummed with the RPi experience, a quick run on a desktop Linux PC confirmed that the latest version (2.0) runs quite well and is very tight on network usage, about 120kps.

      • Arroja

        Hi Bertie,

        Aside from the choice of SDR dongle, I don´t see any other option in the configuration file that could be related directly top the above mentioned problems. Just tried to run it on another RPi2 install and the problem persists.

  3. GUILHERME RODRIGUES

    Hello, I’m trying to connect to the server with an android phone, using SDR Touch but it says failed to connect. I can only use the Spyserver with SDR#?
    If the above is true, how can I run a RTL_TCP on windows, i searched but can’t find it.

    • Bertie

      The function may be similar, but the protocols are different. It would be like trying to fit the hood from a ford fiesta into the door frame on a Delorean.

      Have you checked here https://www.rtl-sdr.com/big-list-rtl-sdr-supported-software/ scroll down to “RTL_TCP (Windows/Linux) (Free)” click on the link and downloaded the binary files from 2014 the link is called “[RelWithDebInfo.zip pre-built Windows”

  4. Bertie

    If you increase the decimation, i.e. you are looking at a small frequency band (and gaining a higher dynamic range), then the network bandwidth will decrease. From what I can see the big bandwidths are for gigabit LAN’s and the smallest bandwidths are for WiFi and WAN’s.

    I installed and ran iftop on Linux and I was getting the following approximate bandwidths usage.
    8,000kHz ~=307 Mb/sec
    4,000kHz ~=154 Mb/sec
    2,000kHz ~= 76.6Mb/sec
    1,000kHz ~= 37.5Mb/sec
    500kHz ~= 19.2Mb/sec
    250kHz ~= 9.7Mb/sec
    125kHz ~= 4.87Mb/sec
    65.5kHz ~= 2.46Mb/sec
    31.25kHz ~= 1.27Mb/sec
    15.625kHz ~= 654Kb/sec

    (hardware: Odroid-XU4 on a gigabit LAN using the latest SDR# v1.0.0.1546)

    For what is being done, streaming the full I+Q signals, the above numbers do not look totally unreasonable if you allow for packet headers, any integrity data being transferred, and control signals.

  5. Jeff

    Why is bandwidth consumption so big? At 1,000 kHz and more than 5090.99 kB/s. Crazy thing, impossible to use via internet.

Post a comment

You may use the following HTML:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>