LimeSDR osmo-trx no work

root@Kali-ubuntu:~# osmo-trx -f -l INFO -a ‘soapy=0,driver=lime’
linux; GNU C++ version 7.2.0; Boost_106200; UHD_003.010.002.000-0-unknown

opening configuration table from path :memory:
Info: SSE3 support compiled in and supported by CPU
Info: SSE4.1 support compiled in, but not supported by CPU
Config Settings
Log Level… INFO
Device args… soapy=0,driver=lime
TRX Base Port… 5700
TRX Address… 127.0.0.1
GSM Core Address…127.0.0.1
Channels… 1
Tx Samples-per-Symbol… 4
Rx Samples-per-Symbol… 1
EDGE support… Disabled
Reference… Internal
C0 Filler Table… Dummy bursts
Multi-Carrier… Disabled
Tuning offset… 0
RSSI to dBm offset… 0
Swap channels… 0

INFO 3027894016 13:59:55.9 UHDDevice.cpp:622:open: Using discovered UHD device addr=1d50:6108,driver=lime,label=LimeSDR-USB [USB 2.0] 9070105C52D10,media=USB 2.0,module=STREAM,name=LimeSDR-USB,serial=0009070105C52D10,type=soapy
Using OpenUSRP
[INFO] Reference clock 30.720 MHz
[INFO] LMS7002M cache /root/.limesuite/LMS7002M_cache_values.db
[INFO] Rx Filter calibrated from cache
[INFO] Tx Filter calibrated from cache
UpdateExternalDataRate Failed.
OpenUSRP::setSampleRate(): not a power of two factor.
TSP Rate = 15.36 MHZ, Requested rate = 10 MHz.

SetInterfaceFrequency Failed.
UpdateExternalDataRate Failed.
[INFO] Rx Filter calibrated from cache
[INFO] Tx Filter calibrated from cache
– Setting master clock rate selection to ‘manual’.
SetInterfaceFrequency Failed.
UpdateExternalDataRate Failed.

UHD Warning:
The hardware does not support the requested TX sample rate:
Target sample rate: 1.083333 MSps
Actual sample rate: 7.680000 MSps
SetInterfaceFrequency Failed.
UpdateExternalDataRate Failed.

UHD Warning:
The hardware does not support the requested TX sample rate:
Target sample rate: 1.083333 MSps
Actual sample rate: 7.680000 MSps
OpenUSRP::setSampleRate(Rx 0.270833 MHz, Tx 7.68 MHz) Failed – no common clock rate.

ALERT 3027894016 14:00:43.7 UHDDevice.cpp:672:open: UHD rate setting failed - RuntimeError: OpenUSRP::setSampleRate() – no common clock rate
ALERT 3027894016 14:00:43.7 UHDDevice.cpp:672:open: UHD rate setting failed - RuntimeError: OpenUSRP::setSampleRate() – no common clock rate
ALERT 3027894016 14:00:43.7 osmo-trx.cpp:489:main: Failed to create radio device

ALERT 3027894016 14:00:43.7 osmo-trx.cpp:489:main: Failed to create radio device
Shutting down transceiver…

1 Like

root@Kali-ubuntu:~# uhd_find_devices
linux; GNU C++ version 7.2.0; Boost_106200; UHD_003.010.002.000-0-unknown


– UHD Device 0

Device Address:
addr: 1d50:6108
driver: lime
label: LimeSDR-USB [USB 2.0] 9070105C52D10
media: USB 2.0
module: STREAM
name: LimeSDR-USB
serial: 0009070105C52D10
type: soapy


– UHD Device 1

Device Address:
type: b200
product: B210
module: STREAM
media: USB 2.0
name: LimeSDR-USB
serial: 0009070105C52D10

The transceiver presently only has support for EDGE with LimeSDR and so you will need to add “-e” flag.

Tried it. The same.
Sometimes it starts, but the phone registration is impossible.

Kali-ubuntu:~# osmo-trx -f -l INFO -a ‘soapy=0,driver=lime’ -e
linux; GNU C++ version 7.2.0; Boost_106200; UHD_003.010.002.000-0-unknown

opening configuration table from path :memory:
Info: SSE3 support compiled in and supported by CPU
Info: SSE4.1 support compiled in, but not supported by CPU
Config Settings
Log Level… INFO
Device args… soapy=0,driver=lime
TRX Base Port… 5700
TRX Address… 127.0.0.1
GSM Core Address…127.0.0.1
Channels… 1
Tx Samples-per-Symbol… 4
Rx Samples-per-Symbol… 4
EDGE support… Enabled
Reference… Internal
C0 Filler Table… Dummy bursts
Multi-Carrier… Disabled
Tuning offset… 0
RSSI to dBm offset… 0
Swap channels… 0

INFO 3028500224 15:46:23.4 UHDDevice.cpp:622:open: Using discovered UHD device addr=1d50:6108,driver=lime,label=LimeSDR-USB [USB 2.0] 9070105C52D10,media=USB 2.0,module=STREAM,name=LimeSDR-USB,serial=0009070105C52D10,type=soapy
Using OpenUSRP
[INFO] Reference clock 30.720 MHz
[INFO] LMS7002M cache /root/.limesuite/LMS7002M_cache_values.db
[INFO] Rx Filter calibrated from cache
[INFO] Tx Filter calibrated from cache
[INFO] Rx Filter calibrated from cache
[INFO] Tx Filter calibrated from cache
– Setting master clock rate selection to ‘manual’.
INFO 3028500224 15:46:35.6 UHDDevice.cpp:441:set_rates: Rates configured for B210 4 SPS
INFO 3028500224 15:46:35.7 UHDDevice.cpp:401:init_gains: Supported Tx gain range [0; 89.8]
INFO 3028500224 15:46:35.7 UHDDevice.cpp:406:init_gains: Supported Rx gain range [0; 76]
INFO 3028500224 15:46:35.7 UHDDevice.cpp:410:init_gains: Default setting Tx gain for channel 0 to 44.9
INFO 3028500224 15:46:35.8 UHDDevice.cpp:417:init_gains: Default setting Rx gain for channel 0 to 38
INFO 3028500224 15:46:35.9 UHDDevice.cpp:711:open:
Single USRP:
Device: B-Series Device
Mboard 0: B210
RX Channel: 0
RX DSP: 0
RX Dboard: A
RX Subdev: FE-RX1
RX Channel: 1
RX DSP: 1
RX Dboard: A
RX Subdev: FE-RX2
TX Channel: 0
TX DSP: 0
TX Dboard: A
TX Subdev: FE-TX1
TX Channel: 1
TX DSP: 1
TX Dboard: A
TX Subdev: FE-TX2
– Transceiver active with 1 channel(s)

root@Kali-ubuntu:~/4# ./osmo-bts-trx -c ./osmo-bts.cfg -d DRSL:DOML:DLAPDM
((*))
|
/ \ OsmoBTS
<0001> oml.c:1469 Initializing OML attribute definitions
<0001> oml.c:250 O&M Get Attributes [0], Manufacturer Dependent State is unsupported by BTS.
<0001> oml.c:669 Ignoring T200[0] (150 ms) as sent by BSC due to suspected LAPDm bug!
<0001> oml.c:669 Ignoring T200[1] (180 ms) as sent by BSC due to suspected LAPDm bug!
<0001> oml.c:669 Ignoring T200[2] (180 ms) as sent by BSC due to suspected LAPDm bug!
<0001> oml.c:669 Ignoring T200[3] (1680 ms) as sent by BSC due to suspected LAPDm bug!
<0001> oml.c:669 Ignoring T200[4] (520 ms) as sent by BSC due to suspected LAPDm bug!
<0001> oml.c:669 Ignoring T200[5] (165 ms) as sent by BSC due to suspected LAPDm bug!
<0001> oml.c:669 Ignoring T200[6] (1680 ms) as sent by BSC due to suspected LAPDm bug!
<0001> oml.c:1038 ADM state already was Unlocked
<0007> l1sap.c:423 Invalid condition detected: Frame difference is > 1!

<0004> bsc_init.c:300 bootstrapping RSL for BTS/TRX (0/0) on ARFCN 60 using MCC=1 MNC=1 LAC=1 CID=0 BSIC=63
<0003> system_information.c:616 Serving cell: 60
<0003> bsc_init.c:107 SI1: 55 06 19 00 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 e5 04 00 2b
<0003> bsc_init.c:107 SI2: 59 06 1a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff e5 04 00
<0003> bsc_init.c:107 SI3: 49 06 1b 00 00 00 f1 10 00 01 49 03 05 27 4e 40 e5 04 00 29 2b 2b 2b
<0003> bsc_init.c:107 SI4: 31 06 1c 00 f1 10 00 01 4e 40 e5 04 00 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b
<0003> bsc_init.c:107 SI5: 06 1d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2b 2b 2b 2b 2b
<0003> bsc_init.c:107 SI6: 06 1e 00 00 00 f1 10 00 01 27 ff 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b
<0005> abis_nm.c:775 OC=CHANNEL(03) INST=(00,00,00) Set Channel Attributes ACK
<0005> abis_nm.c:381 OC=CHANNEL(03) INST=(00,00,00) STATE CHG: OP_STATE=Enabled AVAIL=OK(ff)
<0005> abis_nm.c:771 OC=CHANNEL(03) INST=(00,00,00) Opstart ACK
<0005> abis_nm.c:775 OC=CHANNEL(03) INST=(00,00,01) Set Channel Attributes ACK
<0005> abis_nm.c:381 OC=CHANNEL(03) INST=(00,00,01) STATE CHG: OP_STATE=Enabled AVAIL=OK(ff)
<0005> abis_nm.c:771 OC=CHANNEL(03) INST=(00,00,01) Opstart ACK
<0005> abis_nm.c:775 OC=CHANNEL(03) INST=(00,00,02) Set Channel Attributes ACK
<0005> abis_nm.c:381 OC=CHANNEL(03) INST=(00,00,02) STATE CHG: OP_STATE=Enabled AVAIL=OK(ff)
<0005> abis_nm.c:771 OC=CHANNEL(03) INST=(00,00,02) Opstart ACK
<0005> abis_nm.c:775 OC=CHANNEL(03) INST=(00,00,03) Set Channel Attributes ACK
<0005> abis_nm.c:381 OC=CHANNEL(03) INST=(00,00,03) STATE CHG: OP_STATE=Enabled AVAIL=OK(ff)
<0005> abis_nm.c:771 OC=CHANNEL(03) INST=(00,00,03) Opstart ACK
<0005> abis_nm.c:775 OC=CHANNEL(03) INST=(00,00,04) Set Channel Attributes ACK
<0005> abis_nm.c:381 OC=CHANNEL(03) INST=(00,00,04) STATE CHG: OP_STATE=Enabled AVAIL=OK(ff)
<0005> abis_nm.c:771 OC=CHANNEL(03) INST=(00,00,04) Opstart ACK
<0005> abis_nm.c:775 OC=CHANNEL(03) INST=(00,00,05) Set Channel Attributes ACK
<0005> abis_nm.c:381 OC=CHANNEL(03) INST=(00,00,05) STATE CHG: OP_STATE=Enabled AVAIL=OK(ff)
<0005> abis_nm.c:771 OC=CHANNEL(03) INST=(00,00,05) Opstart ACK
<0005> abis_nm.c:775 OC=CHANNEL(03) INST=(00,00,06) Set Channel Attributes ACK
<0005> abis_nm.c:381 OC=CHANNEL(03) INST=(00,00,06) STATE CHG: OP_STATE=Enabled AVAIL=OK(ff)
<0005> abis_nm.c:771 OC=CHANNEL(03) INST=(00,00,06) Opstart ACK
<0005> abis_nm.c:775 OC=CHANNEL(03) INST=(00,00,07) Set Channel Attributes ACK
<0005> abis_nm.c:381 OC=CHANNEL(03) INST=(00,00,07) STATE CHG: OP_STATE=Enabled AVAIL=OK(ff)
<0005> abis_nm.c:771 OC=CHANNEL(03) INST=(00,00,07) Opstart ACK

The best place for support is probably going to be the Osmocom mailing list.

Thank you, I will read. Can anyone share the working configuration files.

I can share mine’s when I got to the computer.

I have the same problem with my Lime.
uhd_find_devices
linux; GNU C++ version 6.2.0 20161005; Boost_106100; UHD_003.010.002.HEAD-0-gbd6e21dc


– UHD Device 0

Device Address:
addr: 1d50:6108
driver: lime
label: LimeSDR-USB [USB 3.0] 9070602442837
media: USB 3.0
module: STREAM
name: LimeSDR-USB
serial: 0009070602442837
type: soapy
SoapySDRUtil --find=“driver=lime”
######################################################

Soapy SDR – the SDR abstraction library

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

linux; GNU C++ version 6.2.0 20161005; Boost_106100; UHD_003.010.002.HEAD-0-gbd6e21dc

Found device 0
addr = 1d50:6108
driver = lime
label = LimeSDR-USB [USB 3.0] 9070602442837
media = USB 3.0
module = STREAM
name = LimeSDR-USB
serial = 0009070602442837

osmo-trx
linux; GNU C++ version 6.2.0 20161005; Boost_106100; UHD_003.010.002.HEAD-0-gbd6e21dc

opening configuration table from path :memory:
Info: SSE3 support compiled in and supported by CPU
Info: SSE4.1 support compiled in and supported by CPU
Config Settings
Log Level… NOTICE
Device args…
TRX Base Port… 5700
TRX Address… 127.0.0.1
GSM Core Address…127.0.0.1
Channels… 1
Tx Samples-per-Symbol… 4
Rx Samples-per-Symbol… 1
EDGE support… Disabled
Reference… Internal
C0 Filler Table… Disabled
Multi-Carrier… Disabled
Tuning offset… 0
RSSI to dBm offset… 0
Swap channels… 0

– Make connection: ‘LimeSDR-USB [USB 3.0] 9070602442837’
– Reference clock 30.720 MHz
– Device name: LimeSDR-USB
– Reference: 30.72 MHz
– Init LMS7002M(0)
– Ver=7, Rev=1, Mask=1
– LMS7002M calibration values caching Disable
ALERT 139867575614336 20:47:27.8 UHDDevice.cpp:642:open: Channel setting failed - map::at
ALERT 139867575614336 20:47:27.8 UHDDevice.cpp:642:open: Channel setting failed - map::at
ALERT 139867575614336 20:47:27.8 osmo-trx.cpp:489:main: Failed to create radio device

ALERT 139867575614336 20:47:27.8 osmo-trx.cpp:489:main: Failed to create radio device
Shutting down transceiver…

Hi,
osmo-trx works with LimeSDR in EDGE mode only. You need to run it with ‘-e’ flag (‘osmo-trx -e’)

Just like to report that on my side with -e option works

Only question on my side is above bold USB 2.0, my lime is on normal 3.0
working with other SW like Cubic or Angel like 3.0

BRG Djani

Djani,
I see you have had success in getting osmo-trx working with LimeSDR. I thought I had mine working with the osmo-trx main branch but immediately after it starts with the message…

“Transceiver active with 1 channel(s)”

The red indicator LEDs all turn green and the TRX on the Lime appears to stop operating. There is no error message, it just stops. Does your LimeSDR do the same when you try to activate osmo-trx?

It is the same.
My understanding is that osmo-trx expecting some instructions from rest of the SW chain.
Which is not installed in my case.

Here also no luck with telnet of Commands on the Per-ARFCN Control Interface,
in accordance to READ ME

Have browsing a bit here too but it seems outdated too →

BRG
Dj

I was thinking the same thing about the TRX issue. Maybe it puts itself in a stand-by mode and is waiting to be triggered.

However, the MyriadRF/Osmo-TRX fork I’ve been using sucessfully for Osmo-NITB etc. goes straight into actively rx/tx mode. This is how it looks when using this older fork…

sudo osmo-trx -e -s 4 -a "driver=lime,device=0,cacheCalibrations=1"
linux; GNU C++ version 5.4.0 20160609; Boost_105800; UHD_003.010.002.000-3-g122bfae1

opening configuration table from path :memory:
Config Settings
   Log Level............... NOTICE
   Device args............. driver=lime,device=0,cacheCalibrations=1
   TRX Base Port........... 5700
   TRX Address............. 127.0.0.1
   Channels................ 1
   Tx Samples-per-Symbol... 4
   Rx Samples-per-Symbol... 4
   EDGE support............ Enabled
   External Reference...... Disabled
   C0 Filler Table......... Disabled
   Diversity............... Disabled
   Tuning offset........... 0
   RSSI to dBm offset...... 0
   Swap channels........... 0

-- Make connection: 'LimeSDR-USB [USB 3.0] 9062000C42715'

UHD Warning:
    Firmware version mismatch!
      Expected firmware version 3, but found version 4
      Follow the FW and FPGA upgrade instructions:
      http://wiki.myriadrf.org/Lime_Suite#Flashing_images
      Or run update on the command line: LimeUtil --update

UHD Warning:
    Gateware version mismatch!
      Expected gateware version 2, revision 8
      But found version 2, revision 12
      Follow the FW and FPGA upgrade instructions:
      http://wiki.myriadrf.org/Lime_Suite#Flashing_images
      Or run update on the command line: LimeUtil --update
-- Estimated reference clock 30.7196 MHz
-- Selected reference clock 30.720 MHz
-- Device name: LimeSDR-USB
-- Reference: 30.72 MHz
-- Init LMS7002M(0)
-- LMS7002M cache /home/zero5/.limesuite/LMS7002M_cache_values.db
-- Ver=7, Rev=1, Mask=1
-- 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: 01 A0 AA
16: FF AF 2A
16: AA DA 5D
phase: min 31.2; max 197.3; 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 28
154: AA DA 5D
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: D6 DC 3F
16: AA 58 75
16: AA 5A D5
phase: min 15.6; max 171.3; selected 93.5)
M=156, N=3, Fvco=1040.000 MHz
-- Rx Filter calibrated from cache
-- 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
-- Rx Filter calibrated from cache
-- Tx Filter calibrated from cache
CGEN: Freq=8.66667 MHz, VCO=2.42667 GHz, INT=77, FRAC=1041294, DIV_OUTCH_CGEN=139
-- Tx Filter calibrated from cache
-- Rx Filter calibrated from cache
-- Setting STREAM/LimeSDR EDGE mode (4 SPS TX/RX) (offset 0.089 ms = 24.1042 samples)
ERR 140621175048000 03:04:06.5 UHDDevice.cpp:871:open: TS_OFFSET = 96 rx_rate = 1.08333e+06
ERR 140621175048000 03:04:06.5 UHDDevice.cpp:871:open: TS_OFFSET = 96 rx_rate = 1.08333e+06
############################################################
Tx calibration values found in cache:
   | DC  | GAIN | PHASE
---+-----+------+------
I: | 488 | 2047 | -96
Q: |  57 | 2047 |
############################################################
############################################################
Rx calibration using RSSI INTERNAL ON BOARD loopback
Rx ch.A @ 1904.65 MHz, BW: 5 MHz, RF input: LNAL, PGA: 12, LNA: 9, TIA: 1
Rx calibration: using cached values
Rx calibration values found in cache:
   | DC  | GAIN | PHASE
---+-----+------+------
I: |   0 | 2047 | 0
Q: |   0 | 2047 |
############################################################
-- Transceiver active with 1 channel(s)
Rx: 3.265 MB/s
Rx: 3.265 MB/s
Rx: 3.265 MB/s
Rx: 3.261 MB/s
Rx: 3.265 MB/s
Rx: 3.260 MB/s
Rx: 3.265 MB/s
Rx: 3.265 MB/s
Rx: 3.265 MB/s

I’m running Ubuntu 16.04 Desktop and if you just want to get things working in the meantime the old fork at https://github.com/myriadrf/osmo-trx is working fine for me.

@zodiac-tiger @9a4db do you have OsmoBTS and OpenBSC installed also? OsmoTRX won’t do anything useful on its own. Paired with OsmoBTS it gives you the logical function of a GSM BTS, which is configured with an ID and details of which band to use and BSC to connect to. The BTS must then connect to a BSC instance and so on.

You can run OpenBSC in “network-in-the-box” mode, where it provides a BSC plus just about everything else you need for basic voice call support, or in other modes, including BSC only. For more details see:

https://osmocom.org/projects/openbsc/wiki/OpenBSC#Configurations-Modes

Yes Andrew,
but any way, one cooking (Lime) book for dummies can be useful :blush: too.
BRG
Dj

Old fork reported to many errors on my side…

OK, just wanted to check — sounded like it might have been run up on its own! :smiley:

1 Like

Actually I have been successfully running OsmoNITB and OpenBTS using the MyriadRF/Osmo-TRX fork for a couple of weeks now.

I’m running an Ubuntu 16.04 Desktop as a WM using the newest VMWare Fusion on a Macbook Pro [2.5 Ghz i7 w/ 16 gb of ram]. Running it over USB 3.0 works well minus some small performance issues, but using it on USB 2.0 is nearly impossible. It starts working but very quickly the network breaks with a warning of ‘popping from tx’ and must be restarted to become functional again. I’m lucky to go 5 mins before the network is overwhelmed by small amounts of network traffic or other cpu processes. Its even worse on my Late 2007 Macbook that has Ubuntu 16.04 Desktop running bare metal. Frankly, I was so surprised when I saw your demo of the LimeMini for OsmoNITB running smoothly on a raspberry pi 3.

So, I was thinking that my USB 2.0 problems may be related to using the old MyriadRF/OsmoTRX fork.

Just to make sure I’m understanding this correctly, the MyriadRF/Osmo-TRX fork is now basically obsolete, right? Because the Lime functionality has been integrated into the main Osmo-Trx branch on Git, correct?

With the newest Osmo-TRX from Github installed I get this far…

sudo osmo-trx -e -a "driver=lime,device=0"
linux; GNU C++ version 5.4.0 20160609; Boost_105800; UHD_003.010.002.000-3-g122bfae1

opening configuration table from path :memory:
Info: SSE3 support compiled in and supported by CPU
Info: SSE4.1 support compiled in and supported by CPU
Config Settings
   Log Level............... NOTICE
   Device args............. driver=lime,device=0
   TRX Base Port........... 5700
   TRX Address............. 127.0.0.1
   GSM Core Address.........127.0.0.1
   Channels................ 1
   Tx Samples-per-Symbol... 4
   Rx Samples-per-Symbol... 4
   EDGE support............ Enabled
   Reference............... Internal
   C0 Filler Table......... Disabled
   Multi-Carrier........... Disabled
   Tuning offset........... 0
   RSSI to dBm offset...... 0
   Swap channels........... 0

-- Make connection: 'LimeSDR-USB [USB 3.0] 9062000C42715'
-- Reference clock 30.720 MHz
-- Device name: LimeSDR-USB
-- Reference: 30.72 MHz
-- Init LMS7002M(0)
-- Ver=7, Rev=1, Mask=1
-- LMS7002M calibration values caching Disable
-- Transceiver active with 1 channel(s)

It appears to run with the a final output indicating the transceiver is active even though all the Lime’s indicator LEDs turn green and osmobts-trx doesn’t connect and start the network.

Any ideas?