LimeSDR still not stable

#1

Hi,

We contributed, one year ago to the topic: “Something wrong with calibration procedure”
In this time, a good fix in the calibration procedure has been delivered, thanks.
Also, we got a Lime .ini file, that enable us to start some LTE tests.

Nevertheless, even after one more year, LimeSDR board is still unusable for the primary goal of the LM7002: LTE.

Users need to remove .ini file (USRP removed such file some years ago).
Instead we need a API that ACTUALLY configures the board properly.

If we don’t use a “good” .ini file, the RF output is very very bad, even if we call:
***** Startup:

LMS_Open(&lms_device,list[0],NULL);
LMS_Init(lms_device);
LMS_Reset(lms_device);
=> Note: even after this reset, a second execution reach
[HW][I]Connecting to device: LimeSDR-USB, media=USB 3.0, module=FX3, addr=1d50:6108, serial=0009060B00473923
Reference clock 30.72 MHz
[HW][I]Starting LimeSDR with samplerate=30720000.000000, tx freq= 2685000000.000000
[HW][I]Set gain: Tx= 100.000000, Rx= 68.000000
[HW][I]RX LPF bandwitdh range: 1.400100 to 130.000000 MHz
RX LPF configured
Rx calibration: MCU error 5 (Loopback signal weak: not connected/insufficient gain?)
Assertion (!LMS_Calibrate(s->lms_device,LMS_CH_RX,i,cfg->rx_bw,0)) failed!
In trx_lms_start() /data/opencells-ran/src/devices/lms_lib.cpp:528
LimeSDR error = Rx calibration: MCU error 5 (Loopback signal weak: not connected/insufficient gain?) RX ch:0 calibration failed, bw:30.720000 MHz
Even if the first execution claimed the calibration was done well.
THE INITIALIZATION IS NOT STABLE AND REPEATABLE

*** Caching

LMS_EnableCalibCache(lms_device,false);
LMS_LoadConfig(lms_device, );

We disable caching, that is an optimization: please provide a working procedure even if it is slow!

**** full configuration by API
LMS_SetSampleRate(lms_device,4), “”); //rate is LTE standard one, so a division of 30720MS/s
LMS_SetLOFrequency(lms_device,LMS_CH_RX, 0); // several feq tested 700MHz-3600MHz
LMS_SetLOFrequency(lms_device,LMS_CH_TX, 0); // Tx/Rx freq are different, gap is defined by 3GPP
LMS_SetGaindB(lms_device, LMS_CH_TX, 0, MyGain);
LMS_SetGaindB(lms_device, LMS_CH_RX, 0, MyGain);
//value is 0…70, we saw the today limitation: it is not actually in dB, but still the range is 0…70
LMS_SetLPFBW(lms_device,LMS_CH_RX,0,ChosenLTEBand); // 5MHz or 10MHz or 20MHz
LMS_SetLPFBW(lms_device,LMS_CH_TX,0,ChosenLTEBand);
LMS_Calibrate(lms_device,LMS_CH_RX,0,ChosenLTEBand,0);
LMS_Calibrate(lms_device,LMS_CH_TX,i,ChosenLTEBand,0);

EVEN AFTER THIS the result is not stable AND DEPEND on the ini file !!!
For example: the ini file Lime delivered us works quite well at 20MHz and 10MHz, band 7: 2.6GHz (even if the result is not perfect, especially in DC compensation), when we set 5MHz (same band) the calibration systematically fails !!!

What should we do in addition to get a stable and repeatable LimeSDR configuration, at least in basic usage: LTE SISO ?

We ordered several LimeSDR as early customers exactly 2 years ago, could we expect to use it once?
Laurent

OpenAirInterface configuration
#2

any update for this post. Is limesdr usable for LTE now?