Project

General

Profile

NanoBTS Getting Started » History » Version 7

neels, 05/24/2016 10:42 AM

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 6 neels
ip.access supplies some official tools for this purpose.  [[OpenBSC]] contains the [[abisip-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 7 neels
*Note:* the BTS startup can easily take some minutes.  Wait until the LED no longer is in 'permanent orange on' mode,
64
i.e. until it starts blinking occasionally.
65
66 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)
67 5 neels
can use the [[abisip-find]] tool to identify the BTS attached to the network. This looks like:
68 4 laforge
<pre>
69 5 neels
$ openbsc/src/ipaccess/abisip-find 
70
abisip-find (C) 2009 by Harald Welte
71 2 laforge
This is FREE SOFTWARE with ABSOLUTELY NO WARRANTY
72
73
you might need to specify the outgoing
74 5 neels
 network interface, e.g. ``openbsc/src/ipaccess/abisip-find eth0''
75 3 laforge
Trying to find ip.access BTS by broadcast UDP...
76 5 neels
MAC_Address='00:02:95:07:08:09'  IP_Address='192.168.100.193'  Unit_ID='1800/0/0'  Location_1=''  Location_2='BTS_NBT131G' \
77
  Equipment_Version='165g029_79'  Software_Version='168d402_v159b27d0'  Unit_Name='nbts-00-02-95-07-08-09'  Serial_Number='01234567'  
78 4 laforge
</pre>
79 2 laforge
80
As you can see, it prints the MAC and IP address information, as well as the serial number of the unit.
81
82 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 '/'.
83 2 laforge
84
85 4 laforge
h4. Setting the Unit ID
86
87
88 2 laforge
You can use [ipaccess-config] to set the Unit ID of the device like this:
89 4 laforge
<pre>
90 2 laforge
openbsc/src/ipaccess/ipaccess-config -u 1234/0/0 -r 192.168.100.193
91
ipaccess-config (C) 2009-2010 by Harald Welte and others
92 1 laforge
This is FREE SOFTWARE with ABSOLUTELY NO WARRANTY
93 2 laforge
94
Trying to connect to ip.access BTS ...
95
<0005> abis_nm.c:398 OC=SITE-MANAGER(00) INST=(ff,ff,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) 
96
<0005> abis_nm.c:398 OC=BTS(01) INST=(00,ff,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) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked 
98 1 laforge
OML link established using TRX 0
99
setting Unit ID to '1234/0/0'
100
restarting BTS
101 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 
102 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 
103 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 
104
<0005> abis_nm.c:398 OC=CHANNEL(03) INST=(00,00,03) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked 
105
<0005> abis_nm.c:398 OC=CHANNEL(03) INST=(00,00,04) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked 
106
<0005> abis_nm.c:398 OC=CHANNEL(03) INST=(00,00,05) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked 
107
<0005> abis_nm.c:398 OC=CHANNEL(03) INST=(00,00,06) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked 
108
<0005> abis_nm.c:398 OC=CHANNEL(03) INST=(00,00,07) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked 
109
<0005> abis_nm.c:398 OC=RADIO-CARRIER(02) INST=(00,00,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked 
110
<0005> abis_nm.c:398 OC=GPRS-NSE(f0) INST=(00,ff,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked 
111
<0005> abis_nm.c:398 OC=GPRS-CELL(f1) INST=(00,00,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked 
112
<0005> abis_nm.c:398 OC=GPRS-NSVC(f2) INST=(00,00,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked 
113
<0005> abis_nm.c:398 OC=GPRS-NSVC(f2) INST=(00,01,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked 
114
<0005> abis_nm.c:398 OC=BASEBAND-TRANSCEIVER(04) INST=(00,00,ff) IPACCESS(0xf0): SET NVATTR ACK
115
Set the NV Attributes.
116
The BTS has acked the restart. Exiting.
117 4 laforge
</pre>
118 2 laforge
where 192.168.100.193 is the IP address of the BTS.
119 1 laforge
120 6 neels
The BTS will re-start in order to use the new unit-id.  You can again use [[abisip-find]] to verify the configuration.
121
Please note that the BTS restart can easily take some minutes.  Wait until the LED is no longer in 'permanent orange on' mode,
122
i.e. until it starts blinking occasionally.
123 2 laforge
124
125 4 laforge
h4. Setting the Primary OML address
126
127
128 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
129 2 laforge
called the primary OML address.  You can set it like this:
130 4 laforge
<pre>
131 1 laforge
$ ./ipaccess/ipaccess-config -o 192.168.100.11 192.168.100.193
132
ipaccess-config (C) 2009-2010 by Harald Welte and others
133
This is FREE SOFTWARE with ABSOLUTELY NO WARRANTY
134 2 laforge
135
Trying to connect to ip.access BTS ...
136
<0005> abis_nm.c:398 OC=SITE-MANAGER(00) INST=(ff,ff,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) 
137
<0005> abis_nm.c:398 OC=BTS(01) INST=(00,ff,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked 
138
<0005> abis_nm.c:398 OC=BASEBAND-TRANSCEIVER(04) INST=(00,00,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked 
139
OML link established using TRX 0
140
setting primary OML link IP to '192.168.100.11'
141
<0005> abis_nm.c:398 OC=CHANNEL(03) INST=(00,00,00) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked 
142
<0005> abis_nm.c:398 OC=CHANNEL(03) INST=(00,00,01) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked 
143
<0005> abis_nm.c:398 OC=CHANNEL(03) INST=(00,00,02) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked 
144
<0005> abis_nm.c:398 OC=CHANNEL(03) INST=(00,00,03) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked 
145
<0005> abis_nm.c:398 OC=CHANNEL(03) INST=(00,00,04) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked 
146
<0005> abis_nm.c:398 OC=CHANNEL(03) INST=(00,00,05) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked 
147
<0005> abis_nm.c:398 OC=CHANNEL(03) INST=(00,00,06) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked 
148
<0005> abis_nm.c:398 OC=CHANNEL(03) INST=(00,00,07) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked 
149
<0005> abis_nm.c:398 OC=RADIO-CARRIER(02) INST=(00,00,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked 
150
<0005> abis_nm.c:398 OC=GPRS-NSE(f0) INST=(00,ff,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked 
151 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 
152 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 
153
<0005> abis_nm.c:398 OC=GPRS-NSVC(f2) INST=(00,01,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked 
154
<0005> abis_nm.c:398 OC=BASEBAND-TRANSCEIVER(04) INST=(00,00,ff) IPACCESS(0xf0): SET NVATTR ACK
155
Set the NV Attributes.
156 4 laforge
</pre>
157
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.
158 2 laforge
159 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
160 2 laforge
tcpdump or wireshark.
161
162 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),
163
the BTS should connect to [[OpenBSC]] and you should see something like this in the [[OpenBSC]] log file:
164
<pre>
165 1 laforge
<000d> input/ipaccess.c:696 accept()ed new OML link from 192.168.100.193
166 4 laforge
</pre>
Add picture from clipboard (Maximum size: 48.8 MB)