Strange/Missing Readings from LimeSDR Mini 2

Hi all, I am doing a course project that requires analyzing a wireless protocol. To get started, I tried sniffing the ambient wireless spectrum to see if my board and toolchain were working. The following sequence of experiments has led me to believe my board is defective, but I do not have enough experience to tell for sure.

  1. I installed LimeSuite from apt on a ubuntu 20.04 machine and used QSpectrumAnalyzer to record signals in the wifi range. This returned very low signal strengths in the low -130db’s. After turning up the gain, the best I could get was -128db or so.

  2. Fine, so I thought, perhaps the radio needed calibration. But using LimeSuiteGUI to calibrate, I got intermittent errors. Sometimes the error was RX Calibration Failed: MCU error 5 (Loopback signal weak: not connected/insufficient gain?). Other times it would be RX Calibration Failed: MCU error 3 (SXR tune failed). And once in a while, the calibration would go through if I unplug/replug the device.

    This led me to believe the board might be defective. So I ran LimeQuickTest and got the following failures:

    [ TESTING STARTED ]
    ->Start time: Thu Oct 10 21:03:22 2024
    ->LimeSuite version: 22.09.1-myriadrf1~ubuntu20.04
    
    ->Device: LimeSDR Mini, media=USB 3.0, module=FT601, addr=24607:1027, serial=1DA1766B71575F, HW=7, GW=2.6
      Serial Number: 1DA1766B71575F
     Chip temperature: 45 C
    
    [ Clock Network Test ]
    ->REF clock test
      Test results: 17345; 18889; 20371 - PASSED
    ->VCTCXO test
      Results : 6711030 (min); 6711064 (max) - FAILED
      FAILED
    ->Clock Network Test FAILED
    
    [ FPGA EEPROM Test ]
    ->Read EEPROM
    Operation failed: error code 5
    ->FPGA EEPROM Test FAILED
    
    [ 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:(-27.2 dBFS, 5.00 MHz) - FAILED
    ->Run Tests (TX_1 -> LNA_H):
      CH0 (SXR=2100.0MHz, SXT=2105.0MHz): Result:(-25.1 dBFS, 5.00 MHz) - FAILED
    ->RF Loopback Test FAILED
    
    => Board tests FAILED <=
    
    Elapsed time: 1.36 seconds
    

    The EEPROM failure was suspicious, and the RF Loopback Test seemed to confirm that something was wrong with the RX of the board.

  3. Finally, just for completeness, I also tried Universal Radio Hacker and it was not able to read from the board, albeit successfully opening the stream.

    [INFO::settings.py::get_receive_buffer_size] Allocate receive buffer with 262.144KB
    [INFO::Device.py::start_rx_mode] LimeSDR: Starting RX Mode
    Reference clock 40.00 MHz
    [INFO::Device.py::log_retcode] LimeSDR-OPEN (LimeSDR Mini, media=USB 3.0, module=FT601, 
    addr=24607:1027, serial=1DA1766B71575F): Success
    [INFO::Device.py::log_retcode] LimeSDR-INIT: Success
    [INFO::Device.py::log_retcode] LimeSDR-SET_CHANNEL_INDEX to 0: Success
    [INFO::Device.py::log_retcode] LimeSDR-SET_ANTENNA_INDEX to 2: Success
    [INFO::Device.py::log_retcode] LimeSDR-SET_FREQUENCY to 433.92M: Success
    [INFO::Device.py::log_retcode] LimeSDR-SET_SAMPLE_RATE to 2M: Success
    RX LPF configured
    [INFO::Device.py::log_retcode] LimeSDR-SET_BANDWIDTH to 2M: Success
    [INFO::Device.py::log_retcode] LimeSDR-SET_RF_GAIN to 0.25: Success
    [INFO::Device.py::log_retcode] LimeSDR-Initialize stream: Success
    [WARNING::LimeSDR.py::receive_sync] LimeSDR: Failed to receive stream
    
  4. I also tried the above on a Mac to see if the errors were machine/OS dependent. Unfortunately, I got the same result. Any help is greatly appreciated!

I have also seen these errors on my SDRs but they are fully functional. Had to spend some quality time with the ‘LMS7002M-Programming-and-Calibration-Guide-v31r05.pdf’ to figure it out.

Hmm okay, thank you! Were you also seeing very low signal strengths and how were you able to fix it? Also, were you able to use Universal Radio Hacker with your LimeSDR?

We wrote custom code to process the data but I think everything you need is in Lime Suite. The FFT viewer will display the real time data. Every tab is important and worth reviewing their function but items to look at specifically are:
RFE tab:
LNA_RFE is powers up, Active path is LNAH, LNA gain at Gmax, TIA at Gmax
RBB tab:
PGA gain at +19

1 Like

You’re using a version of Lime Suite that pre-dates LimeSDR Mini v2 support IIRC. Would suggest installing the latest tagged release:

Release v23.11.0 · myriadrf/LimeSuite · GitHub

1 Like

will try it thanks!

Okay so with the newer build, LimeSelfTest passed (seemed like certain checks were disabled and tolerances were changed with the new build).

That said, QSpectrumAnalyzer still showed low signal strength, and Universal Radio Hacker was still unable to read any data off the board.

One thing I found was that the FFT viewer in the LimeSuiteGUI did not draw anything after using either QSpectrumAnalyzer or URH. Upon closer inspection, the parameters in the tab SXR, SXT, and CLKGEN were all updated after using the two aforementioned software.

Now, after hitting the default button in LimeSuiteGUI, the FFT showed up properly.

Thus, it appears to me all problems boil down to the parameters these third-party software have set. I don’t see mini v2 as one of the supported boards on the URH github. Will do some search for compatible software. Thank you for all the replies!

LimeSDR Mini v2 has some architectural differences to v1 and this includes loopback, which meant that the pass/fail values are different.