# SoapyLMS issue? Help identify please

**URL:** https://discourse.myriadrf.org/t/soapylms-issue-help-identify-please/6676
**Category:** Lime Suite
**Created:** [6 November 2020 22:20 UTC](https://discourse.myriadrf.org/t/soapylms-issue-help-identify-please/6676 "2020-11-06T22:20:46Z")
**Posts on this page:** 8
**Page:** 1

<div class="post-metadata">

### Author: ![OrsonMaxwell](https://avatars.discourse-cdn.com/v4/letter/o/e47c2d/32.png) [@OrsonMaxwell](https://discourse.myriadrf.org/u/OrsonMaxwell)
#### Post date: [6 November 2020 22:20 UTC](https://discourse.myriadrf.org/t/soapylms-issue-help-identify-please/6676/1 "2020-11-06T22:20:47Z")

</div>

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](http://wiki.myriadrf.org/Lime_Suite#Flashing_images)  
> > 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.

---

<div class="post-metadata">

### Author: ![RightHalfPlane](https://avatars.discourse-cdn.com/v4/letter/r/46a35a/32.png) [@RightHalfPlane](https://discourse.myriadrf.org/u/RightHalfPlane)
#### Post date: [7 November 2020 05:47 UTC](https://discourse.myriadrf.org/t/soapylms-issue-help-identify-please/6676/2 "2020-11-07T05:47:54Z")

</div>

I had too many problems with the SoapySDR C routines - I had to shift everything to the C++ routines to get around the bugs.

On Windows 10 with my LimeSDR-Mini - SoapySDRUtil.exe works perfectly every time.

Have you tried running LimeQuickTest.exe a few times - to see if you get some errors ?

---

<div class="post-metadata">

### Author: ![OrsonMaxwell](https://avatars.discourse-cdn.com/v4/letter/o/e47c2d/32.png) [@OrsonMaxwell](https://discourse.myriadrf.org/u/OrsonMaxwell)
#### Post date: [7 November 2020 09:35 UTC](https://discourse.myriadrf.org/t/soapylms-issue-help-identify-please/6676/3 "2020-11-07T09:35:01Z")

</div>

Hello!

LimeQuickTest also fails exactly every other time.

---

<div class="post-metadata">

### Author: ![andrewback](https://avatars.discourse-cdn.com/v4/letter/a/22d042/32.png) [@andrewback](https://discourse.myriadrf.org/u/andrewback)
#### Post date: [7 November 2020 11:18 UTC](https://discourse.myriadrf.org/t/soapylms-issue-help-identify-please/6676/4 "2020-11-07T11:18:22Z")

</div>

I think I’d start by using the latest version of Lime Suite and then making sure the gateware and firmware are up-to-date also.

---

<div class="post-metadata">

### Author: ![RightHalfPlane](https://avatars.discourse-cdn.com/v4/letter/r/46a35a/32.png) [@RightHalfPlane](https://discourse.myriadrf.org/u/RightHalfPlane)
#### Post date: [7 November 2020 19:19 UTC](https://discourse.myriadrf.org/t/soapylms-issue-help-identify-please/6676/5 "2020-11-07T19:19:59Z")

</div>

You could try running SdrGlut to see if things actually are working ever other time. Almost everything has to be working correctly for it to run correctly. A prebuilt exe is at -

> **[Release This is the Improved Scanning release · righthalfplane/SdrGlut](https://github.com/righthalfplane/SdrGlut/releases/tag/v1.19)**
>
> This is the Improved Scaning release. The last week was spent improving the Scan options. See video for details. It has the prebuilt exe for MacOS Sierra, MacOS High Sierra, MacOS Mojave and MacOS...

---

<div class="post-metadata">

### Author: ![OrsonMaxwell](https://avatars.discourse-cdn.com/v4/letter/o/e47c2d/32.png) [@OrsonMaxwell](https://discourse.myriadrf.org/u/OrsonMaxwell)
#### Post date: [8 November 2020 00:05 UTC](https://discourse.myriadrf.org/t/soapylms-issue-help-identify-please/6676/6 "2020-11-08T00:05:13Z")

</div>

Ok I’ve installed limesuite-git under Arch Linux and can confirm that the problem is not present there. Now I’ll need to find a way to compile it from source on Windows. Thanks!

---

<div class="post-metadata">

### Author: ![OrsonMaxwell](https://avatars.discourse-cdn.com/v4/letter/o/e47c2d/32.png) [@OrsonMaxwell](https://discourse.myriadrf.org/u/OrsonMaxwell)
#### Post date: [8 November 2020 01:27 UTC](https://discourse.myriadrf.org/t/soapylms-issue-help-identify-please/6676/7 "2020-11-08T01:27:29Z")

</div>

Alright, I built LimeSuite from the sources under W10, ran LimeUtil --update, the update went well, but the issue still persists. Here is an example of two consecutive LimeQuickTest runs right after I’ve updated, unplugged and reconnected the device:

> **Console output**
>
> > c:\Program Files (x86)\LimeSuite\bin\>LimeQuickTest.exe  
> > [TESTING STARTED]  
> > -\>Start time: Sun Nov 8 04:18:53 2020  
> > -\>LimeSuite version: 20.10.0-g1480bfea
> > 
> > -\>Device: LimeSDR-USB, media=USB 3.0, module=FX3, serial=00090726074F283B, index=0, HW=4, GW=2.23  
> > Serial Number: 00090726074F283B  
> > Chip temperature: 41 C
> > 
> > [Clock Network Test]  
> > -\>FX3 GPIF clock test  
> > Test results: 24425; 28181; 31937 - PASSED  
> > -\>Si5351C test  
> > CLK0: 17554 / 17554 - PASSED  
> > CLK1: 17554 / 17554 - PASSED  
> > CLK2: 17554 / 17554 - PASSED  
> > CLK3: 17554 / 17554 - PASSED  
> > CLK4: 17554 / 17554 - PASSED  
> > CLK5: 17554 / 17554 - PASSED  
> > CLK6: 17554 / 17554 - PASSED  
> > -\>ADF4002 Test  
> > Result: 10 - PASSED  
> > -\>VCTCXO test  
> > Results : 5112959 (min); 5113089 (max) - PASSED  
> > -\>Clock Network Test PASSED
> > 
> > [FPGA EEPROM Test]  
> > -\>Read EEPROM  
> > -\>Read data: 12 08 03 12 08 03 02  
> > -\>FPGA EEPROM Test PASSED
> > 
> > [LMS7002M Test]  
> > -\>Perform Registers Test  
> > -\>External Reset line test  
> > Reg 0x20: Write value 0xFFFD, Read value 0xFFFD  
> > Reg 0x20: value after reset 0x0FFFF  
> > -\>LMS7002M Test PASSED
> > 
> > [RF Loopback Test]  
> > Note: The test should be run without anything connected to RF ports  
> > -\>Configure LMS  
> > -\>Run Tests (TX\_2-\> LNA\_L):  
> > CH0 (SXR=800.0MHz, SXT=805.0MHz): Result:(-14.7 dBFS, 5.00 MHz) - PASSED  
> > CH1 (SXR=800.0MHz, SXT=805.0MHz): Result:(-16.3 dBFS, 5.00 MHz) - PASSED  
> > -\>Run Tests (TX\_1 → LNA\_W):  
> > CH0 (SXR=1800.0MHz, SXT=1805.0MHz): Result:(-15.6 dBFS, 5.00 MHz) - PASSED  
> > CH1 (SXR=1800.0MHz, SXT=1805.0MHz): Result:(-18.9 dBFS, 5.00 MHz) - PASSED  
> > -\>Run Tests (TX\_2-\> LNA\_H):  
> > CH0 (SXR=2500.0MHz, SXT=2505.0MHz): Result:(-17.0 dBFS, 5.00 MHz) - PASSED  
> > CH1 (SXR=2500.0MHz, SXT=2505.0MHz): Result:(-17.1 dBFS, 5.00 MHz) - PASSED  
> > -\>RF Loopback Test PASSED
> > 
> > =\> Board tests PASSED \<=
> > 
> > Elapsed time: 2.07 seconds
> > 
> > c:\Program Files (x86)\LimeSuite\bin\>LimeQuickTest.exe  
> > [TESTING STARTED]  
> > -\>Start time: Sun Nov 8 04:19:17 2020  
> > -\>LimeSuite version: 20.10.0-g1480bfea
> > 
> > TransferPacket: Read failed (ret=0)  
> > Gateware version mismatch!  
> > Expected gateware version 2, revision 23  
> > But found version 0, revision 0  
> > Follow the FW and FPGA upgrade instructions:  
> > [Lime Suite - Myriad-RF Wiki](http://wiki.myriadrf.org/Lime_Suite#Flashing_images)  
> > Or run update on the command line: LimeUtil --update
> > 
> > -\>Device: LimeSDR-USB, media=USB 3.0, module=FX3, serial=00090726074F283B, index=0, HW=0, GW=0.0  
> > Serial Number: 00090726074F283B  
> > Temperature internal ADC calibration failed  
> > Chip temperature: 0 C
> > 
> > [Clock Network Test]  
> > -\>FX3 GPIF clock test  
> > Test results: 1; 0; 0 - PASSED  
> > -\>Si5351C test  
> > CLK0: 2 / 17554 - FAILED  
> > CLK1: 2 / 17554 - FAILED  
> > CLK2: 2 / 17554 - FAILED  
> > CLK3: 2 / 17554 - FAILED  
> > CLK4: 2 / 17554 - FAILED  
> > CLK5: 2 / 17554 - FAILED  
> > CLK6: 2 / 17554 - FAILED  
> > FAILED  
> > -\>ADF4002 Test  
> > Result: 0 - FAILED  
> > FAILED  
> > -\>VCTCXO test  
> > Results : 4 (min); 4 (max) - FAILED  
> > FAILED  
> > -\>Clock Network Test FAILED
> > 
> > [FPGA EEPROM Test]  
> > -\>Read EEPROM  
> > -\>Read data: 12 08 03 12 08 03 02  
> > -\>FPGA EEPROM Test PASSED
> > 
> > [LMS7002M Test]  
> > -\>Perform Registers Test  
> > RegistersTestInterval(startAddr=0x82, endAddr=0x82) - failed  
> > RegistersTestInterval(startAddr=0x82, endAddr=0x82) - failed  
> > RegistersTestInterval(startAddr=0x84, endAddr=0x84) - failed  
> > RegistersTestInterval(startAddr=0x84, endAddr=0x84) - failed  
> > RegistersTestInterval(startAddr=0x85, endAddr=0x85) - failed  
> > RegistersTestInterval(startAddr=0x85, endAddr=0x85) - failed  
> > RegistersTestInterval(startAddr=0x86, endAddr=0x8c) - failed  
> > RegistersTestInterval(startAddr=0x86, endAddr=0x8c) - failed  
> > RegistersTestInterval(startAddr=0xa8, endAddr=0xac) - failed  
> > RegistersTestInterval(startAddr=0xa8, endAddr=0xac) - failed  
> > RegistersTestInterval(startAddr=0xad, endAddr=0xae) - failed  
> > RegistersTestInterval(startAddr=0xad, endAddr=0xae) - failed  
> > RegistersTestInterval(startAddr=0x100, endAddr=0x104) - failed  
> > RegistersTestInterval(startAddr=0x100, endAddr=0x104) - failed  
> > RegistersTestInterval(startAddr=0x100, endAddr=0x104) - failed  
> > RegistersTestInterval(startAddr=0x100, endAddr=0x104) - failed  
> > RegistersTestInterval(startAddr=0x105, endAddr=0x10b) - failed  
> > RegistersTestInterval(startAddr=0x105, endAddr=0x10b) - failed  
> > RegistersTestInterval(startAddr=0x105, endAddr=0x10b) - failed  
> > RegistersTestInterval(startAddr=0x105, endAddr=0x10b) - failed  
> > RegistersTestInterval(startAddr=0x10c, endAddr=0x114) - failed  
> > RegistersTestInterval(startAddr=0x10c, endAddr=0x114) - failed  
> > RegistersTestInterval(startAddr=0x10c, endAddr=0x114) - failed  
> > RegistersTestInterval(startAddr=0x10c, endAddr=0x114) - failed  
> > RegistersTestInterval(startAddr=0x115, endAddr=0x11a) - failed  
> > RegistersTestInterval(startAddr=0x115, endAddr=0x11a) - failed  
> > RegistersTestInterval(startAddr=0x115, endAddr=0x11a) - failed  
> > RegistersTestInterval(startAddr=0x115, endAddr=0x11a) - failed  
> > RegistersTestInterval(startAddr=0x11c, endAddr=0x124) - failed  
> > RegistersTestInterval(startAddr=0x11c, endAddr=0x124) - failed  
> > RegistersTestInterval(startAddr=0x11c, endAddr=0x124) - failed  
> > RegistersTestInterval(startAddr=0x11c, endAddr=0x124) - failed  
> > RegistersTestInterval(startAddr=0x200, endAddr=0x20c) - failed  
> > RegistersTestInterval(startAddr=0x200, endAddr=0x20c) - failed  
> > RegistersTestInterval(startAddr=0x200, endAddr=0x20c) - failed  
> > RegistersTestInterval(startAddr=0x200, endAddr=0x20c) - failed  
> > RegistersTestInterval(startAddr=0x240, endAddr=0x261) - failed  
> > RegistersTestInterval(startAddr=0x240, endAddr=0x261) - failed  
> > RegistersTestInterval(startAddr=0x240, endAddr=0x261) - failed  
> > RegistersTestInterval(startAddr=0x240, endAddr=0x261) - failed  
> > RegistersTestInterval(startAddr=0x280, endAddr=0x2a7) - failed  
> > RegistersTestInterval(startAddr=0x280, endAddr=0x2a7) - failed  
> > RegistersTestInterval(startAddr=0x280, endAddr=0x2a7) - failed  
> > RegistersTestInterval(startAddr=0x280, endAddr=0x2a7) - failed  
> > RegistersTestInterval(startAddr=0x2c0, endAddr=0x2e7) - failed  
> > RegistersTestInterval(startAddr=0x2c0, endAddr=0x2e7) - failed  
> > RegistersTestInterval(startAddr=0x2c0, endAddr=0x2e7) - failed  
> > RegistersTestInterval(startAddr=0x2c0, endAddr=0x2e7) - failed  
> > RegistersTestInterval(startAddr=0x300, endAddr=0x327) - failed  
> > RegistersTestInterval(startAddr=0x300, endAddr=0x327) - failed  
> > RegistersTestInterval(startAddr=0x300, endAddr=0x327) - failed  
> > RegistersTestInterval(startAddr=0x300, endAddr=0x327) - failed  
> > RegistersTestInterval(startAddr=0x340, endAddr=0x367) - failed  
> > RegistersTestInterval(startAddr=0x340, endAddr=0x367) - failed  
> > RegistersTestInterval(startAddr=0x340, endAddr=0x367) - failed  
> > RegistersTestInterval(startAddr=0x340, endAddr=0x367) - failed  
> > RegistersTestInterval(startAddr=0x380, endAddr=0x3a7) - failed  
> > RegistersTestInterval(startAddr=0x380, endAddr=0x3a7) - failed  
> > RegistersTestInterval(startAddr=0x380, endAddr=0x3a7) - failed  
> > RegistersTestInterval(startAddr=0x380, endAddr=0x3a7) - failed  
> > RegistersTestInterval(startAddr=0x400, endAddr=0x40f) - failed  
> > RegistersTestInterval(startAddr=0x400, endAddr=0x40f) - failed  
> > RegistersTestInterval(startAddr=0x400, endAddr=0x40f) - failed  
> > RegistersTestInterval(startAddr=0x400, endAddr=0x40f) - failed  
> > RegistersTestInterval(startAddr=0x440, endAddr=0x461) - failed  
> > RegistersTestInterval(startAddr=0x440, endAddr=0x461) - failed  
> > RegistersTestInterval(startAddr=0x440, endAddr=0x461) - failed  
> > RegistersTestInterval(startAddr=0x440, endAddr=0x461) - failed  
> > RegistersTestInterval(startAddr=0x480, endAddr=0x4a7) - failed  
> > RegistersTestInterval(startAddr=0x480, endAddr=0x4a7) - failed  
> > RegistersTestInterval(startAddr=0x480, endAddr=0x4a7) - failed  
> > RegistersTestInterval(startAddr=0x480, endAddr=0x4a7) - failed  
> > RegistersTestInterval(startAddr=0x4c0, endAddr=0x4e7) - failed  
> > RegistersTestInterval(startAddr=0x4c0, endAddr=0x4e7) - failed  
> > RegistersTestInterval(startAddr=0x4c0, endAddr=0x4e7) - failed  
> > RegistersTestInterval(startAddr=0x4c0, endAddr=0x4e7) - failed  
> > RegistersTestInterval(startAddr=0x500, endAddr=0x527) - failed  
> > RegistersTestInterval(startAddr=0x500, endAddr=0x527) - failed  
> > RegistersTestInterval(startAddr=0x500, endAddr=0x527) - failed  
> > RegistersTestInterval(startAddr=0x500, endAddr=0x527) - failed  
> > RegistersTestInterval(startAddr=0x540, endAddr=0x567) - failed  
> > RegistersTestInterval(startAddr=0x540, endAddr=0x567) - failed  
> > RegistersTestInterval(startAddr=0x540, endAddr=0x567) - failed  
> > RegistersTestInterval(startAddr=0x540, endAddr=0x567) - failed  
> > RegistersTestInterval(startAddr=0x580, endAddr=0x5a7) - failed  
> > RegistersTestInterval(startAddr=0x580, endAddr=0x5a7) - failed  
> > RegistersTestInterval(startAddr=0x580, endAddr=0x5a7) - failed  
> > RegistersTestInterval(startAddr=0x580, endAddr=0x5a7) - failed  
> > RegistersTestInterval(startAddr=0x20, endAddr=0x2f) - failed  
> > RegistersTestInterval(startAddr=0x20, endAddr=0x2f) - failed  
> > RegistersTestInterval(startAddr=0x92, endAddr=0xa7) - failed  
> > RegistersTestInterval(startAddr=0x92, endAddr=0xa7) - failed  
> > RegistersTest() failed  
> > -\>LMS7002M Test FAILED
> > 
> > [RF Loopback Test]  
> > Note: The test should be run without anything connected to RF ports  
> > -\>Configure LMS  
> > TuneVCO(CGEN) - failed to lock (cmphl!=0)  
> > SetFrequencyCGEN(61.44 MHz) failed  
> > TuneVCO(CGEN) - failed to lock (cmphl!=0)  
> > SetFrequencyCGEN(491.52 MHz) failed  
> > Failed to set sample rate  
> > -\>RF Loopback Test FAILED
> > 
> > =\> Board tests FAILED \<=
> > 
> > Elapsed time: 1.99 seconds

---

<div class="post-metadata">

### Author: ![OrsonMaxwell](https://avatars.discourse-cdn.com/v4/letter/o/e47c2d/32.png) [@OrsonMaxwell](https://discourse.myriadrf.org/u/OrsonMaxwell)
#### Post date: [9 November 2020 14:46 UTC](https://discourse.myriadrf.org/t/soapylms-issue-help-identify-please/6676/8 "2020-11-09T14:46:13Z")

</div>

Also, the LimeSuite seems to have a strict NEQ condition when probing firmware version. That means that if the firmware is newer than the driver expect, it still asks to “update” it. Don’t know if it is an intended behaviour - just something I’ve noticed.

> **Summary**
>
> > [INFO] Make connection: ‘LimeSDR-USB [USB 3.0] 90726074F283B’  
> > e[1me[33m[WARNING] Gateware version mismatch!  
> > Expected gateware version 2, revision 21  
> > But found version 2, revision 23  
> > Follow the FW and FPGA upgrade instructions:  
> > [Lime Suite - Myriad-RF Wiki](http://wiki.myriadrf.org/Lime_Suite#Flashing_images)  
> > Or run update on the command line: LimeUtil --update
