How to install/upgrade SDRPLay API to use with OWRX


Instructions

When using SDRPlay devices, a proprietary API software from SDRPlay needs to be installed so that OWRX can communicate with the SDRPlay receiver.

SDRPlay updates the API regularly and OWRX and the interfacing components follow closely the development of the SDRPlay API. Therefore it is important that the API is kept up to date as new versions of OWRX might use some API functions or calls which older versions do not support, and some features just stop working or the SDRPlay devices just stop working with OWRX.

The SDRPlay API is not maintained as a package for any Linux distributions, but it needs to be installed/updated manually. Here is a step-by-step guide on how to download and install or upgrade the SDRPlay API.

The current version of the API can be found from the SDRPlay API website at https://sdrplay.com/API/

The current version of the API can be downloaded directly using this link https://www.sdrplay.com/software/SDRplay_RSP_API-Linux-3.15.2.run. When new versions are released, the form of the URL remains and only the version number (like here 3.15.2) need to be changed from the URL.

Step 1

Download the installation script:

wget https://www.sdrplay.com/software/SDRplay_RSP_API-Linux-3.15.2.run

Step 2

Make the API installation file executable:

chmod a+x SDRplay_RSP_API-Linux-3.15.2.run

Step 3

The installation needs to happen as root, so sudo is used here. The command can be ran without sudo, in such case the installation dialog will issue sudo request by itself and your password is requested by the sudo dialog. Proceed the way you want.

The contents of the installation dialog output depends on your system, so you might get different results or output as below, but the dialog should remain the same.

Execute the installation with this command:

sudo ./SDRplay_RSP_API-Linux-3.15.2.run

The installation script expects that the license agreement is viewed:

Press RETURN to view the license agreement

Continue with pressing RETURN

Press y and RETURN to accept the license agreement and continue with the installation, or press n and RETURN to exit the installer [y/n]

Continue to the installation by pressing 'y' and RETURN.

The installation begins and lots of information is provided during install:

A copy of the license agreement can be found here: /root/sdrplay_license.txt
                
Architecture reported as being 64 bit
System reports 64 bit files found
System is also setup to produce 64 bit files
Architecture reports machine as being x86_64 compliant

Checking for root permissions. You may be prompted for your password...

The rest of the installation will continue with root permission...

This API requires the following system dependencies...
libusb and lidudev
If the installer cannot detect the presence of these, you will
have the option to continue and you will need to install them

Checking for package tools...
apt found

Checking for packages...
libusb-1.0 found
libudev1 found
Udev directory found, adding rules...rules added
Adding SDRplay devices to the local hardware database...Done
USB name database not found, continuing...

Installing API files, the default locations are...
API service : /opt/sdrplay_api
API header files : /usr/local/include
API shared library : /usr/local/lib
Daemon start scripts : /etc/systemd/system
Daemon start system : SystemD

To continue the installation with these defaults press y and RETURN
or press n and RETURN to change them [y/n]
                

Again, press y and RETURN to continue with the installation

Cleaning old API files...Done.
Installing /usr/local/lib/libsdrplay_api.so.3.15...Done
Installing header files in /usr/local/include...Done
Installing API Service in /opt/sdrplay_api...Done
Installing Service scripts and starting daemon...Removed /etc/systemd/system/multi-user.target.wants/sdrplay.service.
Created symlink /etc/systemd/system/multi-user.target.wants/sdrplay.service → /etc/systemd/system/sdrplay.service.
Done

The API Service has been installed and started. After the installation has
finished, please reboot this device.

To start and stop the API service, use the following commands...

sudo systemctl start sdrplay
sudo systemctl stop sdrplay

If supported on your system, lsusb will now show the RSP name

SDRplay API 3.15 Installation Finished
                

The installation should finish and you are returned to the shell at this stage.

Step 4

Check the SDRPlay service status

As indicated in the installation dialog output, the SDRPlay service has been installed and started. To verify the service status, run this command:

systemctl status sdrplay

The output of the command should be similar what's below and the service is OK and running.

If the result is different, it does not yet mean that the installation has failed. A reboot was requested by the installation dialog, it might fix the issue. In this case, run the command above after rebooting your system to verify good service status.

 sdrplay.service - SDRplay API Service
     Loaded: loaded (/etc/systemd/system/sdrplay.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2024-07-19 00:14:17 EEST; 4min 4s ago
   Main PID: 1236896 (sdrplay_apiServ)
      Tasks: 3 (limit: 9344)
     Memory: 472.0K
        CPU: 416ms
     CGroup: /system.slice/sdrplay.service
             └─1236896 /opt/sdrplay_api/sdrplay_apiService
                

Step 5

Reboot the system

As indicated by the installation dialog, a reboot is required to finish the installation properly. Reboot the system with the following command:

sync; sync; reboot

When the system is up again, OWRX should be happy with the new version of the SDRPlay API


Back to the front page