Project

General

Profile

NanoBTS Getting Started » History » Version 6

neels, 05/24/2016 10:30 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 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 5 neels
can use the [[abisip-find]] tool to identify the BTS attached to the network. This looks like:
65 4 laforge
<pre>
66 5 neels
$ openbsc/src/ipaccess/abisip-find 
67
abisip-find (C) 2009 by Harald Welte
68 2 laforge
This is FREE SOFTWARE with ABSOLUTELY NO WARRANTY
69
70
you might need to specify the outgoing
71 5 neels
 network interface, e.g. ``openbsc/src/ipaccess/abisip-find eth0''
72 3 laforge
Trying to find ip.access BTS by broadcast UDP...
73 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' \
74
  Equipment_Version='165g029_79'  Software_Version='168d402_v159b27d0'  Unit_Name='nbts-00-02-95-07-08-09'  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 1 laforge
117 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.
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
i.e. until it starts blinking occasionally.
120 2 laforge
121
122 4 laforge
h4. Setting the Primary OML address
123
124
125 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
126 2 laforge
called the primary OML address.  You can set it like this:
127 4 laforge
<pre>
128 1 laforge
$ ./ipaccess/ipaccess-config -o 192.168.100.11 192.168.100.193
129
ipaccess-config (C) 2009-2010 by Harald Welte and others
130
This is FREE SOFTWARE with ABSOLUTELY NO WARRANTY
131 2 laforge
132
Trying to connect to ip.access BTS ...
133
<0005> abis_nm.c:398 OC=SITE-MANAGER(00) INST=(ff,ff,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) 
134
<0005> abis_nm.c:398 OC=BTS(01) INST=(00,ff,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked 
135
<0005> abis_nm.c:398 OC=BASEBAND-TRANSCEIVER(04) INST=(00,00,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked 
136
OML link established using TRX 0
137
setting primary OML link IP to '192.168.100.11'
138
<0005> abis_nm.c:398 OC=CHANNEL(03) INST=(00,00,00) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked 
139
<0005> abis_nm.c:398 OC=CHANNEL(03) INST=(00,00,01) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked 
140
<0005> abis_nm.c:398 OC=CHANNEL(03) INST=(00,00,02) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked 
141
<0005> abis_nm.c:398 OC=CHANNEL(03) INST=(00,00,03) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked 
142
<0005> abis_nm.c:398 OC=CHANNEL(03) INST=(00,00,04) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked 
143
<0005> abis_nm.c:398 OC=CHANNEL(03) INST=(00,00,05) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked 
144
<0005> abis_nm.c:398 OC=CHANNEL(03) INST=(00,00,06) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked 
145
<0005> abis_nm.c:398 OC=CHANNEL(03) INST=(00,00,07) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked 
146
<0005> abis_nm.c:398 OC=RADIO-CARRIER(02) INST=(00,00,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked 
147
<0005> abis_nm.c:398 OC=GPRS-NSE(f0) INST=(00,ff,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked 
148 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 
149 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 
150
<0005> abis_nm.c:398 OC=GPRS-NSVC(f2) INST=(00,01,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked 
151
<0005> abis_nm.c:398 OC=BASEBAND-TRANSCEIVER(04) INST=(00,00,ff) IPACCESS(0xf0): SET NVATTR ACK
152
Set the NV Attributes.
153 4 laforge
</pre>
154
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.
155 2 laforge
156 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
157 2 laforge
tcpdump or wireshark.
158
159 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),
160
the BTS should connect to [[OpenBSC]] and you should see something like this in the [[OpenBSC]] log file:
161
<pre>
162 1 laforge
<000d> input/ipaccess.c:696 accept()ed new OML link from 192.168.100.193
163 4 laforge
</pre>
Add picture from clipboard (Maximum size: 48.8 MB)