Project

General

Profile

NanoBTS Getting Started » History » Version 4

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

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