Project

General

Profile

NanoBTS Getting Started » History » Version 3

laforge, 02/19/2016 10:48 PM
fix formatting

1 1 laforge
[[PageOutline]]
2
= Getting started with Openbsc and an ip.access nanoBTS =
3
4
This page describes how ot configure + set up an ip.access nanoBTS to use it in conjunction with OpenBSC (i.e. [osmo-nitb] or [osmo-bsc]).
5
6
Please note once again that the Osmocom project has no affiliation and no contact with ip.access.  All information here is presented
7
based on our own experience only.  If you have official documentation by the manufacturer, you should probably consult that instead
8
of using this wiki page.
9
10
== Physical set-up ==
11
12
=== Power supply ===
13
The nanoBTS uses PoE (Power-over-Ethernet).  It does not have any other power connector, so you will have to use a PoE-Injector (aka ''mid-span'')
14
or a PoE capable switch (like the Netgear FS-108P for a small desktop switch).
15
16
Please note the power demand of the nanoBTS is quite high for a PoE powered device.  You may not be able to use all the PoE ports of your switch
17
for nanoBTSs.  Check with your switch vendor and/or ip.access.
18
19
On first sight, there appear to be three RJ-45 jacks on the nanoBTS.  However, two of them are actually RJ-69 (10-pin) and only used in stacking
20 3 laforge
configurations (see [wiki:nanoBTS/multiTRX] for details).  This leaves only 1 real RJ-45 marked '''LAN/48VDC''', and that's where you connect your
21 1 laforge
powered Ethernet.
22
23
=== Antennas ===
24
25
There are four SMA connectors, one on each corner.
26
 * RX (receive antenna for uplink)
27
 * TX (transmit antenna for downlink)
28
 * NWL (network listen, a special mode where the BTS behaves like a MS to receive other BTSs)
29 3 laforge
 * AUX (once again only used for stacking, see [wiki:nanoBTS/multiTRX])
30 1 laforge
31
RX and TX should each be connected to an antenna, either the small factory-supplied antennas, or some larger antenna or even an RF distribution
32
system or an external LNA + PA + Duplexer kit.
33
34
'''Do not power up the device without a TX antenna'''
35
36 2 laforge
== Software configuration ==
37
38 3 laforge
The nanoBTS has a number of parameters that are stored in NVRAM.  Those essential parameters are required for the nanoBTS to know how to
39
use the network and to which BSC to connect.  All other operational parameters are volatile and configured after booting from the BSC
40 2 laforge
through A-bis/IP by means of the GSM TS 12.21 SET ATTRIBUTE messages.
41
42
=== Network configuration ===
43
44
The nanoBTS can either be configured to use a static IP address (IPv4 address, netmask, default gateway) or to use DHCP.
45
46 3 laforge
ip.access supplies some official tools for this purpose.  OpenBSC contains the [wiki:ipaccess-find] and [wiki:ipaccess-config] utilities,
47 2 laforge
which implement a sub-set of the features.
48
49
The remainder of this presentation assumes that the nanoBTS is configured for use with DHCP.
50
51
In any case, after the unit has been attached to the Ethernet, other systems attached to the same Ethernet link-layer segment (broadcast domain)
52 3 laforge
can use the [wiki:ipaccess-find] tool to identify the BTS attached to the network. This looks like:
53 2 laforge
{{{
54
$ openbsc/src/ipaccess/ipaccess-find
55 1 laforge
ipaccess-find (C) 2009 by Harald Welte
56 2 laforge
This is FREE SOFTWARE with ABSOLUTELY NO WARRANTY
57
58
you might need to specify the outgoing
59
 network interface, e.g. ``./ipaccess/ipaccess-find eth0''
60
Trying to find ip.access BTS by broadcast UDP...
61 3 laforge
MAC_Address='00:11:22:33:44:55'  IP_Address='192.168.100.193'  Unit_ID='102/0/0'  Location_1=''  Location_2='BTS_NBT131G'
62
Equipment_Version='165g029_79'  Software_Version='168a352_v142b30d0'  Unit_Name='nbts-00-11-22-33-44-55'  Serial_Number='01234567'
63 2 laforge
}}}
64
65
As you can see, it prints the MAC and IP address information, as well as the serial number of the unit.
66
67
Most importantly, it also contains the so-called ''Unit-ID'', which is a unique identifier for this unit inside the BSC area.   A Unit ID is structured into three components, separated by '/'.
68
69
==== Setting the Unit ID ====
70
71
You can use [ipaccess-config] to set the Unit ID of the device like this:
72
{{{
73
openbsc/src/ipaccess/ipaccess-config -u 1234/0/0 -r 192.168.100.193
74
ipaccess-config (C) 2009-2010 by Harald Welte and others
75
This is FREE SOFTWARE with ABSOLUTELY NO WARRANTY
76
77
Trying to connect to ip.access BTS ...
78
<0005> abis_nm.c:398 OC=SITE-MANAGER(00) INST=(ff,ff,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) 
79
<0005> abis_nm.c:398 OC=BTS(01) INST=(00,ff,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked 
80
<0005> abis_nm.c:398 OC=BASEBAND-TRANSCEIVER(04) INST=(00,00,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked 
81
OML link established using TRX 0
82
setting Unit ID to '1234/0/0'
83
restarting BTS
84
<0005> abis_nm.c:398 OC=CHANNEL(03) INST=(00,00,00) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked 
85
<0005> abis_nm.c:398 OC=CHANNEL(03) INST=(00,00,01) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked 
86
<0005> abis_nm.c:398 OC=CHANNEL(03) INST=(00,00,02) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked 
87
<0005> abis_nm.c:398 OC=CHANNEL(03) INST=(00,00,03) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked 
88
<0005> abis_nm.c:398 OC=CHANNEL(03) INST=(00,00,04) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked 
89
<0005> abis_nm.c:398 OC=CHANNEL(03) INST=(00,00,05) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked 
90
<0005> abis_nm.c:398 OC=CHANNEL(03) INST=(00,00,06) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked 
91
<0005> abis_nm.c:398 OC=CHANNEL(03) INST=(00,00,07) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked 
92
<0005> abis_nm.c:398 OC=RADIO-CARRIER(02) INST=(00,00,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked 
93
<0005> abis_nm.c:398 OC=GPRS-NSE(f0) INST=(00,ff,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked 
94
<0005> abis_nm.c:398 OC=GPRS-CELL(f1) INST=(00,00,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked 
95
<0005> abis_nm.c:398 OC=GPRS-NSVC(f2) INST=(00,00,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked 
96
<0005> abis_nm.c:398 OC=GPRS-NSVC(f2) INST=(00,01,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked 
97
<0005> abis_nm.c:398 OC=BASEBAND-TRANSCEIVER(04) INST=(00,00,ff) IPACCESS(0xf0): SET NVATTR ACK
98
Set the NV Attributes.
99
The BTS has acked the restart. Exiting.
100
}}}
101
where 192.168.100.193 is the IP address of the BTS.
102
103
The BTS will re-start in order to use the new unit-id.  You can again use [ipaccess-find] to verify the configuration.
104
Please note that the BTS restart can easily take some minutes.  Wait until the LED is no longer in 'permanent orange on' mode.
105
106
==== Setting the Primary OML address ====
107
108
The BTS needs to know the IP address of the BSC in order to be able to establish an Abis/IP link to it.  This is what's
109
called the primary OML address.  You can set it like this:
110
{{{
111
$ ./ipaccess/ipaccess-config -o 192.168.100.11 192.168.100.193
112
ipaccess-config (C) 2009-2010 by Harald Welte and others
113
This is FREE SOFTWARE with ABSOLUTELY NO WARRANTY
114
115
Trying to connect to ip.access BTS ...
116
<0005> abis_nm.c:398 OC=SITE-MANAGER(00) INST=(ff,ff,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) 
117
<0005> abis_nm.c:398 OC=BTS(01) INST=(00,ff,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked 
118
<0005> abis_nm.c:398 OC=BASEBAND-TRANSCEIVER(04) INST=(00,00,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked 
119
OML link established using TRX 0
120
setting primary OML link IP to '192.168.100.11'
121
<0005> abis_nm.c:398 OC=CHANNEL(03) INST=(00,00,00) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked 
122
<0005> abis_nm.c:398 OC=CHANNEL(03) INST=(00,00,01) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked 
123
<0005> abis_nm.c:398 OC=CHANNEL(03) INST=(00,00,02) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked 
124
<0005> abis_nm.c:398 OC=CHANNEL(03) INST=(00,00,03) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked 
125
<0005> abis_nm.c:398 OC=CHANNEL(03) INST=(00,00,04) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked 
126
<0005> abis_nm.c:398 OC=CHANNEL(03) INST=(00,00,05) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked 
127
<0005> abis_nm.c:398 OC=CHANNEL(03) INST=(00,00,06) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked 
128
<0005> abis_nm.c:398 OC=CHANNEL(03) INST=(00,00,07) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked 
129
<0005> abis_nm.c:398 OC=RADIO-CARRIER(02) INST=(00,00,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked 
130
<0005> abis_nm.c:398 OC=GPRS-NSE(f0) INST=(00,ff,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked 
131
<0005> abis_nm.c:398 OC=GPRS-CELL(f1) INST=(00,00,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked 
132
<0005> abis_nm.c:398 OC=GPRS-NSVC(f2) INST=(00,00,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked 
133
<0005> abis_nm.c:398 OC=GPRS-NSVC(f2) INST=(00,01,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked 
134 1 laforge
<0005> abis_nm.c:398 OC=BASEBAND-TRANSCEIVER(04) INST=(00,00,ff) IPACCESS(0xf0): SET NVATTR ACK
135 2 laforge
Set the NV Attributes.
136
}}}
137
where ''192.168.100.11'' is the IP address of your BSC, and ''192.168.100.193'' is once again the IP address of the BTS itself.
138
139
From this point on, the BTS should try to make TCP connections to 192.168.100.11 TCP Port 3002. You can verify this in
140
tcpdump or wireshark.
141
142 3 laforge
Once you start OpenBSC ([wiki:osmo-nitb] or [wiki:osmo-bsc] on the machine that owns the specified IP address (192.168.100.11 in the example above),
143 2 laforge
the BTS should connect to OpenBSC and you should see something like this in the OpenBSC log file:
144
{{{
145
<000d> input/ipaccess.c:696 accept()ed new OML link from 192.168.100.193
146
}}}
Add picture from clipboard (Maximum size: 48.8 MB)