Hi!
I've asked about it before but this seems to have been lost in communication.
The question is basically how to enable multi-TRX support for osmo-bts-trx using phy/instance infrastructure similar to other bts?
What I've tried so far is documented in http://projects.osmocom.org/issues/1648 but it did not result in working setup yet.
In short, I'd like to configure OpenBSC with 1 BTS with 2 TRX, each with its own arfcn and set of channels. I'm running "osmo-bts-trx -t 2" and correspondingly "osmo-trx -c 2" on usrp b210. Any ideas on what's missing to make this actually work are greatly appreciated.
Hi Max,
On Mon, Aug 1, 2016 at 7:57 AM, Max msuraev@sysmocom.de wrote:
I've asked about it before but this seems to have been lost in communication.
I do not recall this discussion. My apologies.
The question is basically how to enable multi-TRX support for osmo-bts-trx using phy/instance infrastructure similar to other bts?
I use the following configuration.
phy 0 instance 0 instance 1 osmotrx rx-gain 25
bts 0 band 900 ipa unit-id 1234 0 oml remote-ip 127.0.0.1 settsc gsmtap-sapi ccch gsmtap-sapi pdtch trx 0 phy 0 instance 0 trx 1 phy 0 instance 1
$ osmo-bts-trx -c osmo-bts.cfg -t 2
In short, I'd like to configure OpenBSC with 1 BTS with 2 TRX, each with its own arfcn and set of channels. I'm running "osmo-bts-trx -t 2" and correspondingly "osmo-trx -c 2" on usrp b210. Any ideas on what's missing to make this actually work are greatly appreciated.
You can use "osmo-trx -c 2" or "osmo-trx -m -c 2" to use dual-channels of the B210 or multi-ARFCN on one channel respectively.
Note that there are ARFCN restrictions for both cases. Due to a shared local oscillator for both B210 channels, ARFCN separation can be up about 25 MHz.
With multi-TRX, ARFCN spacing is fixed at 800 kHz or 4 GSM channels. So if TRX-0 is set to ARFCN 51, TRX-1 _must_ be set to 55. Up to three ARFCN's is supported for multi-TRX.
-TT
Hi.
Unfortunately I'm unable to make it work yet:
sudo chrt 20 ./Transceiver52M/osmo-trx -m -c 2 -g
linux; GNU C++ version 4.8.2; Boost_105400; UHD_003.008.004-0-unknown
opening configuration table from path :memory: Config Settings Log Level............... NOTICE Device args............. TRX Base Port........... 5700 TRX Address............. 127.0.0.1 Channels................ 2 Tx Samples-per-Symbol... 4 Rx Samples-per-Symbol... 4 EDGE support............ Disabled Reference............... GPS C0 Filler Table......... Disabled Multi-Carrier........... Enabled Diversity............... Disabled Tuning offset........... 0 RSSI to dBm offset...... 0 Swap channels........... 0
-- Operating over USB 2. -- Initialize CODEC control... -- Initialize Radio control... -- Performing register loopback test... pass -- Performing register loopback test... pass -- Performing CODEC loopback test... pass -- Performing CODEC loopback test... pass -- Asking for clock rate 32.000000 MHz -- Actually got clock rate 32.000000 MHz -- Performing timer loopback test... pass -- Performing timer loopback test... pass -- Asking for clock rate 3.200000 MHz UHD Warning: The requested master_clock_rate 3.200000 MHz exceeds bounds imposed by UHD. The master_clock_rate has been forced to 5.000000 MHz. -- Actually got clock rate 5.000000 MHz -- Performing timer loopback test... pass -- Performing timer loopback test... pass ALERT 3036182272 15:41:43.1 UHDDevice.cpp:546:set_master_clk: Failed to set master clock rate ALERT 3036182272 15:41:43.1 UHDDevice.cpp:546:set_master_clk: Failed to set master clock rate ALERT 3036182272 15:41:43.1 UHDDevice.cpp:547:set_master_clk: Requested clock rate 3.2e+06 ALERT 3036182272 15:41:43.1 UHDDevice.cpp:547:set_master_clk: Requested clock rate 3.2e+06 ALERT 3036182272 15:41:43.1 UHDDevice.cpp:548:set_master_clk: Actual clock rate 5e+06 ALERT 3036182272 15:41:43.1 UHDDevice.cpp:548:set_master_clk: Actual clock rate 5e+06 ALERT 3036182272 15:41:43.1 osmo-trx.cpp:530:main: Failed to create radio device
ALERT 3036182272 15:41:43.1 osmo-trx.cpp:530:main: Failed to create radio device Shutting down transceiver...
On 08/02/2016 12:39 AM, Tom Tsou wrote:
Hi Max,
On Mon, Aug 1, 2016 at 7:57 AM, Max msuraev@sysmocom.de wrote:
I've asked about it before but this seems to have been lost in communication.
I do not recall this discussion. My apologies.
The question is basically how to enable multi-TRX support for osmo-bts-trx using phy/instance infrastructure similar to other bts?
I use the following configuration.
phy 0 instance 0 instance 1 osmotrx rx-gain 25
bts 0 band 900 ipa unit-id 1234 0 oml remote-ip 127.0.0.1 settsc gsmtap-sapi ccch gsmtap-sapi pdtch trx 0 phy 0 instance 0 trx 1 phy 0 instance 1
$ osmo-bts-trx -c osmo-bts.cfg -t 2
In short, I'd like to configure OpenBSC with 1 BTS with 2 TRX, each with its own arfcn and set of channels. I'm running "osmo-bts-trx -t 2" and correspondingly "osmo-trx -c 2" on usrp b210. Any ideas on what's missing to make this actually work are greatly appreciated.
You can use "osmo-trx -c 2" or "osmo-trx -m -c 2" to use dual-channels of the B210 or multi-ARFCN on one channel respectively.
Note that there are ARFCN restrictions for both cases. Due to a shared local oscillator for both B210 channels, ARFCN separation can be up about 25 MHz.
With multi-TRX, ARFCN spacing is fixed at 800 kHz or 4 GSM channels. So if TRX-0 is set to ARFCN 51, TRX-1 _must_ be set to 55. Up to three ARFCN's is supported for multi-TRX.
-TT
On Wed, Aug 10, 2016 at 6:42 AM, Max msuraev@sysmocom.de wrote:
sudo chrt 20 ./Transceiver52M/osmo-trx -m -c 2 -g
linux; GNU C++ version 4.8.2; Boost_105400; UHD_003.008.004-0-unknown
...
-- Asking for clock rate 3.200000 MHz UHD Warning: The requested master_clock_rate 3.200000 MHz exceeds bounds imposed by UHD. The master_clock_rate has been forced to 5.000000 MHz.
There is a UHD version requirement to clock the B200/B210 below 5 MHz, which is preferred for timing reasons.
I am looking at the versioning. UHD master is obviously up to date.
-TT
Hi Tom,
There is a UHD version requirement to clock the B200/B210 below 5 MHz
Can you tell which version it is?
I am using 3.9.4
Regards, Csaba
----- Eredeti üzenet ----- Feladó: "Tom Tsou" tom@tsou.cc Címzett: "Max" msuraev@sysmocom.de Másolatot kap: "OpenBSC Mailing List" openbsc@lists.osmocom.org Elküldött üzenetek: Szerda, 2016. Augusztus 10. 19:26:26 Tárgy: Re: multiple phy with osmo-trx
On Wed, Aug 10, 2016 at 6:42 AM, Max msuraev@sysmocom.de wrote:
sudo chrt 20 ./Transceiver52M/osmo-trx -m -c 2 -g
linux; GNU C++ version 4.8.2; Boost_105400; UHD_003.008.004-0-unknown
...
-- Asking for clock rate 3.200000 MHz UHD Warning: The requested master_clock_rate 3.200000 MHz exceeds bounds imposed by UHD. The master_clock_rate has been forced to 5.000000 MHz.
There is a UHD version requirement to clock the B200/B210 below 5 MHz, which is preferred for timing reasons.
I am looking at the versioning. UHD master is obviously up to date.
-TT
On Wed, Aug 10, 2016 at 11:08 AM, Sipos Csaba sipos.csaba@kvk.uni-obuda.hu wrote:
There is a UHD version requirement to clock the B200/B210 below 5 MHz
Can you tell which version it is?
I am using 3.9.4
Unfortunately, the requirement turns out to be master. I'm testing a workaround for prior UHD versions.
-TT
What's the situation with UHD version support now?
I've tried running "./Transceiver52M/osmo-trx -m -c 2 -e -l INFO -g" from recent osmo-trx master ang got following errors with different UHS version:
linux; GNU C++ version 4.8.4; Boost_105400; UHD_003.010.000.000-release
-- Loading firmware image: /usr/share/uhd/images/usrp_b200_fw.hex... INFO 3032143616 12:57:24.6 UHDDevice.cpp:786:open: Using discovered UHD device type=b200,name=MyB210,serial=30AC26A,product=B210 ALERT 3032143616 12:57:25.8 UHDDevice.cpp:790:open: UHD make failed, device ALERT 3032143616 12:57:25.8 UHDDevice.cpp:790:open: UHD make failed, device ALERT 3032143616 12:57:25.8 osmo-trx.cpp:530:main: Failed to create radio device
ALERT 3032143616 12:57:25.8 osmo-trx.cpp:530:main: Failed to create radio device Shutting down transceiver...
linux; GNU C++ version 4.8.2; Boost_105400; UHD_003.008.004-0-unknown
INFO 3036346112 12:51:39.9 UHDDevice.cpp:786:open: Using discovered UHD device type=b200,name=MyB210,serial=30AC26A,product=B210 -- Operating over USB 2. -- Initialize CODEC control... -- Initialize Radio control... -- Performing register loopback test... pass -- Performing register loopback test... pass -- Performing CODEC loopback test... pass -- Performing CODEC loopback test... pass -- Asking for clock rate 32.000000 MHz -- Actually got clock rate 32.000000 MHz -- Performing timer loopback test... pass -- Performing timer loopback test... pass INFO 3036346112 12:51:43.3 UHDDevice.cpp:743:parse_dev_type: Using USRP1 type transmit window for B-Series Device B210 -- Asking for clock rate 3.200000 MHz
UHD Warning: The requested master_clock_rate 3.200000 MHz exceeds bounds imposed by UHD. The master_clock_rate has been forced to 5.000000 MHz. -- Actually got clock rate 5.000000 MHz -- Performing timer loopback test... pass -- Performing timer loopback test... pass ALERT 3036346112 12:51:45.0 UHDDevice.cpp:546:set_master_clk: Failed to set master clock rate ALERT 3036346112 12:51:45.0 UHDDevice.cpp:546:set_master_clk: Failed to set master clock rate ALERT 3036346112 12:51:45.0 UHDDevice.cpp:547:set_master_clk: Requested clock rate 3.2e+06 ALERT 3036346112 12:51:45.0 UHDDevice.cpp:547:set_master_clk: Requested clock rate 3.2e+06 ALERT 3036346112 12:51:45.0 UHDDevice.cpp:548:set_master_clk: Actual clock rate 5e+06 ALERT 3036346112 12:51:45.0 UHDDevice.cpp:548:set_master_clk: Actual clock rate 5e+06 ALERT 3036346112 12:51:45.0 osmo-trx.cpp:530:main: Failed to create radio device
ALERT 3036346112 12:51:45.0 osmo-trx.cpp:530:main: Failed to create radio device Shutting down transceiver...
On 08/11/2016 04:14 AM, Tom Tsou wrote:
On Wed, Aug 10, 2016 at 11:08 AM, Sipos Csaba sipos.csaba@kvk.uni-obuda.hu wrote:
There is a UHD version requirement to clock the B200/B210 below 5 MHz
Can you tell which version it is?
I am using 3.9.4
Unfortunately, the requirement turns out to be master. I'm testing a workaround for prior UHD versions.
-TT
On Thu, Oct 13, 2016 at 4:00 AM, Max msuraev@sysmocom.de wrote:
linux; GNU C++ version 4.8.2; Boost_105400; UHD_003.008.004-0-unknown
...
INFO 3036346112 12:51:43.3 UHDDevice.cpp:743:parse_dev_type: Using USRP1 type transmit window for B-Series Device B210 -- Asking for clock rate 3.200000 MHz
UHD Warning: The requested master_clock_rate 3.200000 MHz exceeds bounds imposed by UHD. The master_clock_rate has been forced to 5.000000 MHz.
The 3.2 MHz setting was used to get around a timestamp conversion bug in UHD, but that's not supported in versions below 3.9.0. I don't like to keep raising the minimum UHD requirement, but that seems to be the best choice in the current situation.
-TT
Ok, with
sudo chrt 15 ./src/osmo-bts-trx/osmo-bts-trx -t 2 -c ~/.config/osmocom/osmo-bts-mtrx.cfg -d DRTP:DCC:DRSL:DL1C
it starts but phone fails to see the network - openbsc gives following error:
<0004> bsc_init.c:287 bootstrapping RSL for BTS/TRX (0/0) on ARFCN 878 using MCC=1 MNC=64 LAC=1 CID=0 BSIC=63 <001d> input/ipa.c:265 accept()ed new link from 192.168.122.1 to port 3003 <0004> bsc_init.c:287 bootstrapping RSL for BTS/TRX (0/1) on ARFCN 880 using MCC=1 MNC=64 LAC=1 CID=0 BSIC=63 <0000> abis_rsl.c:1835 (bts=0,trx=1,ts=0,ss=0) ERROR INDICATION cause=SABM frame with information not allowed in this state in state=ACTIVE <0002> gsm_04_08.c:472 Subscriber 1640000005666: LOCATION UPDATING REJECT LAC=1 BTS=0 <0002> gsm_subscriber.c:309 Subscriber 1640000005666 ATTACHED LAC=1 <001d> input/ipaccess.c:277 Bad signalling message,sign_link returned error <001d> input/ipaccess.c:277 Bad signalling message,sign_link returned error <0000> abis_rsl.c:1835 (bts=0,trx=1,ts=0,ss=0) ERROR INDICATION cause=Timer T200 expired (N200+1) times in state=RELEASE REQUESTED
Could you share which versions/branches have you used in your tests?
Also could elaborate on '-m' - what's this option for and when it's necessary? How it's support to affect osmo-bts configuration?
On 08/02/2016 12:39 AM, Tom Tsou wrote:
Hi Max,
On Mon, Aug 1, 2016 at 7:57 AM, Max msuraev@sysmocom.de wrote:
I've asked about it before but this seems to have been lost in communication.
I do not recall this discussion. My apologies.
The question is basically how to enable multi-TRX support for osmo-bts-trx using phy/instance infrastructure similar to other bts?
I use the following configuration.
phy 0 instance 0 instance 1 osmotrx rx-gain 25
bts 0 band 900 ipa unit-id 1234 0 oml remote-ip 127.0.0.1 settsc gsmtap-sapi ccch gsmtap-sapi pdtch trx 0 phy 0 instance 0 trx 1 phy 0 instance 1
$ osmo-bts-trx -c osmo-bts.cfg -t 2
In short, I'd like to configure OpenBSC with 1 BTS with 2 TRX, each with its own arfcn and set of channels. I'm running "osmo-bts-trx -t 2" and correspondingly "osmo-trx -c 2" on usrp b210. Any ideas on what's missing to make this actually work are greatly appreciated.
You can use "osmo-trx -c 2" or "osmo-trx -m -c 2" to use dual-channels of the B210 or multi-ARFCN on one channel respectively.
Note that there are ARFCN restrictions for both cases. Due to a shared local oscillator for both B210 channels, ARFCN separation can be up about 25 MHz.
With multi-TRX, ARFCN spacing is fixed at 800 kHz or 4 GSM channels. So if TRX-0 is set to ARFCN 51, TRX-1 _must_ be set to 55. Up to three ARFCN's is supported for multi-TRX.
-TT
On Wed, Aug 10, 2016 at 7:17 AM, Max msuraev@sysmocom.de wrote:
<0002> gsm_subscriber.c:309 Subscriber 1640000005666 ATTACHED LAC=1 <001d> input/ipaccess.c:277 Bad signalling message,sign_link returned error <001d> input/ipaccess.c:277 Bad signalling message,sign_link returned error <0000> abis_rsl.c:1835 (bts=0,trx=1,ts=0,ss=0) ERROR INDICATION cause=Timer T200 expired (N200+1) times in state=RELEASE REQUESTED
Could you share which versions/branches have you used in your tests?
I was using master branch at the time. I will test with more recent master branch updates later today.
Also could elaborate on '-m' - what's this option for and when it's necessary? How it's support to affect osmo-bts configuration?
There are two ways to implement multi-ARFCN with the B210 - using independent, direct channels for each ARFCN and mutiplexing multiple ARFCN's onto a single RF channel.
The direct approach uses separate physical channels of the B210 (one ARFCN each for side A and side B). Note that channels are not 100% independent on the B210 because they share a single local oscillator (LO). For that reason ARFCN channel separation is limited to roughly 25 MHz. This is the configuration if '-m' is not specified.
The 'multi-carrier' approach multiplexes up to 3 ARFCN channels onto a single physical RF channel (side A) on the B210. Channel spacing is fixed at 800 kHz, or 4 ARFCN channels. ARFCN settings from OpenBSC must match accordingly. The '-m' option enables this configuration.
Also note that the above configurations cannot be combined.
-TT
Thanks for the explanation. See some comment inline.
On 08/10/2016 07:35 PM, Tom Tsou wrote:
The 'multi-carrier' approach multiplexes up to 3 ARFCN channels onto a single physical RF channel (side A) on the B210. Channel spacing is fixed at 800 kHz, or 4 ARFCN channels. ARFCN settings from OpenBSC must match accordingly. The '-m' option enables this configuration.
Could you give an example of necessary openbsc and osmo-bts configuration for both cases?
Also note that the above configurations cannot be combined.
So I should not run "./Transceiver52M/osmo-trx -c 2 -g -m"? Only "./Transceiver52M/osmo-trx -c 2 -g" or "./Transceiver52M/osmo-trx -g -m"? Or you referring to the incompatibility of configuration of openbsc? Or Osmobts?
-TT
On Thu, Aug 11, 2016 at 2:50 AM, Max msuraev@sysmocom.de wrote:
On 08/10/2016 07:35 PM, Tom Tsou wrote:
The 'multi-carrier' approach multiplexes up to 3 ARFCN channels onto a single physical RF channel (side A) on the B210. Channel spacing is fixed at 800 kHz, or 4 ARFCN channels. ARFCN settings from OpenBSC must match accordingly. The '-m' option enables this configuration.
Could you give an example of necessary openbsc and osmo-bts configuration for both cases?
Config files and README are attached. Note that the osmo-trx multi-carrier '-m' option requires UHD master. I'm still backporting the needed settings.
Also note that the above configurations cannot be combined.
So I should not run "./Transceiver52M/osmo-trx -c 2 -g -m"? Only "./Transceiver52M/osmo-trx -c 2 -g" or "./Transceiver52M/osmo-trx -g -m"? Or you referring to the incompatibility of configuration of openbsc? Or Osmobts?
You cannot support, for example, 6 ARFCN operation on B210 using 3 TRX on side A and another 3 TRX on side B.
Whether you use '-c 2 -m' or just '-c 2' depends on whether you want to feed two ARFCN channels through 1 or 2 PA's respectively.
-TT
Hi.
After updating uhd to UHD_003.010.000.000-release I got it partially working. It's summarized in https://projects.osmocom.org/issues/1648
If I understood correctly there are 2 possibilities for multi-trx setup with osmo-trx: multiplexed and non-multiplexed. The command to run osmo-bts-trx is the same in both cases: you've got to specify number of trx like in "./src/osmo-bts-trx/osmo-bts-trx -c ~/.config/osmocom/osmo-bts-mtrx.cfg -t 2". From osmo-trx, the difference is:
non-multiplexed: ./Transceiver52M/osmo-trx -c 2 -l INFO
multiplexed: ./Transceiver52M/osmo-trx -m -c 2 -l INFO
The question is - is there any difference between multiplexed and non-multiplexed mode for osmo-bts-trx config file? I've got multiplexed mode working with following setup:
...
phy 0 instance 0 instance 1 ...
trx 0 phy 0 instance 0 trx 1 phy 0 instance 1 ...
Should it look differently for non-multiplexed mode? Are there some other command-line options or config files adjustments missing to make non-multiplexed mode working? Did I got the overall setup right?
On 08/12/2016 09:05 PM, Tom Tsou wrote:
On Thu, Aug 11, 2016 at 2:50 AM, Max msuraev@sysmocom.de wrote:
On 08/10/2016 07:35 PM, Tom Tsou wrote:
The 'multi-carrier' approach multiplexes up to 3 ARFCN channels onto a single physical RF channel (side A) on the B210. Channel spacing is fixed at 800 kHz, or 4 ARFCN channels. ARFCN settings from OpenBSC must match accordingly. The '-m' option enables this configuration.
Could you give an example of necessary openbsc and osmo-bts configuration for both cases?
Config files and README are attached. Note that the osmo-trx multi-carrier '-m' option requires UHD master. I'm still backporting the needed settings.
Also note that the above configurations cannot be combined.
So I should not run "./Transceiver52M/osmo-trx -c 2 -g -m"? Only "./Transceiver52M/osmo-trx -c 2 -g" or "./Transceiver52M/osmo-trx -g -m"? Or you referring to the incompatibility of configuration of openbsc? Or Osmobts?
You cannot support, for example, 6 ARFCN operation on B210 using 3 TRX on side A and another 3 TRX on side B.
Whether you use '-c 2 -m' or just '-c 2' depends on whether you want to feed two ARFCN channels through 1 or 2 PA's respectively.
-TT
On Thu, Oct 13, 2016 at 7:34 AM, Max msuraev@sysmocom.de wrote:
The question is - is there any difference between multiplexed and non-multiplexed mode for osmo-bts-trx config file? I've got multiplexed mode working with following setup: ...
phy 0 instance 0 instance 1 ...
trx 0 phy 0 instance 0 trx 1 phy 0 instance 1 ...
I used the same configuration.
Should it look differently for non-multiplexed mode? Are there some other command-line options or config files adjustments missing to make non-multiplexed mode working? Did I got the overall setup right?
Multiplexed and non-multiplexed configurations should look the same to osmo-bts. The main difference will be on ARFCN settings.
Multiplexed (MCBTS) - TRX0 is the primary ARFCN. Channel spacing is fixed at 4, so TRX1 and TRX2 must be set 4 and 8 ARFCN channels higher than TRX0 respectively.
Non-multiplexed - ARFCN for each channel can be set within the limitations of the RF device. This will vary depending on the particular RF product.
-TT
On 10/08/2016 19:35, Tom Tsou wrote:
There are two ways to implement multi-ARFCN with the B210 - using independent, direct channels for each ARFCN and mutiplexing multiple ARFCN's onto a single RF channel.
oo.. Possible silly question, but then is this multiplexing single RF channel mode possible on the N210?
k/
On Fri, Aug 12, 2016 at 1:33 PM, Keith Whyte keith@rhizomatica.org wrote:
On 10/08/2016 19:35, Tom Tsou wrote:
There are two ways to implement multi-ARFCN with the B210 - using independent, direct channels for each ARFCN and mutiplexing multiple ARFCN's onto a single RF channel.
oo.. Possible silly question, but then is this multiplexing single RF channel mode possible on the N210?
Not a silly question at all. In fact, it's a very good question.
Yes and no. The N210 device is capable of operating in a similar configuration, but the implementation is more complicated and, more importantly, does not exist.
The reason is that the N210 uses a fixed FPGA clocking frequency that doesn't match up well with the polyphase channelizer used for multiplexing. The B200/B210 has configurable clocking so that the desirable sampling rate for GSM channel spacing can be used.
-TT