Topics

Less Soapy than expected


Alex DEKKER
 

You can add RSP1a to the list of devices not to use below 2Msps [which is odd because it seems to work better below 2Msps in Gqrx].


Edouard Griffiths
 

Yes the link was missing from the Wiki this has been corrected. Generally a readme.md file can be found in each plugin source directory. The Red Pitaya "bug" is also mentioned and is due to the way the Red Pitaya SoapySDR module has been designed. If you don't need it just do not install or remove SoapySDR support for Red Pitaya.


Alex DEKKER
 

On 06/01/2019 04:54, Edouard Griffiths wrote:

[Edited Message Follows]

The .deb archive provides only the SoapySDR base library. It is your responsibility to install SoapySDR in your system with the SoapySDR plugins suitable for your hardware. This is what the readme says
I am yet to find such a readme. The one in the .deb is a placeholder. The top level Readme.md mentions SoapySDR once. I don't see SoapySDR referenced here: https://github.com/f4exb/sdrangel/wiki/Sample-source-plugins

but does not say that even with SoapySDR installed in your system there is still a little bit of work to do. You will need to do a symbolic link to the SoapySDR directory of the SoapySDR installation (in the lib directory) inside /opt/sdrangel/lib.
Symlinks created to the system SoapySDR libraries, I now have my local RSP1a working! The remote RTL-SDR dongle sometimes appears, sometimes doesn't. Not sure why. I also have a Redpitaya appear which I definitely don't have [and it doesn't work].

alexd


Edouard Griffiths
 
Edited

The .deb archive provides only the SoapySDR base library. It is your responsibility to install SoapySDR in your system with the SoapySDR plugins suitable for your hardware. This is what the readme says but does not say that even with SoapySDR installed in your system there is still a little bit of work to do.

You will need to do a symbolic link to the SoapySDR directory of the SoapySDR installation (in the lib directory) inside /opt/sdrangel/lib. In my case I have built and installed SoapySDR from source in a custom location which is /opt/install/SoapySDR so I would do:

cd /opt/sdrangel/lib
ln -s /opt/install/SoapySDR/lib/SoapySDR

Then with a Soapy remote instance running somewhere (here on the localhost) the various devices are automatically scanned through Soapy remote (here only pulseaudio). You will see remote devices just like other SoapySDR devices in the list from the GUI and you will see something like this in the log:

2019-01-06 05:39:13.652 (D) DeviceSoapySDRScan::scan: Lib Version: v0.7.0-g6d21756e
2019-01-06 05:39:13.652 (D) DeviceSoapySDRScan::scan: API Version: v0.7.0
2019-01-06 05:39:13.652 (D) DeviceSoapySDRScan::scan: ABI Version: v0.7
2019-01-06 05:39:13.652 (D) DeviceSoapySDRScan::scan: Install root: /opt/install/SoapySDR
2019-01-06 05:39:13.653 (D) DeviceSoapySDRScan::scan: loaded module: /opt/install/SoapySDR/lib/SoapySDR/modules0.7/libaudioSupport.so
2019-01-06 05:39:13.653 (W) DeviceSoapySDRScan::scan: cannot load module /opt/install/SoapySDR/lib/SoapySDR/modules0.7/libHackRFSupport.so: dlopen() failed: libhackrf.so.0: cannot open shared object file: No such file or directory
2019-01-06 05:39:13.653 (W) DeviceSoapySDRScan::scan: cannot load module /opt/install/SoapySDR/lib/SoapySDR/modules0.7/libLMS7Support.so: dlopen() failed: libLimeSuite.so.18.10-1: cannot open shared object file: No such file or directory
2019-01-06 05:39:13.654 (D) DeviceSoapySDRScan::scan: loaded module: /opt/install/SoapySDR/lib/SoapySDR/modules0.7/libremoteSupport.so
2019-01-06 05:39:13.654 (D) DeviceSoapySDRScan::scan: loaded module: /opt/install/SoapySDR/lib/SoapySDR/modules0.7/librtlsdrSupport.so
2019-01-06 05:39:13.654 (W) DeviceSoapySDRScan::scan: cannot load module /opt/install/SoapySDR/lib/SoapySDR/modules0.7/libsdrPlaySupport.so: dlopen() failed: libmirsdrapi-rsp.so.2.13: cannot open shared object file: No such file or directory
2019-01-06 05:39:13.654 (D) DeviceSoapySDRScan::scan: driver: audio
2019-01-06 05:39:13.655 (D) DeviceSoapySDRScan::scan: audio #0 PulseAudio
2019-01-06 05:39:13.655 (D) DeviceSoapySDRScan::scan: audio #0 driver=Audio hardware=Audio #Rx=1 #Tx=0
2019-01-06 05:39:13.655 (D) DeviceSoapySDRScan::scan: driver: remote
2019-01-06 05:39:13.776 (D) DeviceSoapySDRScan::scan: remote #0 PulseAudio
2019-01-06 05:39:13.789 (D) DeviceSoapySDRScan::scan: remote #0 driver=Audio hardware=Audio #Rx=1 #Tx=0
2019-01-06 05:39:13.789 (D) DeviceSoapySDRScan::scan: driver: rtlsdr
2019-01-06 05:39:13.796 (D) SoapySDRInputPlugin::enumSampleSources: 2 SoapySDR devices. Enumerate these with Rx channel(s):
2019-01-06 05:39:13.796 (D) SoapySDRInputPlugin::enumSampleSources: device #0 (PulseAudio) serial audio-0 channel 0
2019-01-06 05:39:13.796 (D) SoapySDRInputPlugin::enumSampleSources: device #1 (PulseAudio) serial remote-0 channel 0

As you can see there are still failures due to SDR hardware support libraries missing. In my case they are not missing but also in custom locations so if I want to see my HackRF,  LimeSDR and SDRplay devices I need to add libraries to the LD_LIBRARY_PATH variables before starting sdrangel like this:

export LD_LIBRARY_PATH=/opt/install/LimeSuite/lib:/opt/install/libhackrf/lib:/opt/install/libsdrplay/lib:$LD_LIBRARY_PATH
/opt/sdrangel/bin/sdrangel

Then the SoapySDR support modules are correctly loaded and my HackRF becomes visible (I do not have LimeSDR nor SDRplay connected):

2019-01-06 05:47:01.864 (D) DeviceSoapySDRScan::scan: Lib Version: v0.7.0-g6d21756e
2019-01-06 05:47:01.864 (D) DeviceSoapySDRScan::scan: API Version: v0.7.0
2019-01-06 05:47:01.864 (D) DeviceSoapySDRScan::scan: ABI Version: v0.7
2019-01-06 05:47:01.864 (D) DeviceSoapySDRScan::scan: Install root: /opt/install/SoapySDR
2019-01-06 05:47:01.865 (D) DeviceSoapySDRScan::scan: loaded module: /opt/install/SoapySDR/lib/SoapySDR/modules0.7/libaudioSupport.so
2019-01-06 05:47:01.865 (D) DeviceSoapySDRScan::scan: loaded module: /opt/install/SoapySDR/lib/SoapySDR/modules0.7/libHackRFSupport.so
2019-01-06 05:47:01.866 (D) DeviceSoapySDRScan::scan: loaded module: /opt/install/SoapySDR/lib/SoapySDR/modules0.7/libLMS7Support.so
2019-01-06 05:47:01.867 (D) DeviceSoapySDRScan::scan: loaded module: /opt/install/SoapySDR/lib/SoapySDR/modules0.7/libremoteSupport.so
2019-01-06 05:47:01.867 (D) DeviceSoapySDRScan::scan: loaded module: /opt/install/SoapySDR/lib/SoapySDR/modules0.7/librtlsdrSupport.so
2019-01-06 05:47:01.909 (D) DeviceSoapySDRScan::scan: loaded module: /opt/install/SoapySDR/lib/SoapySDR/modules0.7/libsdrPlaySupport.so
2019-01-06 05:47:01.909 (D) DeviceSoapySDRScan::scan: driver: audio
2019-01-06 05:47:01.909 (D) DeviceSoapySDRScan::scan: audio #0 PulseAudio
2019-01-06 05:47:01.909 (D) DeviceSoapySDRScan::scan: audio #0 driver=Audio hardware=Audio #Rx=1 #Tx=0
2019-01-06 05:47:01.909 (D) DeviceSoapySDRScan::scan: driver: hackrf
2019-01-06 05:47:01.910 (D) DeviceSoapySDRScan::scan: hackrf #0 HackRF One #0 453c64c8214d178f
[INFO] Opening HackRF One #0 453c64c8214d178f...
2019-01-06 05:47:01.921 (D) DeviceSoapySDRScan::scan: hackrf #0 driver=HackRF hardware=HackRF One #Rx=1 #Tx=1
2019-01-06 05:47:01.921 (D) DeviceSoapySDRScan::scan: driver: lime
2019-01-06 05:47:01.931 (D) DeviceSoapySDRScan::scan: driver: remote
2019-01-06 05:47:02.044 (D) DeviceSoapySDRScan::scan: remote #0 PulseAudio
2019-01-06 05:47:02.054 (D) DeviceSoapySDRScan::scan: remote #0 driver=Audio hardware=Audio #Rx=1 #Tx=0
2019-01-06 05:47:02.055 (D) DeviceSoapySDRScan::scan: driver: rtlsdr
2019-01-06 05:47:02.064 (D) DeviceSoapySDRScan::scan: driver: sdrplay
2019-01-06 05:47:02.075 (D) SoapySDRInputPlugin::enumSampleSources: 3 SoapySDR devices. Enumerate these with Rx channel(s):
2019-01-06 05:47:02.075 (D) SoapySDRInputPlugin::enumSampleSources: device #0 (PulseAudio) serial audio-0 channel 0
2019-01-06 05:47:02.075 (D) SoapySDRInputPlugin::enumSampleSources: device #1 (HackRF One #0 453c64c8214d178f) serial hackrf-0 channel 0
2019-01-06 05:47:02.075 (D) SoapySDRInputPlugin::enumSampleSources: device #2 (PulseAudio) serial remote-0 channel 0

Note that you may need to install avahi as recommended here: https://github.com/pothosware/SoapyRemote/wiki#dependencies
 


Alex DEKKER
 

Using 4.3.2 from https://github.com/f4exb/sdrangel/releases/download/v4.3.2/sdrangel_4.3.2-1_amd64.deb. I can use Funcube Dongle, RTL-SDR stick, etc, just fine when plugged in directly. I also want to use an SDRPlay RSP1a and an RTL-SDR stick via a server running SoapySDRServer. I can see loaded plugins for SDRPlay and SoapySDR Input. I can't select either of these from the Sampling Devices list and there doesn't seem to be a way to specify the IP of a SoapySDRServer.

 SoapySDRUtil --find lists both the local RSP1a and the remote RTL-SDR dongle.

What else do I need to do to use Soapy sources with sdrangel?