rsp_tcp: An rtl_tcp compatible IQ Server for SDRplay SDRs
The SDRplay team have released an updated version of a program called "rsp_tcp" (originally written by F4FHH Nicholas). This is a streaming IQ server for SDRplay devices, which is directly ported from the original rtl_tcp code that was designed for RTL-SDRs. The rsp_tcp code is fully compatible with the rtl_tcp protocol, so this should allow almost any software that accepts an rtl_tcp stream as an input to use an SDRplay device as the SDR hardware instead of an RTL-SDR.
The downside to using this server is that in order to be compatible with the standard rtl_tcp protocol, the software will downgrade the RSP data stream from 14-bits to 8-bits only, thus forfeiting the RSP's greater dynamic range. However, if a custom ExtIO plugin is used on the client software, then the full 14-bits can be restored.
On their forums the SDRplay team write:
This software is based on a fork of F4FHH’s version of RTL TCP Server. It has been updated to support the RSP features, but also contains an extended mode. The extended mode allows the client (via a compatible interface) to fully control all aspects of the RSPs, including notch filters, Bias-T enable and switching ports (where applicable)
The user guide for the server software can be found on our downloads page and also here: https://www.sdrplay.com/docs/SDRplay_RS ... _Guide.pdf
We have provided binaries for Windows, Mac and RPi on our downloads page and the source code for all platforms can be found on our GitHub repository: https://github.com/SDRplay/RSPTCPServer
To utilise the extended mode, extra commands need to be sent from the client. We have provided an example of this in the form of an ExtIO plugin. You can find the Windows dll on our downloads page and the source code for the plugin on our GitHub repository: https://github.com/SDRplay/ExtIO_RSP_TCP
In standard mode, the server will be compatible with any RTL server client.
The team also note that they have updated their Raspberry Pi SD card to include the server.
Just the fact that it allows use of a WWW connection outweighs any losses with 8 or 14 bit. That loss to me is irrelevant.
This now makes my RSP1a useful, where before it was a waste of money for me as I could not use it.
Only issue I am having is starting it as a service.
I am having difficulty in getting my service file correct….Because I have not idea what I am doing TBH.
[Unit]
Description=RSP1a_tcp service
After=multi-user.target
[Service]
ExecStart= /home/pi/SDR/RSPTCPServer/rsp_tcp -a 192.168.1.47
[Install]
WantedBy=multi-user.target
Ideally I’d like to start it AFTER the the RaspPi has gained a DHCP IP address.
Mike Richards https://photobyte.org/rtl-sdr-server-as-a-service-on-raspberry-pi/
had used this file below to start the RTL-SDR server as a service with a 15 second delay to cope with slow DHCP servers. I guess my service file as in my previous post has a Path issue. but no idea how to correct it.
[Unit]
Description=RTL-SDR Server
Wants=network-online.target
After=network-online.target
[Service]
ExecStartPre=/bin/sleep 15
ExecStart=/bin/sh -c ‘/usr/local/bin/rtl_tcp -a $(hostname -I)’
WorkingDirectory=/home/pi
StandardOutput=inherit
StandardError=inherit
Restart=always
[Install]
WantedBy=multi-user.target
In case you want a tcp/ip server for the RSP2 supporting both 8- and 14-bit data (and are satisfied with a simple AGC and gain control), up to a sampling rate of 8192000 sps, you might consider to use RSP2_tcp, downloadable since several months at our site softsyst.com/qirx. It is also fully compatible with rtl_tcp.
Regards,
Clem, author of qirx (and RSP2_tcp)
“The downside to using this server is that in order to be compatible with the rtl_tcp protocol, the software will downgrade the RSP data stream from 14-bits to 8-bits only, thus forfeiting the RSP’s greater dynamic range.”
RTL compatibility mode means 8 bit by definition. The article fails to mention that extended mode uses a 16 bit format and so gives the full resolution of the SDRplay products. This can be used in conjunction with the EXTIO TCP plugin with any software that supports the EXTIO interface and that includes HDSDR and the EXTIO version of SDRuno
OK, the article has been amended now