LimeSDR Mini downgrade firmware - best path 'backwards'?

Whats the recommended method to downgrade the firmware on the LimeSDR Mini? I’d like to see if my issues are fixed by backing out of 1.29 down to 1.24. Should I remove LimeSuite and go with the base Ubuntu version which will allow me to downgrade?
Should I be using LimeUtil --fw="…" to flash the firmware?

What is wrong with your board?

Unable to calibrate TX without an error via the GUI, srsLTE(srsenb) or even Osmo-trx-lms, as well as setting VCTCXO.

I think there’s a hardware problem but I can’t tell for sure. LimeQuickTest results are good, I can use the GRC example for GFSK to send a file to itself on the 1Ghz band (haven’t tested 2Ghz), I can do a very very weak FM transmission with the FM transmitter.

Running LSuite 19.01, Firmware 1.29

On March 27th or so I was able to get osmo-trx-lms to run without an error but haven’t been able to since…I’m pretty sure I was running wtih Lsuite 19.01 and FW 1.29 then too but I could be wrong about that, so I hoping rolling back to LS 18 and the appropriate GW Firmware will miraculously fix the issues. If not then I suspect busted hardware somehow.

osmo-trx-lsm

     osmo-experiments$ sudo osmo-trx-lms -C ./osmo-trx.cfg
 Info: SSE3 support compiled in and supported by CPU
 Info: SSE4.1 support compiled in and supported by CPU
 Tue Apr 16 23:33:14 2019 DLGLOBAL <0004> telnet_interface.c:104 Available via telnet 127.0.0.1 4237
 Tue Apr 16 23:33:14 2019 DLCTRL <000b> control_if.c:911 CTRL at 127.0.0.1 4236
 Tue Apr 16 23:33:14 2019 DMAIN <0000> osmo-trx.cpp:430 [tid=140657713299328] Config Settings
    Log Level............... 0
    Device args.............
    TRX Base Port........... 5700
    TRX Address............. 127.0.0.1
    GSM BTS Address......... 127.0.0.1
    Channels................ 1
    Tx Samples-per-Symbol... 4
    Rx Samples-per-Symbol... 4
    EDGE support............ 0
    Reference............... 0
    C0 Filler Table......... 1
    Multi-Carrier........... 0
    Tuning offset........... 0
    RSSI to dBm offset...... 0
    Swap channels........... 0
    Tx Antennas............. 'BAND1'
    Rx Antennas............. 'LNAW'

 Tue Apr 16 23:33:14 2019 DMAIN <0000> osmo-trx.cpp:387 [tid=140657713299328] Setting SCHED_RR priority 18
 Tue Apr 16 23:33:14 2019 DDEV <0002> LMSDevice.cpp:68 [tid=140657713299328] creating LMS device...
 Tue Apr 16 23:33:14 2019 DDEV <0002> LMSDevice.cpp:156 [tid=140657713299328] Opening LMS device..
 Tue Apr 16 23:33:14 2019 DDEV <0002> LMSDevice.cpp:162 [tid=140657713299328] Devices found: 1
 Tue Apr 16 23:33:14 2019 DDEV <0002> LMSDevice.cpp:172 [tid=140657713299328] Device [0]: LimeSDR Mini, media=USB 3.0, module=FT601, addr=24607:1027, serial=1D3AD5B2511398
 Tue Apr 16 23:33:14 2019 DDEV <0002> LMSDevice.cpp:181 [tid=140657713299328] Using device[0]
 Tue Apr 16 23:33:15 2019 DLMS <0003> LMSDevice.cpp:102 [tid=140657713299328] Reference clock 40.00 MHz
 Tue Apr 16 23:33:15 2019 DDEV <0002> LMSDevice.cpp:191 [tid=140657713299328] Init LMS device
 Tue Apr 16 23:33:15 2019 DDEV <0002> LMSDevice.cpp:113 [tid=140657713299328] Sample Rate: Min=100000 Max=3.072e+07 Step=0
 Tue Apr 16 23:33:15 2019 DDEV <0002> LMSDevice.cpp:201 [tid=140657713299328] Setting sample rate to 1.08333e+06 4
 Tue Apr 16 23:33:15 2019 DDEV <0002> LMSDevice.cpp:207 [tid=140657713299328] Sample Rate: Host=1.08333e+06 RF=3.46667e+07
 Tue Apr 16 23:33:15 2019 DDEV <0002> LMSDevice.cpp:214 [tid=140657713299328] Setting Internal clock reference
 Tue Apr 16 23:33:15 2019 DDEV <0002> LMSDevice.cpp:218 [tid=140657713299328] Setting VCTCXO to 65535
 Tue Apr 16 23:33:15 2019 DLMS <0003> LMSDevice.cpp:102 [tid=140657713299328] Error
 Tue Apr 16 23:33:15 2019 DDEV <0002> LMSDevice.cpp:113 [tid=140657713299328] LPFBWRange Rx: Min=1.4001e+06 Max=1.3e+08 Step=0
 Tue Apr 16 23:33:15 2019 DDEV <0002> LMSDevice.cpp:113 [tid=140657713299328] LPFBWRange Tx: Min=1.4001e+06 Max=1.3e+08 Step=0
 Tue Apr 16 23:33:15 2019 DDEV <0002> LMSDevice.cpp:242 [tid=140657713299328] LPFBW: Rx=1.4001e+06 Tx=5.2e+06
 Tue Apr 16 23:33:15 2019 DMAIN <0000> LMSDevice.cpp:203 [tid=140657713299328] Antennas configured successfully
 Tue Apr 16 23:33:15 2019 DDEV <0002> LMSDevice.cpp:251 [tid=140657713299328] Setting LPFBW chan 0
 Tue Apr 16 23:33:18 2019 DLMS <0003> LMSDevice.cpp:102 [tid=140657713299328] RX LPF configured
 Tue Apr 16 23:33:18 2019 DLMS <0003> LMSDevice.cpp:102 [tid=140657713299328] Filter calibrated. Filter order-4th, filter bandwidth set to 5.2 MHz.Real pole 1st order filter set to 2.5 MHz. Preemphasis filter not active
 Tue Apr 16 23:33:18 2019 DLMS <0003> LMSDevice.cpp:102 [tid=140657713299328] TX LPF configured
 Tue Apr 16 23:33:18 2019 DDEV <0002> LMSDevice.cpp:256 [tid=140657713299328] Calibrating chan 0
 Tue Apr 16 23:33:19 2019 DLMS <0003> LMSDevice.cpp:102 [tid=140657713299328] Rx calibration finished
 Tue Apr 16 23:33:19 2019 DLMS <0003> LMSDevice.cpp:102 [tid=140657713299328] Tx Calibration: MCU error 4 (SXT tune failed)
 Tue Apr 16 23:33:19 2019 DMAIN <0000> Threads.cpp:116 [tid=140657713542912] Thread 140657713542912 (task 26313) set name: CtrlService0
Tue Apr 16 23:33:19 2019 DMAIN <0000> osmo-trx.cpp:478 [tid=140657713299328] -- Transceiver active with 1 channel(s)

LimeSuiteGUI

$ cat LimeSuiteGui-calibration-error.txt | awk '{print "    ",$0}'
  [23:52:14] INFO: Disconnected control port
  [23:52:18] INFO: Reference clock 40.00 MHz
  [23:52:18] INFO: Connected Control port: LimeSDR-Mini FW:6 HW:1 Protocol:1 GW:1.29 Ref Clk: 40.00 MHz
  [23:52:34] DEBUG: MCU algorithm time: 0 ms
  [23:52:34] DEBUG: MCU algorithm time: 0 ms
 [23:52:34] DEBUG: MCU algorithm time: 0 ms
 [23:52:34] DEBUG: MCU algorithm time: 46 ms
 [23:52:34] ERROR: Tx Calibration: MCU error 4 (SXT tune failed)

LimeQuickTest

 [ TESTING STARTED ]
 ->Start time: Tue Apr 16 23:48:03 2019

 ->Device: LimeSDR Mini, media=USB 3.0, module=FT601, addr=24607:1027, serial=1D3AD5B2511398
   Serial Number: 1D3AD5B2511398

 [ Clock Network Test ]
 ->REF clock test
   Test results: 43613; 56810; 4471 - PASSED
 ->VCTCXO test
   Results : 6710997 (min); 6711153 (max) - PASSED
 ->Clock Network Test PASSED

 [ FPGA EEPROM Test ]
 ->Read EEPROM
 ->Read data: 12 02 18 12 02 18 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 ]
 ->Configure LMS
 ->Run Tests (TX_2 -> LNA_W):
   CH0 (SXR=1000.0MHz, SXT=1005.0MHz): Result:(-13.1 dBFS, 5.00 MHz) - PASSED
 ->Run Tests (TX_1 -> LNA_H):
   CH0 (SXR=2100.0MHz, SXT=2105.0MHz): Result:(-14.6 dBFS, 5.00 MHz) - PASSED
 ->RF Loopback Test PASSED

 => Board tests PASSED <=

 Elapsed time: 2.36 seconds

srsLTE (cellsearch, but even srsenb shows this error)

  ./cell_search -b 20
 linux; GNU C++ version 7.3.0; Boost_106501; UHD_003.010.003.000-0-unknown

 Opening RF device...
 Opening USRP with args:
 -- Make connection: 'LimeSDR Mini [USB 3.0] 1D3AD5B2511398'
 -- Reference clock 40.00 MHz
 -- Device name: LimeSDR-Mini
 -- Reference: 40 MHz
 -- LMS7002M calibration values caching Disable
 [  0/299]: EARFCN 6150 Freq. 791.00 MHz looking for PSS.

 UHD Error:
     Tx Calibration: MCU error 4 (SXT tune failed)
 -- Rx calibration finished
 [  1/299]: EARFCN 6151 Freq. 791.10 MHz looking for PSS.
 -- Rx calibration finished
 [  2/299]: EARFCN 6152 Freq. 791.20 MHz looking for PSS.
 -- Rx calibration finished
 [  3/299]: EARFCN 6153 Freq. 791.30 MHz looking for PSS.
 -- Rx calibration finished

Hi @gclair,

Are you talking about SXT? SXT and VCTCXO are two different things. From the logs I see that the issue is SXT lock.

Let us use LimeSuiteGUI. Could you perform these steps and provide result, please:

  1. Connect to the board with LimeSuiteGUI;
  2. Push “Default” button;
  3. Go to “SXR” tab, set Frequency to 1000, push “Calculate” and “Tune” buttons;
  4. Go to “SXT” tab, set Frequency to 1005, push “Calculate” and “Tune” buttons;
  5. Perform calibrations.

Yes, SXT and VCTCXO are different things, Osmo-trx-lms experiences errors with both those functions. Unless I’m reading this wrong, and the “ERROR” line refers to something else?

Osmo-trx-lms VCTCXO error

 DDEV <0002> LMSDevice.cpp:218 [tid=140657713299328] Setting VCTCXO to 65535
 DLMS <0003> LMSDevice.cpp:102 [tid=140657713299328] Error

Calibration test

[21:50:44] INFO: Disconnected control port
[21:50:54] INFO: Reference clock 40.00 MHz
[21:50:54] INFO: Connected Control port: LimeSDR-Mini FW:6 HW:1 Protocol:1 GW:1.29 Ref Clk: 40.00 MHz
[21:52:57] INFO: SXR frequency set to 1000.000000 MHz
[21:53:18] INFO: SXT frequency set to 1005.000000 MHz
[21:53:30] INFO: Tx calibration finished
[21:53:30] INFO: Rx calibration finished

Seems calibration via the GUI works ok. I ran Osmo-trx-lms again and the errors are still there, and when I don’t explicitly hit default or set the SXR/SXT in the GUI calibration fails too…

So I decided to do the software equivalent of “Have you tried turning it off and on again” by basically uninstalling EVERY Ubuntu package installed related to anything radio, sdr,lms,limesuite, reinstalled LimeSuite and GnuRadio from packages and then compiling from latest source ‘libosmocore’ and ‘osmo-trx’ and suddenly its working with its sample config file… :face_with_symbols_over_mouth: Its working without an error now…Mother F(($&#(#)!!!

@Zack and @andrewback I wanna thank you for all your help to date, I really appreciate all the responses and walk throughs!

Output

@lappy5k:~/SDR/osmo-trx$ sudo osmo-trx-lms -C doc/examples/osmo-trx-lms/osmo-trx-limesdr.cfg
Info: SSE3 support compiled in and supported by CPU
Info: SSE4.1 support compiled in and supported by CPU
Thu Apr 18 01:32:09 2019 DLGLOBAL <0004> telnet_interface.c:104 Available via telnet 127.0.0.1 4237
Thu Apr 18 01:32:09 2019 DLCTRL <000b> control_if.c:911 CTRL at 127.0.0.1 4236    
Thu Apr 18 01:32:09 2019 DMAIN <0000> osmo-trx.cpp:479 [tid=140373237575552] Config Settings
 Log Level............... 0
 Device args.............
 TRX Base Port........... 5700
 TRX Address............. 127.0.0.1
 GSM BTS Address......... 127.0.0.1
 Channels................ 1
 Tx Samples-per-Symbol... 4
 Rx Samples-per-Symbol... 4
 EDGE support............ 0
 Extended RACH support... 0
 Reference............... 0
 C0 Filler Table......... 1
 Multi-Carrier........... 0
 Tuning offset........... 0
 RSSI to dBm offset...... 0
 Swap channels........... 0
 Tx Antennas............. 'BAND1'
 Rx Antennas............. 'LNAW'

Thu Apr 18 01:32:09 2019 DMAIN <0000> osmo-trx.cpp:435 [tid=140373237575552] Setting SCHED_RR priority 18
Thu Apr 18 01:32:09 2019 DDEV <0002> LMSDevice.cpp:50 [tid=140373237575552] creating LMS device...
Thu Apr 18 01:32:09 2019 DDEV <0002> LMSDevice.cpp:143 [tid=140373237575552] Opening LMS device..
Thu Apr 18 01:32:09 2019 DDEV <0002> LMSDevice.cpp:149 [tid=140373237575552] Devices found: 1
Thu Apr 18 01:32:09 2019 DDEV <0002> LMSDevice.cpp:159 [tid=140373237575552] Device [0]: LimeSDR Mini, media=USB 3.0, module=FT601, addr=24607:1027, serial=1D3AD5B2511398
Thu Apr 18 01:32:09 2019 DDEV <0002> LMSDevice.cpp:168 [tid=140373237575552] Using device[0]
Thu Apr 18 01:32:10 2019 DLMS <0003> LMSDevice.cpp:90 [tid=140373237575552] Reference clock 40.00 MHz
Thu Apr 18 01:32:10 2019 DDEV <0002> LMSDevice.cpp:194 [tid=140373237575552] Init LMS device
Thu Apr 18 01:32:10 2019 DDEV <0002> LMSDevice.cpp:101 [tid=140373237575552] Sample Rate: Min=100000 Max=3.072e+07 Step=0
Thu Apr 18 01:32:10 2019 DDEV <0002> LMSDevice.cpp:230 [tid=140373237575552] Setting sample rate to 1.08333e+06 4
Thu Apr 18 01:32:10 2019 DDEV <0002> LMSDevice.cpp:236 [tid=140373237575552] Sample Rate: Host=1.08333e+06 RF=3.46667e+07
Thu Apr 18 01:32:10 2019 DMAIN <0000> LMSDevice.cpp:203 [tid=140373237575552] Antennas configured successfully
Thu Apr 18 01:32:10 2019 DMAIN <0000> Threads.cpp:116 [tid=140373237892864] Thread 140373237892864 (task 20464) set name: CtrlService0
Thu Apr 18 01:32:10 2019 DMAIN <0000> osmo-trx.cpp:527 [tid=140373237575552] -- Transceiver active with 1 channel(s)
2 Likes