srsLTE

Has anyone here been able to run srsLTE with LimeSDR-USB?

I get errors with LimeSDR while it works with USRP B210:

~/srsLTE/build/lib/examples$ ./cell_search -b 20
< … >
Uploading DC/IQ calibration firmware
– L
MCU Ref. clock: 30.72 MHz
MCU algorithm time: 215 ms
Error code 0x1 was returned during streaming. Aborting.
Error code 0x1 was returned during streaming. Aborting.

~/srsLTE/build/srsue/src$ sudo ./srsue ue.conf.example
< … >
Rx calibration using RSSI INTERNAL ON BOARD loopback
Rx ch.A @ 2685 MHz, BW: 30 MHz, RF input: LNAL, PGA: 20, LNA: 15, TIA: 3
Rx calibration: using cached values
Rx calibration values found in cache:
| DC | GAIN | PHASE
—±----±-----±-----
I: | 0 | 2047 | 0
Q: | 0 | 2047 |

Searching for cell…
Searching for cell…

Update: I noticed I cannot program my LimeSDR in Ubuntu any longer. Is this a known issue? Is there a way to reset this condition?

The srsLTE was complaining about the MCU firmware, so I thought of upgrading but I suspect I have the latest.

$ LimeUtil --update
Connected to [LimeSDR-USB [USB 3.0] 9060A02430E1E]
[INFO] Estimated reference clock 30.7197 MHz
[INFO] Selected reference clock 30.720 MHz
Programming update failed! : ProgramWrite length should be > 0

The drivers seem to be okay:

$ SoapySDRUtil --probe
[INFO] Make connection: ‘LimeSDR-USB [USB 3.0] 9060A02430E1E’
[INFO] Estimated reference clock 30.7197 MHz
[INFO] Selected reference clock 30.720 MHz
[INFO] Device name: LimeSDR-USB
[INFO] Reference: 30.72 MHz
[INFO] Init LMS7002M(0)

This manual command worked:

$ LimeUtil --fpga="LimeSDR-USB_HW_1.4_r2.8.rbf"
Connected to [LimeSDR-USB [USB 3.0] 9060A02430E1E]
[WARNING] Gateware version mismatch!
Expected gateware version 2, revision 8
But found version 0, revision 0
Follow the FW and FPGA upgrade instructions:
http://wiki.myriadrf.org/Lime_Suite#Flashing_images
Or run update on the command line: LimeUtil --update

[INFO] Estimated reference clock 0.0000 MHz
[INFO] Selected reference clock 30.720 MHz
[100%] 562160/562160 Bytes programming: completed
FPGA boot from FLASH completed!

this is a bug in SoapyLMS7 17.06

I noticed the image files have a size of “zero” in this folder: ~/.local/share/LimeSuite/images/17.07

~/.local/share/LimeSuite/images/17.07$ ls -l
-> ZERO? 0 Jul 6 17:10 LimeSDR-USB_HW_1.4_r2.8.rbf
-> ZERO? 0 Jul 6 17:09 LimeSDR-USB_HW_1.3_r3.0.img

Maybe this may have corrupted things? Not sure how this folder was created.

I was able to recover the FX3 with the procedure “Uploading firmware to empty flash

Now I can see the default FX3 firmware “USB BootProgrammer Device”.

Where is the latest Firmware and FPGA image?

I had to use a Win10 VM to recover the FX3 firmware to a Cypress firmware. Now I need to figure out how to put the LimeSDR firmware back again. I’m not sure how this got corrupted, I’ve been using USRP B210 and LimeSDR-USB in Ubuntu 16.04 and somehow the LimeSDR firmware got corrupted.

http://downloads.myriadrf.org/project/limesuite/17.06/

@jocover Thanks!

I think a culprit was the fact the images in ~/.local/share/LimeSuite/images/17.07 were empty files! This may have corrupted the firmware.

After recovering the firmware and copying the latest images from http://downloads.myriadrf.org/project/limesuite/17.06/ into ~/.local/share/LimeSuite/images/17.07, now the “LimeUtil --update” command works and it uses the images from ~/.local/share/LimeSuite/images/17.07.

Was this mess caused by the SoapyLMS7 17.07 ? At least I learned how to recover from a dead firmware.

srsLTE works now?

A pdsch ue example seems to be working with the command below:

~/srsLTE/build/lib/examples$ ./pdsch_ue -f

But the other examples and applications seem to fail. It seems to be a srsLTE source code issue and there is an ongoing thread on the srsLTE mailing list since others are trying to run LimeSDR with this software.

Having issues as well, doesn’t look like srsLTE is usable yet on a LimeSDR.

dave@intel:~/srsLTE$ ./build/lib/examples/cell_search -b 13
linux; GNU C++ version 5.4.0 20160609; Boost_105800; UHD_003.010.001.001-release

Opening RF device...
Opening USRP with args:
Error opening UHD: code 11
Soapy Has Found device #0: addr=1d50:6108, driver=lime, label=LimeSDR-USB [USB 3.0] XXXXXXXXXXXXX, media=USB 3.0, module=STREAM, name=LimeSDR-USB, serial=000XXXXXXXXXXXXX,
[INFO] Make connection: 'LimeSDR-USB [USB 3.0] XXXXXXXXXXXXX'
[INFO] Estimated reference clock 30.7197 MHz
[INFO] Selected reference clock 30.720 MHz
[INFO] Device name: LimeSDR-USB
[INFO] Reference: 30.72 MHz
[INFO] Init LMS7002M(0)
[INFO] LMS7002M cache /home/dave/.limesuite/LMS7002M_cache_values.db
[INFO] Ver=7, Rev=1, Mask=1
[INFO] LMS7002M calibration values caching Enable
CGEN: Freq=80 MHz, VCO=2.56 GHz, INT=82, FRAC=349525, DIV_OUTCH_CGEN=15
M=156, N=3, Fvco=1040.000 MHz
16: FE AF AA
16: FE AF 2A
phase: min 26.0; max 202.5; selected 114.2)
M=156, N=3, Fvco=1040.000 MHz
M=182, N=7, Fvco=1040.000 MHz
16: AA 52 D5
phase: min 5.2; max 176.5; selected 90.9)
M=182, N=7, Fvco=1040.000 MHz
M=156, N=3, Fvco=1040.000 MHz
16: 00 A8 AA
16: AA AA 7C
9579: AB 5A 55
phase: min 31.2; max 197.3; selected 114.2)
M=156, N=3, Fvco=1040.000 MHz
M=156, N=3, Fvco=1040.000 MHz
16: 57 AD 3B
16: 26 DC 3D
16: AA 5A 75
16: AA 52 D5
phase: min 20.8; max 176.5; selected 98.7)
M=156, N=3, Fvco=1040.000 MHz
[INFO] Rx Filter calibrated from cache
[INFO] Tx Filter calibrated from cache
M=156, N=3, Fvco=1040.000 MHz
phase: min 5.2; max 360.0; selected 182.6)
M=156, N=3, Fvco=1040.000 MHz
M=182, N=7, Fvco=1040.000 MHz
phase: min 5.2; max 360.0; selected 182.6)
M=182, N=7, Fvco=1040.000 MHz
M=156, N=3, Fvco=1040.000 MHz
phase: min 5.2; max 360.0; selected 182.6)
M=156, N=3, Fvco=1040.000 MHz
M=156, N=3, Fvco=1040.000 MHz
phase: min 5.2; max 360.0; selected 182.6)
M=156, N=3, Fvco=1040.000 MHz
[INFO] Rx Filter calibrated from cache
[INFO] Tx Filter calibrated from cache
SetFrequency using cache values vco:1, csw:162
TODO: implement rf_soapy_rx_wait_lo_locked()
[  0/99]: EARFCN 5180 Freq. 746.00 MHz looking for PSS.
CGEN: Freq=245.76 MHz, VCO=2.4576 GHz, INT=79, FRAC=0, DIV_OUTCH_CGEN=4
############################################################
Rx calibration using RSSI INTERNAL ON BOARD loopback
Rx ch.A @  746 MHz, BW: 30 MHz, RF input: LNAL, PGA: 31, LNA: 15, TIA: 3
Rx calibration: using cached values
Rx calibration values found in cache:
   | DC  | GAIN | PHASE
---+-----+------+------
I: |   0 | 2047 | 0
Q: |   0 | 2047 |
############################################################
SetFrequency using cache values vco:1, csw:162
TODO: implement rf_soapy_rx_wait_lo_locked()
...
[ 97/99]: EARFCN 5277 Freq. 755.70 MHz looking for PSS.
############################################################
Rx calibration using RSSI INTERNAL ON BOARD loopback
Rx ch.A @ 755.7 MHz, BW: 30 MHz, RF input: LNAL, PGA: 31, LNA: 15, TIA: 3
Performed by: MCU
------------------------------------------------------------
MCU algorithm time: 1 ms
Current MCU firmware: 3, DC/IQ calibration full
MCU Ref. clock: 30.72 MHz
MCU algorithm time: 199 ms
	Rx pktLoss: ts diff: 15339440  pktLoss: 11278
Rx: 0.062 MB/s
Rx: 0.229 MB/s
Rx: 0.000 MB/s
Error receiving samples
Error calling srslte_ue_sync_work()
Rx: 0.000 MB/s
Error receiving samples
Error calling srslte_ue_sync_work()
Rx: 0.000 MB/s
Error receiving samples
Error calling srslte_ue_sync_work()
TODO: implement rf_soapy_rx_wait_lo_locked()
[ 98/99]: EARFCN 5278 Freq. 755.80 MHz looking for PSS.
############################################################
Rx calibration using RSSI INTERNAL ON BOARD loopback
Rx ch.A @ 755.8 MHz, BW: 30 MHz, RF input: LNAL, PGA: 31, LNA: 15, TIA: 3
Performed by: MCU
------------------------------------------------------------
MCU algorithm time: 1 ms
Current MCU firmware: 3, DC/IQ calibration full
MCU Ref. clock: 30.72 MHz
MCU algorithm time: 202 ms
Rx: 0.000 MB/s
Error receiving samples
Error calling srslte_ue_sync_work()
Rx: 0.000 MB/s
Error receiving samples
Error calling srslte_ue_sync_work()
Rx: 0.000 MB/s
Error receiving samples
Error calling srslte_ue_sync_work()


Found 0 cells

Bye

Hello @andrewback,

I have seen a couple of topics now related to failed upgrade of firmware related to 17.07, does a folder and files need to be created at http://downloads.myriadrf.org/project/limesuite/ for 17.07 like there have been for other previous versions of LimeSute?

Regards,
Bevan

Couldn’t say for sure, but this does feel like a bug, in that what if we skipped 17.07 and went to a 17.08 release. Would have thought a source build should expect to use the last actual release firmware. Also, seems to me that we definitely shouldn’t end up with 0 byte files created locally when the expected files don’t exist on the server…

@IgnasJ, @Zack, perhaps you could take a look and comment.

posting on the srsLTE email list that someone is working to get a LimeSDR-mini working

https://github.com/pily112/srsLTE/tree/lime_sdr_mini
The srsue need a patch to find the limesdr mini. I have started a
branch: https://github.com/pily112/srsLTE/tree/lime_sdr_mini
Unfortunately, srsue reset every time the radio once found the cell, due
to the error message "SYNC:  Receiving from radio while in IDLE_RX". For
more information see the logs. If anyone has a hint, how to proceed
further with that problem, I would be very thankful.
David Rupprecht <david.rupprecht@rub.de>
1 Like

I try ti find this link : https://github.com/pily112/srsLTE/tree/lime_sdr_mini but it doesn’t exist anymore!!! is anyone haved success with srsLTE with lime_sdr_mini ?

Looks like support was added in master:

1 Like

did you mange to get it working?

1 Like

I’m also running into issues. The Pdsche_ue examples work fine but the overall srslte/srsue/srsenodeb program’s aren’t functioning as I would have hoped. Does anyone know if there is a trick to getting it working?

Hi,
I have only tried srsenb. I compile srslte with ‘USE_LTE_RATES’ CMake option. And in eNB file for LimeSDR-USB use the following settings in [rf] section:

[rf]
dl_earfcn = 3050
tx_gain = 56
rx_gain = 38

device_name = soapy
device_args = rxant=LNAH,txant=BAND2
time_adv_nsamples = 70
burst_preamble_us = 0

1 Like

This configuration works for me but it produces semi-consistent results. With uptime ranging from 5 minutes- 30 minutes. Any other tips that you used in order to make the LimeSDR-USB/Mini consistent?

2 Likes

@Neng do you mean that your srsenb goes dow after 30min ? did you succeeded to attach a commercial phone to your srsenb ?

hello gents
i have same issue,
as soon as ue connects to srsenb it goes down and i can’t connect to it anymore