Hello!
I’ve been doing some programming with SoapySDR in C on Windows and I’ve stumbled upon a strange issue - the call to make the SDR device would fail for me exactly every other time. At first I thought I was doing something wrong in the code, so I went into the Pothos distribution, fired up LimeUtil and got the same behaviour.
Here is the --info output:
Console output
C:\Program Files\PothosSDR\bin>SoapySDRUtil.exe --info
######################################################
## Soapy SDR – the SDR abstraction library ##
######################################################
Lib Version: v0.8.0-PothosSDR-2020.01.26-vc14-x64
API Version: v0.8.0
ABI Version: v0.8
Install root: C:\Program Files\PothosSDR
Search path: C:\Program Files\PothosSDR/lib/SoapySDR/modules0.8
Module found: C:\Program Files\PothosSDR/lib/SoapySDR/modules0.8/airspyhfSupport.dll (0.1.1-81ca737)
Module found: C:\Program Files\PothosSDR/lib/SoapySDR/modules0.8/airspySupport.dll (0.1.2-10d697b)
Module found: C:\Program Files\PothosSDR/lib/SoapySDR/modules0.8/audioSupport.dll (0.1.1-2ae84e3)
Module found: C:\Program Files\PothosSDR/lib/SoapySDR/modules0.8/bladeRFSupport.dll (0.4.1-1c1e8aa)
Module found: C:\Program Files\PothosSDR/lib/SoapySDR/modules0.8/HackRFSupport.dll (0.3.3-3c514ce)
Module found: C:\Program Files\PothosSDR/lib/SoapySDR/modules0.8/IrisSupport.dll (2019.07.0.1-423a351)
Module found: C:\Program Files\PothosSDR/lib/SoapySDR/modules0.8/LMS7Support.dll (19.04.1-538e186b)
Module found: C:\Program Files\PothosSDR/lib/SoapySDR/modules0.8/miriSupport.dll (0.2.6-5a9674c)
Module found: C:\Program Files\PothosSDR/lib/SoapySDR/modules0.8/netSDRSupport.dll (0.1.0-dc4e579)
Module found: C:\Program Files\PothosSDR/lib/SoapySDR/modules0.8/osmosdrSupport.dll (0.2.6-5a9674c)
Module found: C:\Program Files\PothosSDR/lib/SoapySDR/modules0.8/PlutoSDRSupport.dll (0.2.0-e28e4f5)
Module found: C:\Program Files\PothosSDR/lib/SoapySDR/modules0.8/RedPitaya.dll (0.1.1-3d576f8)
Module found: C:\Program Files\PothosSDR/lib/SoapySDR/modules0.8/remoteSupport.dll (0.5.2-6d9bd82)
Module found: C:\Program Files\PothosSDR/lib/SoapySDR/modules0.8/rtlsdrSupport.dll (0.3.1-8ba18f1)
Module found: C:\Program Files\PothosSDR/lib/SoapySDR/modules0.8/sdrPlaySupport.dll (0.3.0-14ec39e)
Module found: C:\Program Files\PothosSDR/lib/SoapySDR/modules0.8/uhdSupport.dll (0.3.6-47972ba)
Available factories… airspy, airspyhf, audio, bladerf, hackrf, iris, lime, miri, netsdr, osmosdr, plutosdr, redpitaya, remote, rtlsdr, sdrplay, uhd
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]
Here is what I get when I try to --make a device for the first time and then every odd time as well:
Console output
C:\Program Files\PothosSDR\bin>SoapySDRUtil.exe --make=“driver=lime”
######################################################
## Soapy SDR – the SDR abstraction library ##
######################################################
Make device driver=lime
[INFO] Make connection: ‘LimeSDR-USB [USB 3.0] 90726074F283B’
[INFO] Reference clock 30.72 MHz
[INFO] Device name: LimeSDR-USB
[INFO] Reference: 30.72 MHz
[INFO] LMS7002M register cache: Disabled
driver=FX3
hardware=LimeSDR-USB
boardSerialNumber=0x74f283b
firmwareVersion=4
gatewareVersion=2.21
hardwareVersion=4
protocolVersion=1
And here is every other time:
Console output
C:\Program Files\PothosSDR\bin>SoapySDRUtil.exe --make=“driver=lime”
######################################################
## Soapy SDR – the SDR abstraction library ##
######################################################Make device driver=lime
[INFO] Make connection: ‘LimeSDR-USB [USB 3.0] 90726074F283B’
e[1me[31m[ERROR] TransferPacket: Read failed (ret=0)e[0m
e[1me[33m[WARNING] Gateware version mismatch!
Expected gateware version 2, revision 21
But found version 0, revision 0
Follow the FW and FPGA upgrade instructions:
Lime Suite - Myriad-RF Wiki
Or run update on the command line: LimeUtil --update
e[0m
[INFO] Reference clock 10.00 MHz
[INFO] Device name: LimeSDR-USB
[INFO] Reference: 10 MHz
e[1me[31m[ERROR] TuneVCO(CGEN) - failed to lock (cmphl!=0)e[0m
e[1me[31m[ERROR] SetFrequencyCGEN(80 MHz) failede[0m
[INFO] LMS7002M register cache: Disabled
e[1me[31m[ERROR] TuneVCO(CGEN) - failed to lock (cmphl!=0)e[0m
e[1me[31m[ERROR] SetFrequencyCGEN(61.44 MHz) failede[0m
e[1me[31m[ERROR] TuneVCO(CGEN) - failed to lock (cmphl!=0)e[0m
e[1me[31m[ERROR] SetFrequencyCGEN(61.44 MHz) failede[0m
driver=FX3
hardware=LimeSDR-USB
boardSerialNumber=0x74f283b
firmwareVersion=4
gatewareVersion=2.21
hardwareVersion=4
protocolVersion=1
Should I build from source and use the latest version? Is this a know issue?
Thanks in advance.