SDRPlay Receiver

Hello

I just updated my station, and I want to use an SDRPlay receiver.

The receiver seems to be working:

SoapySDRUtil --probe="driver=sdrplay"
######################################################
## Soapy SDR – the SDR abstraction library ##
######################################################

Probe device driver=sdrplay

----------------------------------------------------
– Device identification
----------------------------------------------------
*** driver=SDRplay***
*** hardware=RSP1***
*** mir_sdr_api_version=2.130000***
*** mir_sdr_hw_version=1***
*** serial=B0001P0003***

----------------------------------------------------
– Peripheral summary
----------------------------------------------------
*** Channels: 1 Rx, 0 Tx***
*** Timestamps: NO***
*** Other Settings:***
*** * RF Gain Select - RF Gain Select***
*** [key=rfgain_sel, default=1, type=string, options=(0, 1, 2, 3)]***
*** * IF Mode - IF frequency in kHz***
*** [key=if_mode, default=Zero-IF, type=string, options=(Zero-IF, 450kHz, 1620kHz, 2048kHz)]***
*** * IQ Correction - IQ Correction Control***
*** [key=iqcorr_ctrl, default=true, type=bool]***
*** * AGC Setpoint - AGC Setpoint (dBfs)***
*** [key=agc_setpoint, default=-30, type=int, range=[-60, 0]]***

----------------------------------------------------
– RX Channel 0
----------------------------------------------------
*** Full-duplex: NO***
*** Supports AGC: YES***
*** Stream formats: CS16, CF32***
*** Native format: CS16 [full-scale=32767]***
*** Antennas: RX***
*** Corrections: DC removal***
*** Full gain range: [0, 42] dB***
*** IFGR gain range: [20, 59] dB***
*** RFGR gain range: [0, 3] dB***
*** Full freq range: [0.01, 2000] MHz***
*** RF freq range: [0.01, 2000] MHz***
*** CORR freq range: MHz***
*** Sample rates: 0.25, 0.5, 1, 2, 2.048, 6, 7, 8, 9, 10 MSps***
*** Filter bandwidths: 0.2, 0.3, 0.6, 1.536, 5, 6, 7, 8 MHz***

But I have no visible signal:

https://network.satnogs.org/observations/2147215/

My configuration:

------------[ copy here ]------------
{
“versions”: {
“satnogs-client”: “1.3.1”,
“satnogs-client-ansible”: “202004031132”,
“satnogs-flowgraphs”: “1.1.1-1”,
“gr-satnogs”: “2.1.2-1”,
“gr-soapy”: “2.1.2-1”,
“gnuradio”: “3.8.1.0~rc1-2”,
“satnogs-config”: “0.10.1”
},
“state”: {
“is-applied”: true,
“pending-tags”: null
},
“system”: {
“distribution”: {
“DESCRIPTION”: “Raspbian GNU/Linux 10 (buster)”,
“RELEASE”: “10”,
“CODENAME”: “buster”,
“ID”: “Raspbian”
},
“pending-updates”: false,
“platform”: {
“system”: “Linux”,
“node”: “raspberrypi”,
“release”: “4.19.97-v7+”,
“version”: “#1294 SMP Thu Jan 30 13:15:58 GMT 2020”,
“machine”: “armv7l”,
“processor”: “”
},
“memory”: {
“total”: 971055104,
“available”: 796004352,
“percent”: 18.0,
“used”: 108326912,
“free”: 486207488,
“active”: 246325248,
“inactive”: 164884480,
“buffers”: 27668480,
“cached”: 348852224,
“shared”: 6479872,
“slab”: 53387264
},
“disk”: {
“total”: 31250767872,
“used”: 4229726208,
“free”: 25704103936,
“percent”: 14.1
}
},
“configuration”: {
“satnogs_antenna”: “Tuner 1 50 ohm”,
“satnogs_api_token”: “[redacted]”,
“satnogs_rf_gain”: “34”,
“satnogs_rx_bandwidth”: “600e3”,
“satnogs_rx_samp_rate”: “2e6”,
“satnogs_soapy_rx_device”: ““driver=sdrplay””,
“satnogs_station_elev”: “190”,
“satnogs_station_id”: “1137”,
“satnogs_station_lat”: “48.046911”,
“satnogs_station_lon”: “7.417643”
}
}
------------[ copy end ]-------------

Thanks for your help!

Always check the logs with journalctl -u satnogs-client.service. Probably the antenna is wrong. SoapySDRUtil reports an antenna with the name RX and you have specified something else.

Thanks for the message, I changed the name of the antenna:

------------[ copy here ]------------
{
** “versions”: {**
** “satnogs-client”: “1.3.1”,**
** “satnogs-client-ansible”: “202004031132”,**
** “satnogs-flowgraphs”: “1.1.1-1”,**
** “gr-satnogs”: “2.1.2-1”,**
** “gr-soapy”: “2.1.2-1”,**
** “gnuradio”: “3.8.1.0~rc1-2”,**
** “satnogs-config”: “0.10.1”**
** },**
** “state”: {**
** “is-applied”: true,**
** “pending-tags”: null**
** },**
** “system”: {**
** “distribution”: {**
** “DESCRIPTION”: “Raspbian GNU/Linux 10 (buster)”,**
** “RELEASE”: “10”,**
** “CODENAME”: “buster”,**
** “ID”: “Raspbian”**
** },**
** “pending-updates”: false,**
** “platform”: {**
** “system”: “Linux”,**
** “node”: “raspberrypi”,**
** “release”: “4.19.97-v7+”,**
** “version”: “#1294 SMP Thu Jan 30 13:15:58 GMT 2020”,**
** “machine”: “armv7l”,**
** “processor”: “”**
** },**
** “memory”: {**
** “total”: 971055104,**
** “available”: 789438464,**
** “percent”: 18.7,**
** “used”: 114450432,**
** “free”: 477208576,**
** “active”: 314433536,**
** “inactive”: 103272448,**
** “buffers”: 28717056,**
** “cached”: 350679040,**
** “shared”: 6475776,**
** “slab”: 57282560**
** },**
** “disk”: {**
** “total”: 31250767872,**
** “used”: 4230201344,**
** “free”: 25703628800,**
** “percent”: 14.1**
** }**
** },**
** “configuration”: {**
** “satnogs_antenna”: “RX”,**
** “satnogs_api_token”: “[redacted]”,**
** “satnogs_rf_gain”: “34”,**
** “satnogs_rx_bandwidth”: “600e3”,**
** “satnogs_rx_samp_rate”: “2e6”,**
** “satnogs_soapy_rx_device”: ““driver=SDRplay””,**
** “satnogs_station_elev”: “190”,**
** “satnogs_station_id”: “1137”,**
** “satnogs_station_lat”: “48.046911”,**
** “satnogs_station_lon”: “7.417643”**
** }**
}
------------[ copy end ]-------------

Unfortunately there is no change:

https://network.satnogs.org/observations/2149133/

I also did this test:

$ sudo -u satnogs SoapySDRUtil --args=“driver=sdrplay” --direction=RX --rate=3e6
######################################################
## Soapy SDR – the SDR abstraction library ##
######################################################

[INFO] Using format CS16.
Stream format: CS16
Num channels: 1
Element size: 4 bytes
Begin RX rate test at 3 Msps
Starting stream loop, press Ctrl+C to exit… 0 Msps 0 MBps
0 Msps 0 MBps
0 Msps 0 MBps
0 Msps 0 MBps

Then then I did:

SoapySDRUtil --probe=“driver=sdrplay” ######################################################

Soapy SDR – the SDR abstraction library

######################################################

Probe device driver=sdrplay


– Device identification

driver=SDRplay
hardware=RSP1
mir_sdr_api_version=2.130000
mir_sdr_hw_version=1
serial=B0001P0003


– Peripheral summary

Channels: 1 Rx, 0 Tx
Timestamps: NO
Other Settings:
* RF Gain Select - RF Gain Select
[key=rfgain_sel, default=1, type=string, options=(0, 1, 2, 3)]
* IF Mode - IF frequency in kHz
[key=if_mode, default=Zero-IF, type=string, options=(Zero-IF, 450kHz, 1620kHz, 2048kHz)]
* IQ Correction - IQ Correction Control
[key=iqcorr_ctrl, default=true, type=bool]
* AGC Setpoint - AGC Setpoint (dBfs)
[key=agc_setpoint, default=-30, type=int, range=[-60, 0]]


– RX Channel 0

Full-duplex: NO
Supports AGC: YES
Stream formats: CS16, CF32
Native format: CS16 [full-scale=32767]
Antennas: RX
Corrections: DC removal
Full gain range: [0, 42] dB
IFGR gain range: [20, 59] dB
RFGR gain range: [0, 3] dB
Full freq range: [0.01, 2000] MHz
RF freq range: [0.01, 2000] MHz
CORR freq range: MHz
Sample rates: 0.25, 0.5, 1, 2, 2.048, 6, 7, 8, 9, 10 MSps
Filter bandwidths: 0.2, 0.3, 0.6, 1.536, 5, 6, 7, 8 MHz

And

sudo -u satnogs SoapySDRUtil --args=“driver=sdrplay” --direction=RX --rate=3e6
######################################################

Soapy SDR – the SDR abstraction library

######################################################

[INFO] Using format CS16.
Stream format: CS16
Num channels: 1
Element size: 4 bytes
Begin RX rate test at 3 Msps
Starting stream loop, press Ctrl+C to exit…
2.90184 Msps 11.6074 MBps
2.95049 Msps 11.802 MBps

do you have an idea?

Merci!!!

Manu, I too have SDRplay receivers and would like to use them without having to run SDRuno on Windows. Hate Windows.
Can you point me in the right direction where I might find the information how to use SDRplay with Satnogs like you are doing.
I believe the SDRplay are a far superior receiver to the RTL-SDR.
Thanks, Bob vk2byf

2 Likes

Bob, unfortunately I’m not very good with linux. I used this links:
https://wiki.satnogs.org/Software_Defined_Radio

and also this links:

Although the receiver works, at the moment I have no data feedback on Satnogs. Maybe you can find the error?

Sorry for my english “GOOGLE”
Manu

1 Like

Thanks for the links manu. don’t worry about your english. I have been there before but not with SatNOGS. My Linux is not very good either, I know just enough to get into trouble.
cheers Bob

By doing a few tests, I just noticed an error:

SoapySDRUtil --probe = “driver = sdrplay”

libusb: error [udev_hotplug_event] ignoring udev action bind


  • Device identification

driver = SDRplay
hardware = RSP1
mir_sdr_api_version = 2.130000
mir_sdr_hw_version = 1
serial = B0001P0003

Could this have something to do with my problems?

Reply and let us know if you get this going.

I opened a ticket with the people at sdrplay and got a quick reply. They provided a unit for testing to the Satnogs group. They also asked if they should add the satnogs client to the sdrplay Rpi image. No reply was received on that by the SDRplay support group, but that would be the easiest way to go…

1 Like

Thanks for the help, I’m sure the solution will be quick

Why is driver=sdrplay in double quotes? Is that normal or could that be the problem?

For info, back in February we tested the SDRplay RSPduo side-by-side with a USRP B210 using whatever gr-satnogs work-in-progress was available then. It worked flawlessly. We installed everything from source.

Here is the configuration we used:

export SATNOGS_SOAPY_RX_DEVICE=“driver=sdrplay,serial=180603B532”
export SATNOGS_RX_SAMP_RATE=2000000
export SATNOGS_RX_BANDWIDTH=600000
export SATNOGS_RF_GAIN=34
export SATNOGS_ANTENNA=“Tuner 1 50 ohm”

For us it was necessary to include the serial number in the device string.

They can just do it if they want to; however, it wil lrequire that they keep their repository up to date with new SatNOGS releases and it will only work for people using the Raspberry Pi. I think it would be better if the SDRplay driver and soapy-sdrplay would be included in the SatNOGS distribution and RPI image, unless there is some licensing issue because of the binary-only driver.

Thanks for the above info, but still having issue… Can’t seem to get the device driver installed.
pi@raspberrypi: SoapySDRUtil --probe=“driver=sdrplay”

Probe device driver=sdrplay
Error probing device: SoapySDR::Device::make() no match

The instructions on the pothosware site do not work as written.

@N9CQQ-EN52,

From what I can tell the instructions on the site are generic and look correct. Did you install from source? What is the output of the command:

SoapySDRUtil --info

1 Like

I just figured out how to install the drivers from SDRPlay. Here’s my documentation for that part of this very complex puzzle…

Get the drivers from SDRPlay.

You have to do this on a Windows PC, can’t do it on the Rpi.

Go to sdrplay.com/downloads/

Click on the Raspberry Pi tab

Download the API/HW Driver – V2.13

After is is downloaded, copy it to a empty USB drive

Rename it from “SDRplay-RSP_API-RPi.2.13.1.run to sdrplaydrivers.run

Move the usb drive to your Raspberry pi

Log into the Raspberry pi

We need to mount the USB drive, so we can read it.

To do that, we need to know it’s name.

Type lsblk

In this case, the usb drive is sda1.

We need to make a directory for the files.

Sudo mkdir /media/usb

Then mount it using

Sudo mount /dev/sda1 /media/usb

Lets view our files

Cd /media/usb

LS

Ok, now the fun part, we need to change the file, so we can run it.

Sudo chmod +x sdrplaydrivers.run

Finally, lets run it and install the drivers!

./sdrplaydrivers.run

I’ll write up documentation as I figure out how to get this to work… I’m not a linux guy at all. I had to look up all this on google to get this far.

I’ve made a huge breakthrough on this. I’ll be documenting it later today or tomorrow to share…

pi@raspberrypi:~ $ SoapySDRUtil --probe=sdrplay
######################################################

Soapy SDR – the SDR abstraction library

######################################################

Probe device sdrplay


– Device identification

driver=SDRplay
hardware=RSP2
mir_sdr_api_version=2.130000
mir_sdr_hw_version=2
serial=1701032300


– Peripheral summary

Channels: 1 Rx, 0 Tx
Timestamps: NO
Other Settings:
* RF Gain Select - RF Gain Select
[key=rfgain_sel, default=4, type=string, options=(0, 1, 2, 3, 4, 5, 6, 7, 8)]
* IF Mode - IF frequency in kHz
[key=if_mode, default=Zero-IF, type=string, options=(Zero-IF, 450kHz, 1620kHz, 2048kHz)]
* IQ Correction - IQ Correction Control
[key=iqcorr_ctrl, default=true, type=bool]
* AGC Setpoint - AGC Setpoint (dBfs)
[key=agc_setpoint, default=-30, type=int, range=[-60, 0]]
* ExtRef Enable - External Reference Control
[key=extref_ctrl, default=true, type=bool]
* BiasT Enable - BiasT Control
[key=biasT_ctrl, default=true, type=bool]
* RfNotch Enable - RF Notch Filter Control
[key=rfnotch_ctrl, default=true, type=bool]


– RX Channel 0

Full-duplex: NO
Supports AGC: YES
Stream formats: CS16, CF32
Native format: CS16 [full-scale=32767]
Antennas: Antenna A, Antenna B, Hi-Z
Corrections: DC removal
Full gain range: [0, 47] dB
IFGR gain range: [20, 59] dB
RFGR gain range: [0, 8] dB
Full freq range: [0.01, 2000] MHz
RF freq range: [0.01, 2000] MHz
CORR freq range: MHz
Sample rates: 0.25, 0.5, 1, 2, 2.048, 6, 7, 8, 9, 10 MSps
Filter bandwidths: 0.2, 0.3, 0.6, 1.536, 5, 6, 7, 8 MHz

pi@raspberrypi:~ $ SoapySDRUtil -info
Search path: /usr/local/lib/SoapySDR/modules0.8
Module found: /usr/local/lib/SoapySDR/modules0.8/libsdrPlaySupport.so (0.3.0-14ec39e)
Available factories… sdrplay
Available converters…

  • CF32 -> [CF32, CS16, CS8, CU16, CU8]
  • CS16 -> [CF32, CS16, CS8, CU16, CU8]
  • CS32 -> [CS32]
  • CS8 -> [CF32, CS16, CS8, CU16, CU8]
  • CU16 -> [CF32, CS16, CS8]
  • CU8 -> [CF32, CS16, CS8]
  • F32 -> [F32, S16, S8, U16, U8]
  • S16 -> [F32, S16, S8, U16, U8]
  • S32 -> [S32]
  • S8 -> [F32, S16, S8, U16, U8]
  • U16 -> [F32, S16, S8]
  • U8 -> [F32, S16, S8]

Hello,

I also get the same result:

SoapySDRUtil -info
######################################################
## Soapy SDR – the SDR abstraction library ##
######################################################

Lib Version: v0.8.0-gf722f9ce
API Version: v0.8.0
ABI Version: v0.8
Install root: /usr/local
Search path: /usr/local/lib/SoapySDR/modules0.8
Module found: /usr/local/lib/SoapySDR/modules0.8/libsdrPlaySupport.so (0.3.0-14ec39e)
Available factories… sdrplay
Available converters…

    • CF32 -> [CF32, CS16, CS8, CU16, CU8]*
    • CS16 -> [CF32, CS16, CS8, CU16, CU8]*
    • CS32 -> [CS32]*
    • CS8 -> [CF32, CS16, CS8, CU16, CU8]*
    • CU16 -> [CF32, CS16, CS8]*
    • CU8 -> [CF32, CS16, CS8]*
    • F32 -> [F32, S16, S8, U16, U8]*
    • S16 -> [F32, S16, S8, U16, U8]*
    • S32 -> [S32]*
    • S8 -> [F32, S16, S8, U16, U8]*
    • U16 -> [F32, S16, S8]*
    • U8 -> [F32, S16, S8]*

    but i still don’t have any visible data on satnogs.

Have you had positive results?

What is your satnogs setup?

Manu

To install the SDRPlay driver, there is a faster method:

wget http://www.sdrplay.com/software/SDRplay_RSP_API-ARM64-2.13.1.run

chmod 755 ./SDRplay_RSP_API-ARM64-2.13.1.run

./SDRplay_RSP_API-ARM64-2.13.1.run

Manu

I seem to have a different issue. The sdrplay driver is installed:

$ sudo ldconfig -v | grep libmirsdrapi
ldconfig: /lib/ld-linux.so.3 is the dynamic linker, ignoring
libmirsdrapi-rsp.so.2.13 -> libmirsdrapi-rsp.so.2.13

However the SoapySDR factory is not installed:

Available factories... airspy, audio, bladerf, hackrf, lime, osmosdr, redpitaya, remote, rtlsdr, uhd

I tried installing the package but it’s not in the repo:

$ apt-cache pkgnames | grep -i ^soapysdr-module
soapysdr-module-audio
soapysdr-module-all
soapysdr-module-hackrf
soapysdr-module-rtlsdr
soapysdr-module-bladerf
soapysdr-module-mirisdr
soapysdr-module-redpitaya
soapysdr-module-airspy
soapysdr-module-rfspace
soapysdr-module-uhd
soapysdr-module-remote
soapysdr-module-osmosdr
soapysdr-module-lms7

Do I need to build it myself?

Peter

I’ve just gotten my shiny new SDRPlay RSPdx working on my SatNOGS station.

I’ve documented how I did it here: https://gist.github.com/darksidelemm/18f984e414f772fe69a753db3a4e4756

73
Mark VK5QI

1 Like

@vk5qi thanks. I guessed as much, that SDRPlay is not supported by the Satnogs pi image.

I followed your gist and got a bit further to this:

-- libsdrplay not found.
CMake Error at CMakeLists.txt:16 (message):
  SDRplay development files not found...

(BTW, cmake is not in the Satnogs image, the package needs to be added)