Skip to content
Franco Venturi edited this page Jul 28, 2021 · 2 revisions

Soapy SDR plugin for SDR Play

image

The Soapy SDR Play project provides a plugin module to use the SDR Play device within the SoapySDR API and software that supports SoapySDR.

SoapySDRPlay table of contents

Installers

Pre-built installers for various systems are available through the Pothos SDR environment.

Dependencies

Building Soapy SDR Play

The CMake build system will locate mirsdrapi-rsp and SoapySDR development files on your system. The plugin module will be built and installed into the SoapySDR modules directories.

git clone https://github.com/pothosware/SoapySDRPlay.git
cd SoapySDRPlay
mkdir build
cd build
cmake ..
make
sudo make install

Probing Soapy SDR Play

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

Probe device driver=sdrplay

----------------------------------------------------
-- Device identification
----------------------------------------------------
  driver=SDRplay
  hardware=1807058E93
  mir_sdr_api_version=2.130000
  mir_sdr_hw_version=255

----------------------------------------------------
-- 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, 9)]
     * 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]]
     * BiasT Enable - BiasT Control
       [key=biasT_ctrl, default=true, type=bool]
     * RfNotch Enable - RF Notch Filter Control
       [key=rfnotch_ctrl, default=true, type=bool]
     * DabNotch Enable - DAB Notch Filter Control
       [key=dabnotch_ctrl, default=true, type=bool]

----------------------------------------------------
-- RX Channel 0
----------------------------------------------------
  Full-duplex: YES
  Supports AGC: YES
  Stream formats: CS16, CF32
  Native format: CS16 [full-scale=32767]
  Antennas: RX
  Corrections: DC removal
  Full gain range: [0, 48] dB
    IFGR gain range: [20, 59] dB
    RFGR gain range: [0, 9] 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

Troubleshooting

In case your SDRPlay dongle is connect but you still get :

Probe device driver=sdrplay
Error probing device: no available RSP devices found

(please note that the message above will be also displayed if all the connected RSP devices are used by other SDR applications and hence not available)

Look at dmesg to see if your system has loaded device drivers for the SDR module. They are incompatible with the binary-only driver. Relevant output: :

[20084.148384] msi2500 3-2:1.0: Registered as swradio0
[20084.148386] msi2500 3-2:1.0: SDR API is still slightly experimental and functionality changes may follow

In this case, edit /etc/modprobe.d/blacklist.conf and add: :

blacklist sdr_msi3101
blacklist msi001
blacklist msi2500

Then, remove the offending modules and restart the module loading service (or whatever loads the modules on your Linux distribution): :

sudo rmmod msi001 msi2500
sudo systemctl restart systemd-modules-load.service

As a last step, unplug and replug your SDRPlay dongle and try to probe it again with SoapySDRUtil.