SoapySDDRPlay not working

Add useful snippets of code or links to entire SDR projects.
mikael
Posts: 18
Joined: Tue Dec 06, 2016 9:03 am

Re: SoapySDDRPlay not working

Post by mikael » Mon Jan 02, 2017 11:33 am

This is actually a small flaw in the SoapySDR API semantics more than anything else. The function to locate the SDR device is more or less implicitly assumed to locate available devices. Unfortunately this function is used both when listing the devices in the system as well as allocating them for use. The problem is, you do want to list busy devices, but you do not want to allocate them ...

The old SoapySDRPlay ignored "devAvail" and could allocate the same RSP twice (or one already allocated by a kernel module). This was not a problem when only one RSP was supported, but nowadays it is. Therefor SDRplay fixed it so that the SoapySDR driver now checks the available status of the RSPs.

You could print out a waning message about skipping busy devices in this function, but that requires the user have console access to see. Also, in the case using two RSP, this "warning" would be printed for the normal case as well, unless checking explicit for the case all devices are busy. Also, a waning message would most likely drown in all other output from CubicSDR.

If too much effort to check correct blacklisting mechanism per GNU/Linux distribution, I believe a BIG text notification at install time about blacklisting would be the best solution. This is a problem that won't go away by itself.

Also, this problem only concerns RSP1 since the RSP2 got unique VID/PID not colliding with the standard msi3101/msi2500 TV dongle identity.

Reason: No reason

DK7OB
Posts: 79
Joined: Thu Mar 24, 2016 7:14 am

Re: SoapySDDRPlay not working

Post by DK7OB » Wed Jan 04, 2017 10:40 am

Just to make sure that I am working with the latest SoapySDRPlay:

This commit in github

cae555 Updates for API 2.09 including RSP1 and RSP2

contains all the work done by the sdrplay team?

It's working for me (Ubuntu 16.04 and gqrx 2.6 + modifications) and I noticed the ppm correction is now implemented so I could remove my own hack.

Reason: No reason

sdrplay
Posts: 978
Joined: Wed Jan 07, 2015 7:58 am

Re: SoapySDDRPlay not working

Post by sdrplay » Wed Jan 04, 2017 4:55 pm

DK7OB wrote:contains all the work done by the sdrplay team?
Yes, all of our changes were pushed back into the main SoapySDRPlay github repository.

Best regards,

SDRplay Support

Reason: No reason

DK7OB
Posts: 79
Joined: Thu Mar 24, 2016 7:14 am

Re: SoapySDDRPlay not working

Post by DK7OB » Thu Jan 05, 2017 1:13 pm

Yes, all of our changes were pushed back into the main SoapySDRPlay github repository.
Thanks a lot! It's working fine here with gnuradio and gqrx. The new gain setting is much better than the old one.

The audio latency seems to be smaller now, but this is not confirmed by measurements yet. At least I don't get confused any more when I hear my own transmission back with the RSP1.

Regards,
Wolf, DK7OB

Reason: No reason

deadite66
Posts: 32
Joined: Mon Jan 23, 2017 7:14 pm
Location: Norfolk, UK.

Re: SoapySDDRPlay not working

Post by deadite66 » Fri Feb 03, 2017 6:57 pm

sdrplay on linux seems to be very unstable for me.

constantly get this.
https://paste.ubuntu.com/23919748/

tried lts 4.4 and 4.9.6 kernels.

Reason: No reason
RSP2 Pro and RSP1A owner.

9a4db
Posts: 29
Joined: Sun Jan 24, 2016 6:44 pm

Re: SoapySDDRPlay not working

Post by 9a4db » Sat Feb 04, 2017 10:59 pm

My system is Ubuntu 16.04 64 and GNU Radio with Gqrx is working fine...
CubicSDR is working fine too. All with one SDRPlay RSP1

Running CubicSDR with two SDRPlay RSP1 no chance,
but SDRPlay together with RTL-SDR yes...

All necessary drivers are blacklisted too,
in /etc/modprobe.d/blacklist.conf file
blacklist sdr_msi3101
blacklist msi001
blacklist msi2500

Any tips how to run two (2) RSP1 on Ubuntu 16.04 ?
(SDRConsole V3 on Win 10 is running happy with two RSP1)

Reason: No reason

9a4db
Posts: 29
Joined: Sun Jan 24, 2016 6:44 pm

Re: SoapySDDRPlay not working

Post by 9a4db » Sun Feb 05, 2017 11:21 pm

Up to date API with several re-installations. Have some progress, both SDRplay on USB =>
$ SoapySDRUtil --probe
######################################################
## Soapy SDR -- the SDR abstraction library
######################################################

Probe device
fwDownload: FW image size = 6008
fwDownload: FW image size = 6008
mir_sdr_usb_GetDevices Dev0:vid=1df7 pid=2500 rev=0206 serno=B0001P0004 bus=001 port=004 devAvail=1
mir_sdr_usb_GetDevices Dev1:vid=1df7 pid=2500 rev=0206 serno=B0001P0003 bus=001 port=003 devAvail=1
mir_sdr_usb_SetDeviceIdx idx=0 numDevices=2
Opened device with idVendor = 0x1df7 idProduct = 0x2500 fwVersion = 0x0206 busNum = 001 portNum = 004

----------------------------------------------------
-- Device identification
----------------------------------------------------
driver=SDRplay
hardware=1 B0001P0004
mir_sdr_api_version=2.090000
mir_sdr_hw_version=1

----------------------------------------------------
-- Peripheral summary
----------------------------------------------------
Channels: 1 Rx, 0 Tx
Timestamps: NO
Other Settings:
* RF Gain Select - RF Gain Select
[key=rfgain_sel, default=1, type=string, options=(0, 1, 2, 3)]
* 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]]

----------------------------------------------------
-- 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, 39] dB
IFGR gain range: [20, 59] dB
Full freq range: [0.01, 2000] MHz
RF freq range: [0.01, 2000] MHz
CORR freq range: MHz
Sample rates: [0.25, 10] MHz
Filter bandwidths: [0.2, 8] MHz

mir_sdr_usb_ReleaseDeviceIdx 0

All with some collateral damage
(1) CubicsSDR crashing
(2) GnuRadio & Gqrx looking for old API -> ImportError: libmirsdrapi-rsp.so.1.97: cannot open shared object file: No such file or directory...

Reason: No reason

Post Reply