Problems with LimeSDR mini

having same and similar issues, a definite way/guide to get limesdrmini to work even in gnuradio would be nice.

Trying to upgrade the Lime Mini with LimeUtil in Linux but this does not work:

/opt/install/LimeSuite/bin/LimeUtil --update
Connected to [LimeSDR Mini [USB 3.0] 1D35485A599DBA]
Programming failed! Read operation failed
Programming failed! Read operation failed
Programming failed! Read operation failed
[ 0%] 0/303104 Bytes Programming failed! Read operation failed (/home/f4exb/.local/share/LimeSuite/images/18.02/LimeSDR-Mini_HW_1.1_r1.24.rpd)
Programming update failed! : Programming failed! Read operation failed

dmesg shows this:

[103708.946056] usb 4-1.4.2: new SuperSpeed USB device number 5 using xhci_hcd
[103708.962914] usb 4-1.4.2: New USB device found, idVendor=0403, idProduct=601f
[103708.962918] usb 4-1.4.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[103708.962921] usb 4-1.4.2: Product: LimeSDR Mini
[103708.962924] usb 4-1.4.2: Manufacturer: Lime Micro
[103708.962926] usb 4-1.4.2: SerialNumber: 1D35485A599DBA
[103854.419177] usb 4-1.4.2: reset SuperSpeed USB device number 5 using xhci_hcd
[103854.437085] usb 4-1.4.2: usbfs: process 3120 (LimeUtil) did not claim interface 0 before use
[103905.464980] usb 4-1.4.2: reset SuperSpeed USB device number 5 using xhci_hcd
[103905.482971] usb 4-1.4.2: usbfs: process 3165 (LimeUtil) did not claim interface 0 before use
[104213.607490] usb 4-1.4.2: reset SuperSpeed USB device number 5 using xhci_hcd

Note that updating the “big” Lime works flawlessly with no complaints in dmesg:

[100%] 574703/574703 Bytes programming: completed (/home/f4exb/.local/share/LimeSuite/images/18.02/LimeSDR-USB_HW_1.4_r2.14.rbf)
Programming update complete!

Note that nor the Mini nor the “big” work correctly after firmware upgrade and LimeSuite update. Firstly the range reported by LMS_GetLOFrequencyRange is rubbish with a minimum frequency of 30 MHz and a maximum of 3.8 MHz. This fools all the rest…

This is what gets reported by calls to LimeSuite:
11.03.2018 01:14:37.360 (D) LimeSDRInput::getLORange: min: 30000000.000000 max: 3800000.000000 step: 0.000000
11.03.2018 01:14:37.360 (D) LimeSDRInput::getSRRange: min: 100000.000000 max: 80000000.000000 step: 0.000000
11.03.2018 01:14:37.360 (D) LimeSDRInput::getLPRange: min: 1400000.000000 max: 130000000.000000 step: 0.000000
The step is also wrong.

So if I bypass the range reporting issue I run into more problems like cannot set the NCO correctly and read stream stopping after a while. The Mini would not give any output.

I have a feeling that changes have been made in the USB interface that cause a lot of problems… Please fix it.

I had the same problem MAC OSX and Ubuntu 17.10 would not program the Lime Mini. But tried Windows 10 and it worked. I upgraded from 1.22 to 1.24

Interesting. I’ve tried on both Ubuntu and Windows (In a VM) with the same result. Not sure what I’m doing wrong, but I can’t get any software to work reliably.

Is this with a pre-production unit (no metal screening) ?

Mine is, though I haven’t tried to update FW recently.

Yes exactly.

Right, so I’m not sure if their gateware/firmware can be updated via Lime Suite and it may be that a JTAG cable would be required to load an updated version that can.

@Zack, could you confirm please.

If this is the case we’ll get another board out to you if you don’t have a suitable cable.

I have JTAG programmer and can probably find cable, but there is no header on the board, just two footprints on the PCB.

How do you program it with a jtag? I also have a JTAG cable although as csete mentioned I’ll have solder pins on it as its bare pads.

When holding the board with the USB on the west side and the SMAs on the east there is a 5 pin header on the south is this the JTAG header? Which kind of JTAG cable must be used (Altera, Xilinx, …) ?

Secondly I still have problems with the new Lime Suite and new firmware on the “big” Lime.

AFAIK updating via JTAG may need to be done only with the pre-production LimeSDR Mini boards. Even then, I don’t recommend attempting to solder a header on and do this until it has been confirmed this is required.

Will drop you a line to get some more details and we’ll be looking into this.

Also having trouble getting the LimeSDR mini to do anything interesting.

  1. Installed the latest PothosWare
  2. Downloaded and replaced the LimesuiteGUI - Current Pothosware does not have the latest version and installs the 1.22 version FPGA code. V1.24 sucessfully programmed via the GUI.
  3. LimesuiteGUI will talk to LimeMini. If I hit ‘default’ first then FFTviewer works. I can use the SXR tab to set the frequency and RFE tabs to set the front end. RX_rate stays at zero, but the spectrum looks correct for the selected bands…
  4. I can run Zacks windows test program and it reports everything as passed.
  5. However when I try and use applications with it it does not work. So far tested SDRconsoleV3,GQRX,CubicSDR,Pothosflow,GRC.
  6. Tried setting the arguments to “driver=lime,soapy=2” in GQRX, but nothing.
  7. Tested on 3 different machines using both Windows and UBUNTU.One of these successfully talks to the LimeSDR-USB.

I am fairly sure that the radio is not broken and that I have the latest drivers for everything installed. Running out of things to try.

Any ideas what to try next?

As for SDR-Console V3 if you have the FTDI 601 driver installed it should just work.
as for the rest tis F*cked up

In Linux buntu/debian only thing i got to work rigtht was osmotrx not sure why thou

This issue has been opened to fix the frequency range report: https://github.com/myriadrf/LimeSuite/issues/171

Note: I noticed that the step information seems to have been removed. However it is still present in the API documentation:
http://docs.myriadrf.org/LMS_API/structlms__range__t.html

Do you plan to update the API documentation? Apparently the Lime Suite API does not work at all as it used to be and these are undocumented changes that makes it very difficult for third party developers to follow.

Note2: many of these changes seem to have been done with this commit: https://github.com/myriadrf/LimeSuite/commit/c02f4358b6eb3a83f333e8951419f34b18667dde

I have made some progress.

A new build of Pothosware was uploaded by Josh on Monday 12/3/18 that replaces 6/2/18. I installed this and things seem to have improved marginally.

CubicSDR - Will now work - I can successfully demodulate FM signals in the central 100KHz. If I increase the sample rate the spectrum is zero except over the central 100KHz. It seems like there is a filter in the FPGA rejecting wider band signals.

SDRv3 - Still not working with the mini - but works with the SDR-USB.

GQRX(Windows - Pothos build) - Not working at all
GQRX(Ubuntu) fails and shos the following errors:-

 [ERROR] SetFrequencyCGEN(80 MHz) failed:
INT: 63	FRAC: 0	DIV_OUTCH_CGEN: 15
VCO: 2560 MHz	RefClk: 40 MHz
TuneVCO(CGEN) - VCO too low
[ERROR] SetFrequencyCGEN(80 MHz) failed:
INT: 63	FRAC: 0	DIV_OUTCH_CGEN: 15
VCO: 2560 MHz	RefClk: 40 MHz
TuneVCO(CGEN) - VCO too low
[ERROR] MCU working too long 4
[ERROR] setBandwidth(Rx, 0, 30 MHz) Failed - SetFrequencyCGEN(80 MHz) failed:
INT: 63	FRAC: 0	DIV_OUTCH_CGEN: 15
VCO: 2560 MHz	RefClk: 40 MHz
TuneVCO(CGEN) - VCO too low

Pothos Flow - Will not work and returns the following errors

[13:14:42.830000] SoapySDR: Make connection: 'LimeSDR Mini [USB 3] 1D3A0BF36xxxxx'
[13:14:43.455000] SoapySDR: Reference clock 40.00 MHz
[13:14:43.470000] SoapySDR: Device name: LimeSDR-Mini
[13:14:43.470000] SoapySDR: Reference: 4e+07 MHz
[13:14:44.469000] SoapySDR: LMS7002M calibration values caching Disable
[13:14:44.500000] SoapySDR: SetFrequencyCGEN(80 MHz) failed
[13:14:44.547000] SoapySDR: SetFrequencyCGEN(128 MHz) failed

GNUradio Companion - using OSMOCOM driver - runs, but the spectrum looks wrong and the following errors are returned.

Executing: C:\Python27\python.exe -u C:\Users\hagst\Documents\top_block.py
Error: EnvironmentError: OSError: LoadLibrary failed to load "C:\Program Files\PothosSDR\lib\uhd\modules\umtrx.dll"
gr-osmosdr v0.1.4-98-gc653754d (0.1.5git) gnuradio 3.7.11.1
built-in source types: file osmosdr fcd rtl rtl_tcp uhd miri hackrf bladerf airspy soapy redpitaya 

[INFO] Make connection: 'LimeSDR Mini [USB 3] 1D3A0BF36xxxxx'
[INFO] Reference clock 40.00 MHz
[INFO] Device name: LimeSDR-Mini
[INFO] Reference: 4e+07 MHz
[INFO] LMS7002M calibration values caching Disable
e[1me[31m[ERROR] SetFrequencyCGEN(80 MHz) failede[0m
e[1me[31m[ERROR] SetFrequencyCGEN(160 MHz) failede[0m
[INFO] RX LPF configured
gr::pagesize: no info; setting pagesize = 4096
[INFO] Rx calibration finished

Seems like the issue definitely resides in the SetFrequencyCGEN(80 MHz) routine.

Could it be that all of them at startup just reset chip and do not set default settings for LimeSDR mini board, with incorrect LDO settings CGEN/SXR/SXT won’t work on mini board

here i run quick test following error received

[ RF Loopback Test ]
->Configure LMS
->Run Tests (TX_2 -> LNA_W):
->On board loopback test:
Test 1:(SXR=1000.0MHz, SXT=1005.0MHz, TXPAD=8): Result:(-63.3 dBFS, -6.72 MHz) - FAILED
->Configure LMS
->Run Tests (TX_1 -> LNA_H):
->On board loopback test:
Test 1:(SXR=2100.0MHz, SXT=2105.0MHz, TXPAD=8): Result:(-63.3 dBFS, -6.72 MHz) - FAILED
->RF Loopback Test FAILED

=> Board tests FAILED <=

Zack i test limsdr mini results Board Test Failed, here detailed log

[ TEST STARTED ]
->Start time: Wed Mar 14 06:12:45 2018

->Device: LimeSDR Mini, media=USB 2, module=FT601, serial=1D3A01219BCC7B, index=0
Serial Number: 1D3A01219BCC7B

[ Clock Network Test ]
->REF clock test
Test results: 54262; 1923; 15120 - PASSED
->VCTCXO test
Results : 6710989 (min); 6711154 (max) - PASSED
->Clock Network Test PASSED

[ FPGA EEPROM Test ]
->Read EEPROM
data: 18 02 07 18 02 07 2
->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 ]
->Configure LMS
->Run Tests (TX_2 -> LNA_W):
->On board loopback test:
Test 1:(SXR=1000.0MHz, SXT=1005.0MHz, TXPAD=8): Result:(-63.3 dBFS, -6.72 MHz) - FAILED
->Configure LMS
->Run Tests (TX_1 -> LNA_H):
->On board loopback test:
Test 1:(SXR=2100.0MHz, SXT=2105.0MHz, TXPAD=8): Result:(-63.3 dBFS, -4.80 MHz) - FAILED
->RF Loopback Test FAILED

=> Board tests FAILED <=

Elapsed time: 11.76 seconds

[ TEST STARTED ]
->Start time: Wed Mar 14 06:16:37 2018

->Device: LimeSDR Mini, media=USB 2, module=FT601, serial=1D3A01219BCC7B, index=0
Serial Number: 1D3A01219BCC7B

[ Clock Network Test ]
->REF clock test
Test results: 46088; 59285; 6946 - PASSED
->VCTCXO test
Results : 6710993 (min); 6711157 (max) - PASSED
->Clock Network Test PASSED

[ FPGA EEPROM Test ]
->Read EEPROM
data: 18 02 07 18 02 07 2
->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 ]
->Configure LMS
->Run Tests (TX_2 -> LNA_W):
->On board loopback test:
Test 1:(SXR=1000.0MHz, SXT=1005.0MHz, TXPAD=8): Result:(-63.3 dBFS, -6.72 MHz) - FAILED
->Configure LMS
->Run Tests (TX_1 -> LNA_H):
->On board loopback test:
Test 1:(SXR=2100.0MHz, SXT=2105.0MHz, TXPAD=8): Result:(-63.3 dBFS, -6.72 MHz) - FAILED
->RF Loopback Test FAILED

=> Board tests FAILED <=

Elapsed time: 12.38 seconds