Project

General

Profile

Support #3327

How to start two arfcn on two SDRs in the same time

Added by Y2Kot 5 months ago. Updated about 1 month ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
Start date:
06/07/2018
Due date:
% Done:

0%

Spec Reference:

Description

Hello!
What I'm trying: I'm trying to start two OsmoBTS at the same time (I need two different ARFCN).
What I have: I have two LimeSDR with LimeSuite 17.12.
My thoughts In order to use two OsmoBTS I need to compile two OsmoBTS (libosmocore+osmoAbis+osmoNetif+openbsc+osmobts+trx)
So I changed ports in libosmocore. I add info about my port in attach.
However when I'm trying to start osmo-nitb and openbsc. I got this:

osmo-nitb: sudo /opt/openbsc_mts/bin/osmo-nitb -c ~/openbsc.cfg

<001e> telnet_interface.c:104 telnet at 127.0.0.1 30242
<0005> bsc_init.c:476 
WARNING: You are running an 'accept-all' network on a BTS that is not barred.  This configuration is likely to interfere with production GSM networks and should only be used in a RF shielded environment such as a faraday cage!

<0020> input/ipaccess.c:846 enabling ipaccess BSC mode on 0.0.0.0 with OML 30002 and RSL 30003 TCP ports
<0025> control_if.c:886 CTRL at 127.0.0.1 30249
DB: Database initialized.
DB: Database prepared.
<0020> input/ipa.c:265 accept()ed new link from 127.0.0.1 to port 30002
<0005> abis_nm.c:507 BTS0 feature 'EGPRS' reported via OML does not match statically set feature: 0 != 1. Please fix.
<0005> abis_nm.c:507 BTS0 feature 'OML Alerts' reported via OML does not match statically set feature: 1 != 0. Please fix.
<0005> abis_nm.c:573 BTS0: ARI reported sw[0/2]: osmobts is 0.8.1.5-44a3
<0005> abis_nm.c:446 BTS0 reported variant: omso-bts-trx
<0005> abis_nm.c:468 BTS0 Attribute Manufacturer Dependent State is unreported
<0005> abis_nm.c:573 BTS0: ARI reported sw[0/1]: TRX_PHY_VERSION is Unknown
<0020> input/ipaccess.c:243 Sign link vanished, dead socket
<0020> input/ipaccess.c:71 Forcing socket shutdown with no signal link set

osmo-bts-trx: sudo /opt/bts_mts/bin/osmo-bts-trx -c ~/osmo-bts.cfg

((*))
  |
 / \ OsmoBTS
<0017> control_if.c:886 CTRL at 127.0.0.1 30238
<0010> telnet_interface.c:104 telnet at 127.0.0.1 30241
<0012> input/ipaccess.c:884 enabling ipaccess BTS mode, OML connecting to 127.0.0.1:30002
<000b> trx_if.c:677 Open transceiver for phy0.0
<0012> input/ipa.c:131 127.0.0.1:30002 connection done
<0012> input/ipaccess.c:705 received ID get from 1801/0/0
<0001> oml.c:229 O&M Get Attributes [0], Manufacturer Dependent State is unsupported by TRX.
<0001> oml.c:681 Ignoring T200[0] (150 ms) as sent by BSC due to suspected LAPDm bug!
<0001> oml.c:681 Ignoring T200[1] (180 ms) as sent by BSC due to suspected LAPDm bug!
<0001> oml.c:681 Ignoring T200[2] (180 ms) as sent by BSC due to suspected LAPDm bug!
<0001> oml.c:681 Ignoring T200[3] (1680 ms) as sent by BSC due to suspected LAPDm bug!
<0001> oml.c:681 Ignoring T200[4] (520 ms) as sent by BSC due to suspected LAPDm bug!
<0001> oml.c:681 Ignoring T200[5] (165 ms) as sent by BSC due to suspected LAPDm bug!
<0001> oml.c:681 Ignoring T200[6] (1680 ms) as sent by BSC due to suspected LAPDm bug!
<0001> oml.c:1055 ADM state already was Unlocked
<000d> abis.c:144 Signalling link down
<000d> abis.c:158 OML link was closed early within 0 seconds. If this situation persists, please check your BTS and BSC configuration files for errors. A common error is a mismatch between unit_id configuration parameters of BTS and BSC.
<0001> bts.c:238 Shutting down BTS 0, Reason Abis close
<0012> e1_input.c:235 abis_sendmsg: msg->dst == NULL: 0c 12 01 90 0f ff ff 
<000b> trx_if.c:182 No response from transceiver for phy0.0 (CMD POWEROFF)
<0012> e1_input.c:235 abis_sendmsg: msg->dst == NULL: 0c 12 01 90 0f ff ff 
<0012> e1_input.c:235 abis_sendmsg: msg->dst == NULL: 0c 12 01 90 0f ff ff 
Shutdown timer expired

Where I made a mistake or how to correctly start two OsmoBTS on two boards?

openbsc.cfg openbsc.cfg 1.31 KB Y2Kot, 06/07/2018 08:40 PM
osmo-bts.cfg osmo-bts.cfg 607 Bytes Y2Kot, 06/07/2018 08:40 PM
Ports.xlsx Ports.xlsx 10.8 KB Y2Kot, 06/07/2018 08:40 PM

History

#1 Updated by fixeria 5 months ago

Hi,

In order to use two OsmoBTS I need to compile two OsmoBTS
(libosmocore+osmoAbis+osmoNetif+openbsc+osmobts+trx)

This is a wrong (or at least not optimal) way. If you look at the configuration
file carefully, you will find at least one section 'bts 0'. You can just extend
the configuration file and add another pair of BTS-PHY, like 'bts 1', etc. Some
changes are also required in the configuration of BSC, check out the examples.

Also, please note that support of LimeSDR is experimental. You may get some
unexpected errors/failures. This is why this code is not merged to the master yet.

#2 Updated by fixeria 5 months ago

A little correction to my previous comment: you need to configure a single BTS instance 'bts 0'
with two 'trx' and two 'phy' nodes for each SDR board respectively. In this case you will need
to run two OsmoTRX processes with different TRX Interface ports.

Also, AFAIR, LimeSDR has two transceivers (like UmTRX), and should be able to handle two ARFCNs.
If I am correct, in this case you may need to properly configure OsmoTRX and also run a single process.

#3 Updated by Y2Kot 5 months ago

fixeria wrote:

A little correction to my previous comment: you need to configure a single BTS instance 'bts 0'
with two 'trx' and two 'phy' nodes for each SDR board respectively. In this case you will need
to run two OsmoTRX processes with different TRX Interface ports.

Also, AFAIR, LimeSDR has two transceivers (like UmTRX), and should be able to handle two ARFCNs.
If I am correct, in this case you may need to properly configure OsmoTRX and also run a single process.

Thank you for your answer! I'm not using expiremental lms-trx (I know about it but it's bad working for me for now). So I'm using osmo-trx-uhd (with LimeSuite 17.12 it's works stable enough).
About MultiTRX support - I tried this too, but osmo-trx wrote that LimeSDR doesn't support this.

Can you explain me, how to setup 'phy' nodes please?

#4 Updated by Y2Kot 5 months ago

Also I checked bscconfig again and note that I can't configure different operators (I'd like to simulate 2 operators) by adding bts1 to configure. How should I do this?

#5 Updated by laforge 5 months ago

On Thu, Jun 07, 2018 at 08:40:13PM +0000, Y2Kot [REDMINE] wrote:

What I'm trying: I'm trying to start two OsmoBTS at the same time (I need two different ARFCN).

that is the most normal setup in any cellular network: You have multiple BTS ;)

What I have: I have two LimeSDR with LimeSuite 17.12.

As you will have seen from existing issues / mailing list posts, the LimeSDR is
so far not running very stable with OsmoBTS / OsmoTRX.

My thoughts In order to use two OsmoBTS I need to compile two OsmoBTS (libosmocore+osmoAbis+osmoNetif+openbsc+osmobts+trx)

Why on earth would you need to compile the software twice? Why not simply run it twice?

  • normally, you simply run the two BTSs on different machines (each OsmoTRX, OsmoBTS and OsmoPCU),
    and have only one one machine with BSC/MSC/HLR/SGSN/GGSN to which those BTSs connect
  • if you want to run everything on a single machine, I suggest to use some kind of container technology
    like lxc, docker, kubernetes, ... and "virtualize" the above setup
  • i you properly study the configuration, I'm sure you can also run two sets of OsmoTRX+OsmoBTS+OsmoPCU
    on one machine without virtualization. You just have to make sure you change all the related IP addresses
    and unix domain socket names, etc. I suggest to keep the port numbers identical but simply use
    127.0.0.1 for the first BTS/TRX/PCU, and 127.0.0.2 for the second BTS/TRX/PCU

#6 Updated by laforge 5 months ago

On Fri, Jun 08, 2018 at 08:01:40AM +0000, Y2Kot [REDMINE] wrote:

Also I checked bscconfig again and note that I can't configure different operators (I'd like to simulate 2 operators) by adding bts1 to configure. How should I do this?

You failed to mention that you want to run two completely separate networks. So far you only
stated that you'd like to start two OsmoBTS on different ARFCN!!

I suggest to simply run two complete separate networks in two
containers, using your favorite container technology. All you need to do
is to make sure your container[s] can access the respective USB devices.

For LXC, something like this makes USB available:
lxc.mount.entry = /dev/bus/usb dev/bus/usb none bind,optional,create=dir
s

It can be done without containers by binding one set of programs to a
different IP than the other set of programs, as I mentioned before.

#7 Updated by Y2Kot 5 months ago

laforge wrote:

On Fri, Jun 08, 2018 at 08:01:40AM +0000, Y2Kot [REDMINE] wrote:

Also I checked bscconfig again and note that I can't configure different operators (I'd like to simulate 2 operators) by adding bts1 to configure. How should I do this?

You failed to mention that you want to run two completely separate networks. So far you only
stated that you'd like to start two OsmoBTS on different ARFCN!!

I suggest to simply run two complete separate networks in two
containers, using your favorite container technology. All you need to do
is to make sure your container[s] can access the respective USB devices.

For LXC, something like this makes USB available:
lxc.mount.entry = /dev/bus/usb dev/bus/usb none bind,optional,create=dir
s

It can be done without containers by binding one set of programs to a
different IP than the other set of programs, as I mentioned before.

Sorry I have some problems with my English but I'm trying to explain my best.
Thank you, I'll read more about lxc and trying it. However where can I setup ip adress in openbsc config?

*to fixeria *
I'm trying to use multi arfcn, however I got this:

ALERT 140653483261504 01:58:34.5 UHDDevice.cpp:642:open: Channel setting failed - Device does not support MCBTS
ALERT 140653483261504 01:58:34.5 UHDDevice.cpp:642:open: Channel setting failed - Device does not support MCBTS
ALERT 140653483261504 01:58:34.5 osmo-trx.cpp:489:main: Failed to create radio device

ALERT 140653483261504 01:58:34.5 osmo-trx.cpp:489:main: Failed to create radio device
Shutting down transceiver...

#8 Updated by Y2Kot 5 months ago

small question about containers - will I be able to get access to hlr.sqlite form my host?

#9 Updated by Y2Kot 5 months ago

I found answer for my last question

#10 Updated by Y2Kot 5 months ago

laforge wrote:

On Fri, Jun 08, 2018 at 08:01:40AM +0000, Y2Kot [REDMINE] wrote:

Also I checked bscconfig again and note that I can't configure different operators (I'd like to simulate 2 operators) by adding bts1 to configure. How should I do this?

You failed to mention that you want to run two completely separate networks. So far you only
stated that you'd like to start two OsmoBTS on different ARFCN!!

I suggest to simply run two complete separate networks in two
containers, using your favorite container technology. All you need to do
is to make sure your container[s] can access the respective USB devices.

For LXC, something like this makes USB available:
lxc.mount.entry = /dev/bus/usb dev/bus/usb none bind,optional,create=dir
s

It can be done without containers by binding one set of programs to a
different IP than the other set of programs, as I mentioned before.

Ok, I made two LXC and try to start OsmoBTS. OsmoNITB and osmo-bts-trx start good, however osmo-trx-uhd show this:

Info: SSE3 support compiled in and supported by CPU
Info: SSE4.1 support compiled in and supported by CPU
Fri Jun  8 14:41:35 2018 DLGLOBAL <0001> telnet_interface.c:104 telnet at 127.0.0.1 4237
Fri Jun  8 14:41:35 2018 DLCTRL <0008> control_if.c:886 CTRL at 127.0.0.1 4236
Config Settings
   Log Level............... 3
   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'

[INFO] [UHD] linux; GNU C++ version 7.3.0; Boost_106501; UHD_3.11.1.0-0-gad6b0935
Fri Jun  8 14:41:36 2018 DMAIN <0000> UHDDevice.cpp:667 [tid=140666030876608] Using discovered UHD device addr=1d50:6108,driver=lime,label=LimeSDR-USB [USB 3.0] 9070105C6180B,media=USB 3.0,module=STREAM,name=LimeSDR-USB,serial=0009070105C6180B,type=soapy
[INFO] [UHDSoapyDevice] Make connection: 'LimeSDR-USB [USB 3.0] 9070105C6180B'
[INFO] [UHDSoapyDevice] Reference clock 30.720 MHz
[INFO] [UHDSoapyDevice] Device name: LimeSDR-USB
[INFO] [UHDSoapyDevice] Reference: 30.72 MHz
[INFO] [UHDSoapyDevice] Init LMS7002M(0)
[INFO] [UHDSoapyDevice] Ver=7, Rev=1, Mask=1
[INFO] [UHDSoapyDevice] LMS7002M calibration values caching Disable
Fri Jun  8 14:41:51 2018 DMAIN <0000> UHDDevice.cpp:484 [tid=140666030876608] Antennas configured successfully
Fri Jun  8 14:41:51 2018 DMAIN <0000> UHDDevice.cpp:458 [tid=140666030876608] Rates configured for LimeSDR 4 SPS
Fri Jun  8 14:41:52 2018 DMAIN <0000> UHDDevice.cpp:418 [tid=140666030876608] Supported Tx gain range [-12; 64]
Fri Jun  8 14:41:52 2018 DMAIN <0000> UHDDevice.cpp:423 [tid=140666030876608] Supported Rx gain range [-12; 61]
Fri Jun  8 14:41:52 2018 DMAIN <0000> UHDDevice.cpp:427 [tid=140666030876608] Default setting Tx gain for channel 0 to 26
Fri Jun  8 14:41:53 2018 DMAIN <0000> UHDDevice.cpp:434 [tid=140666030876608] Default setting Rx gain for channel 0 to 24.5
Fri Jun  8 14:41:53 2018 DMAIN <0000> UHDDevice.cpp:761 [tid=140666030876608] 
Single USRP:
  Device: STREAM
  Mboard 0: LimeSDR-USB
  RX Channel: 0
    RX DSP: 0
    RX Dboard: 0
    RX Subdev: SoapyRF
  RX Channel: 1
    RX DSP: 1
    RX Dboard: 1
    RX Subdev: SoapyRF
  TX Channel: 0
    TX DSP: 0
    TX Dboard: 0
    TX Subdev: SoapyRF
  TX Channel: 1
    TX DSP: 1
    TX Dboard: 1
    TX Subdev: SoapyRF
-- Transceiver active with 1 channel(s)
Fri Jun  8 14:41:54 2018 DMAIN <0000> Transceiver.cpp:709 [tid=140666031015680] command is POWEROFF
Fri Jun  8 14:41:54 2018 DMAIN <0000> Transceiver.cpp:709 [tid=140666031015680] command is RXTUNE 914200
Fri Jun  8 14:41:54 2018 DMAIN <0000> UHDDevice.cpp:1149 [tid=140666031015680] 
Tune Result:
    Target RF  Freq: 914.200000 (MHz)
    Actual RF  Freq: 914.199998 (MHz)
    Target DSP Freq: -0.000002 (MHz)
    Actual DSP Freq: -0.000002 (MHz)

Fri Jun  8 14:41:54 2018 DMAIN <0000> Transceiver.cpp:709 [tid=140666031015680] command is TXTUNE 959200
Fri Jun  8 14:41:54 2018 DMAIN <0000> UHDDevice.cpp:1149 [tid=140666031015680] 
Tune Result:
    Target RF  Freq: 959.200000 (MHz)
    Actual RF  Freq: 959.199998 (MHz)
    Target DSP Freq: 0.000002 (MHz)
    Actual DSP Freq: 0.000002 (MHz)

Fri Jun  8 14:41:54 2018 DMAIN <0000> Transceiver.cpp:709 [tid=140666031015680] command is SETTSC 7
Fri Jun  8 14:41:54 2018 DMAIN <0000> Transceiver.cpp:811 [tid=140666031015680] Changing TSC from 0 to 7
Fri Jun  8 14:41:54 2018 DMAIN <0000> Transceiver.cpp:709 [tid=140666031015680] command is POWERON
Fri Jun  8 14:41:54 2018 DMAIN <0000> Transceiver.cpp:238 [tid=140666031015680] Starting the transceiver
Fri Jun  8 14:41:54 2018 DMAIN <0000> radioInterface.cpp:168 [tid=140666031015680] Starting radio device
Fri Jun  8 14:41:54 2018 DMAIN <0000> UHDDevice.cpp:839 [tid=140666031015680] Starting USRP...
Fri Jun  8 14:41:55 2018 DMAIN <0000> UHDDevice.cpp:814 [tid=140666031015680] Initial timestamp 128520
Fri Jun  8 14:41:55 2018 DMAIN <0000> UHDDevice.cpp:860 [tid=140666031015680] The current time is 0.119575 seconds
Fri Jun  8 14:41:55 2018 DMAIN <0000> radioInterface.cpp:189 [tid=140666031015680] Radio started
Fri Jun  8 14:41:55 2018 DMAIN <0000> Transceiver.cpp:709 [tid=140666031015680] command is SETRXGAIN 1
Fri Jun  8 14:41:55 2018 DMAIN <0000> Transceiver.cpp:1018 [tid=140666029483776] ClockInterface: sending IND CLOCK 2680594
Fri Jun  8 14:41:55 2018 DMAIN <0000> UHDDevice.cpp:532 [tid=140666031015680] Set RX gain to 0dB (asked for 1dB)
Fri Jun  8 14:41:55 2018 DMAIN <0000> Transceiver.cpp:709 [tid=140666031015680] command is SETPOWER 20
Fri Jun  8 14:41:55 2018 DMAIN <0000> UHDDevice.cpp:893 [tid=140666029483776] No packet received, implementation timed-out at 0.229735 sec.
Fri Jun  8 14:41:55 2018 DMAIN <0000> UHDDevice.cpp:897 [tid=140666029483776] UHD: Receive timed out
Fri Jun  8 14:41:55 2018 DMAIN <0000> radioInterface.cpp:319 [tid=140666029483776] Receive error 0
Fri Jun  8 14:41:55 2018 DMAIN <0000> UHDDevice.cpp:916 [tid=140666029483776] UHD: Loss of monotonic time
Fri Jun  8 14:41:55 2018 DMAIN <0000> UHDDevice.cpp:917 [tid=140666029483776] Current time: 0, Previous time: 0.227852
Fri Jun  8 14:41:56 2018 DMAIN <0000> UHDDevice.cpp:517 [tid=140666031015680] Set TX gain to 44dB (asked for 44dB)
Fri Jun  8 14:41:56 2018 DMAIN <0000> UHDDevice.cpp:814 [tid=140666029483776] Initial timestamp 141780
Fri Jun  8 14:41:56 2018 DMAIN <0000> UHDDevice.cpp:916 [tid=140666029483776] UHD: Loss of monotonic time
Fri Jun  8 14:41:56 2018 DMAIN <0000> UHDDevice.cpp:917 [tid=140666029483776] Current time: 0.132757, Previous time: 0.227852
Fri Jun  8 14:41:56 2018 DMAIN <0000> Transceiver.cpp:709 [tid=140666031015680] command is SETSLOT 0 5
Fri Jun  8 14:41:56 2018 DMAIN <0000> Transceiver.cpp:709 [tid=140666031015680] command is SETSLOT 1 7
Fri Jun  8 14:41:56 2018 DMAIN <0000> Transceiver.cpp:709 [tid=140666031015680] command is SETSLOT 2 1
Fri Jun  8 14:41:56 2018 DMAIN <0000> Transceiver.cpp:709 [tid=140666031015680] command is SETSLOT 3 1
Fri Jun  8 14:41:56 2018 DMAIN <0000> Transceiver.cpp:709 [tid=140666031015680] command is SETSLOT 4 1
Fri Jun  8 14:41:56 2018 DMAIN <0000> Transceiver.cpp:709 [tid=140666031015680] command is SETSLOT 5 1
Fri Jun  8 14:41:56 2018 DMAIN <0000> Transceiver.cpp:709 [tid=140666031015680] command is SETSLOT 6 1
Fri Jun  8 14:41:56 2018 DMAIN <0000> Transceiver.cpp:709 [tid=140666031015680] command is SETSLOT 7 1
Fri Jun  8 14:41:57 2018 DMAIN <0000> UHDDevice.cpp:804 [tid=140666029483776] Device timed out
Fri Jun  8 14:41:57 2018 DMAIN <0000> UHDDevice.cpp:893 [tid=140666029483776] No packet received, implementation timed-out at 0.13464 sec.
Fri Jun  8 14:41:57 2018 DMAIN <0000> UHDDevice.cpp:897 [tid=140666029483776] UHD: Receive timed out
Fri Jun  8 14:41:57 2018 DMAIN <0000> radioInterface.cpp:319 [tid=140666029483776] Receive error 0
Fri Jun  8 14:41:57 2018 DMAIN <0000> UHDDevice.cpp:893 [tid=140666029483776] No packet received, implementation timed-out at 0.13464 sec.
Fri Jun  8 14:41:57 2018 DMAIN <0000> UHDDevice.cpp:897 [tid=140666029483776] UHD: Receive timed out
Fri Jun  8 14:41:57 2018 DMAIN <0000> radioInterface.cpp:319 [tid=140666029483776] Receive error 0
Fri Jun  8 14:41:57 2018 DMAIN <0000> UHDDevice.cpp:893 [tid=140666029483776] No packet received, implementation timed-out at 0.13464 sec.
Fri Jun  8 14:41:57 2018 DMAIN <0000> UHDDevice.cpp:897 [tid=140666029483776] UHD: Receive timed out
Fri Jun  8 14:41:57 2018 DMAIN <0000> radioInterface.cpp:319 [tid=140666029483776] Receive error 0
Fri Jun  8 14:41:57 2018 DMAIN <0000> UHDDevice.cpp:893 [tid=140666029483776] No packet received, implementation timed-out at 0.13464 sec.
Fri Jun  8 14:41:57 2018 DMAIN <0000> UHDDevice.cpp:897 [tid=140666029483776] UHD: Receive timed out
Fri Jun  8 14:41:57 2018 DMAIN <0000> radioInterface.cpp:319 [tid=140666029483776] Receive error 0

Is it fully LimeSDR problem or I fogot to configure something in LXC?

#11 Updated by pespin 4 months ago

As already mentioned, don't expect LimeSDR to be working yet, see #2723 for osmo-trx-uhd and #2919 for osmo-trx-lms when using a LimeSDR device.

I think your questions are quite generic and are related to network setup, not really related with osmo-trx in particular, so I'd recommend the osmocom mailing lists or IRC to ask this kind of question.

Anyway, the issues reported here are duplicated of #2723 and #2919, so I think we can close this issue. If rquire more generic answers, better use mailing list or IRC.

#12 Updated by pespin about 1 month ago

  • Status changed from New to Closed

Since no answer was received since 3 months ago, and for previously exposed reasons, I'm closing this ticket.

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 48.8 MB)