Rx calibration: MCU working too long 114

Hello,

I’m having consistent issues with Rx calibration on my LimeSDR v1.4s. It is plugged into a Raspberry Pi3 with the provided Y cable (both connectors plugged into the Pi3), yet power is supplied with an external EEZ H24005 providing 9V and up to 2A.
If I try to calibrate for 1420 MHz with the following command line:

LimeUtil --cal --start 1420e6 --stop 1420e6 --chans=ALL --dir=RX 2>&1 | tee cal_1420M_bw30M_chan_ALL_dir_RX.txt

I end up with errors / warnings:

Reference clock 30.720 MHz
LMS7002M cache /home/pi/.limesuite/LMS7002M_cache_values.db
Cal sweep over [1420, 1420, 1] MHz, channels=ALL, dir=RX
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@ Calibrating for freq = 1420 MHz
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

Error calibrating (skipping): MCU working too long 114
SetFrequency using cache values vco:1, csw:107
Error calibrating (skipping): MCU working too long 114
SetFrequency using cache values vco:1, csw:107
Error calibrating (skipping): MCU working too long 114
SetFrequency using cache values vco:1, csw:107
Error calibrating (skipping): MCU working too long 114

Cleanup…

After that, unless I remove XXX I get not more errors because it is using the cached values and the output turns into:

Reference clock 30.720 MHz
LMS7002M cache /home/pi/.limesuite/LMS7002M_cache_values.db
Cal sweep over [1420, 1420, 1] MHz, channels=ALL, dir=RX
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@ Calibrating for freq = 1420 MHz
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

SetFrequency using cache values vco:1, csw:107
Rx calibration: using cached values
SetFrequency using cache values vco:1, csw:107
Rx calibration: using cached values
SetFrequency using cache values vco:1, csw:107
Rx calibration: using cached values
SetFrequency using cache values vco:1, csw:107
Rx calibration: using cached values

I also get the exact same error if I try to calibrate with LimeSuiteGui.
I ran into the same issue when using LMS_Calibrate() in an application (C code, using LMS API). I’m confused: is the result of the calibration correct even-though it triggers errors ? Can the errors returned by LMS_Calibrate() by safely ignored ? Should I calibrate for the entire bandwidth and enable cached value into my program ?

Here are the information regarding the version of *ware:

LimeUtil --info
######################################################

LimeSuite information summary

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

Version information:
Library version: v17.12.0-gd352c002
Build timestamp: 2017-12-19
Interface version: v2017.12.0
Binary interface: 17.12-1

System resources:
Installation root: /usr/local
User home directory: /home/pi
App data directory: /home/pi/.local/share/LimeSuite
Config directory: /home/pi/.limesuite
Image search paths:
- /home/pi/.local/share/LimeSuite/images
- /usr/local/share/LimeSuite/images

Supported connections:

  • PCIEXillybus
  • STREAM
  • uLimeSDR

LimeUtil --make
Make device
Reference clock 30.720 MHz
Device name: LimeSDR-USB
Expansion name: UNSUPPORTED
Firmware version: 4
Hardware version: 4
Protocol version: 1
Gateware version: 2
Gateware revision: 12
Gateware target: LimeSDR-USB
Serial number: 0x9060b00491f29
Free connection… OK

Tagging @IgnasJ.

Does this happen on Raspberry Pi only, or also on normal PC? Also, to clarify, is the EEZ H24005 power supply is used to power RaspPI and LimeSDR-USB is then powered from Pi? Or is it plugged directly into LimeSDR-USB?

I don’t have currently access to device and did not test it with a normal PC (I will test this at the beginning of 2018, both USB2 and USB3).
But, just to make it clear:

  • the Rasperry Pi3 has its own power supply (5V 1A through the micro-USB port) and has only Ethernet connected (no other USB device)
  • the LimeSDR is powered by the EEZ through the jack connecter
  • the LimeSDR is cooled by a fan running on another power supply

The LimeSDR is drawing about 500mA at 9V, with little variations depending of what it’s doing, so I consider it is not practical to power it from Raspberry Pi3.

I can test on a Pentium 4 desktop with USB2 and Debian Stretch 9.2, or on a laptop that has one USB3 port. The laptop is x64 and I’m free to install any Linux OS on it: what would be the best option for LimeSDR testing ?

Most testing is done on Ubuntu 16.04 so I think it is the best option.

This is very possibly too small. I would try using a 2A or greater PSU.