Re: Less Soapy than expected


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
 

Join sdrangel@groups.io to automatically receive all group messages.