AlbrechtL / welle.io

A DAB/DAB+ Software Defined Radio (SDR)
https://www.welle.io
Other
614 stars 115 forks source link

[SoapySDR] SDplay RSP support #349

Open Twilight-Logic opened 5 years ago

Twilight-Logic commented 5 years ago

I downloaded this today and I seem to be having problems getting it to work.

On Windows, the player does not recognize the RSP radio. It works find with an RTLSDR though.

On Linux, I get no indication that the RSP radio has not been recognized, but selecting scan for stations crashes the application. I cannot see any indication of whether the radio is connected or not so cannot provide any further information. The radio is recognized OK in SoapySDRUtil.

$ SoapySDRUtil -info ######################################################

Soapy SDR -- the SDR abstraction library

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

Lib Version: v0.7.1-g7bb9ca15 API Version: v0.7.1 ABI Version: v0.7 Install root: /usr/local Search path: /usr/local/lib/SoapySDR/modules0.7 Module found: /usr/local/lib/SoapySDR/modules0.7/libsdrPlaySupport.so (0.3.0-31a3a36) 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]

Output from AppImage:

$ ./DABradio.AppImage 2019-02-19T23:07:58.137 Debug: main: Set language "en_GB" 2019-02-19T23:07:58.137 Debug: main: Error while loading language "en_GB" use English "en_GB" instead 2019-02-19T23:07:58.155 Debug: Audio: ActiveState 2019-02-19T23:07:58.475 Debug: RadioController: Close device 2019-02-19T23:07:58.483 Info: SoapySdr 2019-02-19T23:07:58.483 Info: SoapySDR driver=null hardware=null 2019-02-19T23:07:58.483 Info: SoapySDR master clock rate set to 0 kHz 2019-02-19T23:07:58.483 Info: OutputSoapySDR:Actual RX rate: 0 ksps. 2019-02-19T23:07:58.483 Info: Supported antenna: 2019-02-19T23:07:58.483 Info: Not selecting antenna 2019-02-19T23:07:58.483 Info: DC offset compensation not supported 2019-02-19T23:07:58.483 Info: Setup soapy stream 2019-02-19T23:07:58.484 Info: Unexpected stream error NOT_SUPPORTED 2019-02-19T23:07:58.484 Info: Close soapy stream 2019-02-19T23:07:58.484 Info: Soapy gain 1513768029 is out of range 2019-02-19T23:07:58.484 Info: Soapy gain is 0 2019-02-19T23:07:58.484 Debug: RadioController: AGC off 2019-02-19T23:07:58.484 Debug: Audio: Volume 1 2019-02-19T23:07:58.484 Info: Select antenna A, supported: 2019-02-19T23:07:58.484 Debug: Apply settings initially 2019-02-19T23:07:58.484 Info: Soapy gain 0 is out of range 2019-02-19T23:07:58.484 Info: Soapy gain is 0 2019-02-19T23:07:58.484 Debug: RadioController: AGC on 2019-02-19T23:07:58.484 Debug: RadioController: Close device 2019-02-19T23:07:58.485 Info: InputFactory:Input device:auto 2019-02-19T23:07:58.486 Info: Airspy:Open airspy 2019-02-19T23:07:58.490 Info: Airspy:airpsy_open () failed:AIRSPY_ERROR_NOT_FOUND(-5) 2019-02-19T23:07:58.490 Info: RTL_SDR:Open rtl-sdr 2019-02-19T23:07:58.493 Info: RTL_SDR:No devices found 2019-02-19T23:07:58.497 Info: SoapySdr 2019-02-19T23:07:58.497 Info: SoapySDR driver=null hardware=null 2019-02-19T23:07:58.497 Info: SoapySDR master clock rate set to 0 kHz 2019-02-19T23:07:58.497 Info: OutputSoapySDR:Actual RX rate: 0 ksps. 2019-02-19T23:07:58.497 Info: Supported antenna: 2019-02-19T23:07:58.497 Info: Not selecting antenna 2019-02-19T23:07:58.497 Info: DC offset compensation not supported 2019-02-19T23:07:58.497 Info: Setup soapy stream 2019-02-19T23:07:58.497 Debug: RadioController: AGC on 2019-02-19T23:07:58.497 Info: Unexpected stream error NOT_SUPPORTED 2019-02-19T23:07:58.497 Info: Close soapy stream 2019-02-19T23:07:58.497 Debug: Audio: Volume 1 2019-02-19T23:07:58.555 Warning: file:///tmp/.mount_DABrad7TANr1/usr/qml/QtQuick/Controls.2/ApplicationWindow.qml: Conflicting properties 'visible' and 'visibility' for Window 'window' 2019-02-19T23:07:58.558 Debug: os: linux 2019-02-19T23:07:58.558 Debug: desktopAvailableWidth: 1920 2019-02-19T23:07:58.558 Debug: desktopAvailableHeight: 1055 2019-02-19T23:07:58.558 Debug: orientation: 2 2019-02-19T23:07:58.558 Debug: devicePixelRatio: 1 2019-02-19T23:07:58.558 Debug: pixelDensity: 3.2124940277114193

mpbraendli commented 5 years ago

The AppImage doesn't contain any SoapySDR Device drivers, which renders the SoapySDR input useless. You should be able to get it to work if you compile it yourself. Sorry about that, I think we will remove SoapySDR from the AppImage in the future.

Please reopen the ticket if you encounter an issue with your device if you compile welle.io yourself.

Twilight-Logic commented 5 years ago

Not sure what to make of this response. The device is promoted as supporting SoapySDR devices? Would it not be better to add the API (drivers) for the SDRplay radios?

I did attempt to compile this myself, but after a 10Gb QT download it would still not compile. I got issues with QWT which I could not resolve. I couldn't get past this point:

$ cmake .. -- Build type not specified: defaulting to release. CMake Error at /usr/lib/x86_64-linux-gnu/cmake/Qt5/Qt5Config.cmake:28 (find_package): Could not find a package configuration file provided by "Qt5Quick" with any of the following names:

Qt5QuickConfig.cmake
qt5quick-config.cmake

Add the installation prefix of "Qt5Quick" to CMAKE_PREFIX_PATH or set "Qt5Quick_DIR" to a directory containing one of the above files. If "Qt5Quick" provides a separate development package or SDK, be sure it has been installed. Call Stack (most recent call first): CMakeLists.txt:45 (find_package)

-- Configuring incomplete, errors occurred! See also "/home/johnc/src/WelleIO/welle.io-2.0-beta1/build/CMakeFiles/CMakeOutput.log".

mpbraendli commented 5 years ago

The point of SoapySDR is to be an abstraction between applications and the SDR devices, so that we as application developers can focus on the actual application, and the user can choose the device by installing the corresponding Soapy Device driver.

But the AppImage bundles all these things together, and so we end up having to decide what device drivers we include. That should be the user's choice! I am not aware of a way to get the SoapySDR inside the AppImage use the SoapySDR Device drivers that the user has on his system.

This is why I believe AppImage and SoapySDR don't mix well. It's quite unfortunate.

Twilight-Logic commented 5 years ago

Yes, unfortunate, but I think I understand what you mean. This obviously leaves compiling from sources as the only option. I really don't like the idea of having to download 10Gb of QT10 stuff on my system. The current QT9.x stuff takes nowhere near this amount of space (about 200-300Mb). It is possible to deselect various modules in the QT over-the-internet install, so is there a minimum configuration I should use or do I need to install all of it?

AlbrechtL commented 5 years ago

Would it not be better to add the API (drivers) for the SDRplay radios?

I asked SDRplay Ltd. for support of SDRplay inside welle.io and there were not interested. That's the reason why there is no direct support of SDRplay.

I added the SoapySDR support to the AppImage because I expected that SoapySDR will use the system libs if available. Now I see that this is not working. There are two options

  1. Remove SoapySDR from the AppImage
  2. Add all SoapySDR libs to the AppImage

@mpbraendli What do you think?

@Twilight-Logic For compiling welle.io please follow the https://github.com/AlbrechtL/welle.io/blob/next/README.md and use the next branch.

mpbraendli commented 5 years ago

I'm in favour of removing SoapySDR from the AppImage, unless we find a way to use system soapy device drivers.

Twilight-Logic commented 5 years ago

I appreciate the dilemma and its a shame they were not interested. I will experiment some more to see if I can get anything working and will let you know if I have any success.

AlbrechtL commented 5 years ago

Any update here?

Reopened to track it.

mpbraendli commented 5 years ago

No updates from my side. Do you remove Soapy from the AppImage?

AlbrechtL commented 5 years ago

Do you remove Soapy from the AppImage?

Not yet.

chjohn22 commented 5 years ago

Maybe we must apply some pressure to the developers of SDRplay. They still do not get it, that a successful SDR does not only need superb hardware but a good support of (opensource)-Software/drivers.

SDRplay did most of the development for Windows, now they slowly begin to take care with driver support for Linux, but most of their code still is Windows only and closed source.