NanoBTS Getting Started » History » Version 2
laforge, 02/19/2016 10:48 PM
add more getting started
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 | configurations (see [nanoBTS_multiTRX] for details). This leaves only 1 real RJ-45 marked '''LAN/48VDC''', and that's where you connect your |
||
21 | 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 | * AUX (once again only used for stacking, see [nanoBTS_multiTRX]) |
||
30 | |||
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 | The nanoBTS has a number of paramters that are stored in NVRAM. Those essential parameters are required for the nanoBTS to know how to |
||
39 | use the netwokr and to which BSC to connect. All other operational parameters are volatile and configured after booting from the BSC |
||
40 | 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 | ip.access supplies some official tools for this purpose. OpenBSC contains the [ipaccess-find] and [ipaccess-config] utilities, |
||
47 | 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 | can use the [ipaccess-find] tool to identify the BTS attached to the network. This looks like: |
||
53 | {{{ |
||
54 | $ openbsc/src/ipaccess/ipaccess-find |
||
55 | ipaccess-find (C) 2009 by Harald Welte |
||
56 | 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 | 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' Equipment_Version='165g029_79' Software_Version='168a352_v142b30d0' Unit_Name='nbts-00-11-22-33-44-55' Serial_Number='01234567' |
||
62 | }}} |
||
63 | |||
64 | As you can see, it prints the MAC and IP address information, as well as the serial number of the unit. |
||
65 | |||
66 | 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 '/'. |
||
67 | |||
68 | ==== Setting the Unit ID ==== |
||
69 | |||
70 | You can use [ipaccess-config] to set the Unit ID of the device like this: |
||
71 | {{{ |
||
72 | openbsc/src/ipaccess/ipaccess-config -u 1234/0/0 -r 192.168.100.193 |
||
73 | ipaccess-config (C) 2009-2010 by Harald Welte and others |
||
74 | This is FREE SOFTWARE with ABSOLUTELY NO WARRANTY |
||
75 | |||
76 | Trying to connect to ip.access BTS ... |
||
77 | <0005> abis_nm.c:398 OC=SITE-MANAGER(00) INST=(ff,ff,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) |
||
78 | <0005> abis_nm.c:398 OC=BTS(01) INST=(00,ff,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked |
||
79 | <0005> abis_nm.c:398 OC=BASEBAND-TRANSCEIVER(04) INST=(00,00,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked |
||
80 | OML link established using TRX 0 |
||
81 | setting Unit ID to '1234/0/0' |
||
82 | restarting BTS |
||
83 | <0005> abis_nm.c:398 OC=CHANNEL(03) INST=(00,00,00) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked |
||
84 | <0005> abis_nm.c:398 OC=CHANNEL(03) INST=(00,00,01) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked |
||
85 | <0005> abis_nm.c:398 OC=CHANNEL(03) INST=(00,00,02) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked |
||
86 | <0005> abis_nm.c:398 OC=CHANNEL(03) INST=(00,00,03) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked |
||
87 | <0005> abis_nm.c:398 OC=CHANNEL(03) INST=(00,00,04) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked |
||
88 | <0005> abis_nm.c:398 OC=CHANNEL(03) INST=(00,00,05) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked |
||
89 | <0005> abis_nm.c:398 OC=CHANNEL(03) INST=(00,00,06) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked |
||
90 | <0005> abis_nm.c:398 OC=CHANNEL(03) INST=(00,00,07) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked |
||
91 | <0005> abis_nm.c:398 OC=RADIO-CARRIER(02) INST=(00,00,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked |
||
92 | <0005> abis_nm.c:398 OC=GPRS-NSE(f0) INST=(00,ff,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked |
||
93 | <0005> abis_nm.c:398 OC=GPRS-CELL(f1) INST=(00,00,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked |
||
94 | <0005> abis_nm.c:398 OC=GPRS-NSVC(f2) 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,01,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked |
||
96 | <0005> abis_nm.c:398 OC=BASEBAND-TRANSCEIVER(04) INST=(00,00,ff) IPACCESS(0xf0): SET NVATTR ACK |
||
97 | Set the NV Attributes. |
||
98 | The BTS has acked the restart. Exiting. |
||
99 | }}} |
||
100 | where 192.168.100.193 is the IP address of the BTS. |
||
101 | |||
102 | The BTS will re-start in order to use the new unit-id. You can again use [ipaccess-find] to verify the configuration. |
||
103 | Please note that the BTS restart can easily take some minutes. Wait until the LED is no longer in 'permanent orange on' mode. |
||
104 | |||
105 | ==== Setting the Primary OML address ==== |
||
106 | |||
107 | 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 |
||
108 | called the primary OML address. You can set it like this: |
||
109 | {{{ |
||
110 | $ ./ipaccess/ipaccess-config -o 192.168.100.11 192.168.100.193 |
||
111 | ipaccess-config (C) 2009-2010 by Harald Welte and others |
||
112 | This is FREE SOFTWARE with ABSOLUTELY NO WARRANTY |
||
113 | |||
114 | Trying to connect to ip.access BTS ... |
||
115 | <0005> abis_nm.c:398 OC=SITE-MANAGER(00) INST=(ff,ff,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) |
||
116 | <0005> abis_nm.c:398 OC=BTS(01) INST=(00,ff,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked |
||
117 | <0005> abis_nm.c:398 OC=BASEBAND-TRANSCEIVER(04) INST=(00,00,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked |
||
118 | OML link established using TRX 0 |
||
119 | setting primary OML link IP to '192.168.100.11' |
||
120 | <0005> abis_nm.c:398 OC=CHANNEL(03) INST=(00,00,00) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked |
||
121 | <0005> abis_nm.c:398 OC=CHANNEL(03) INST=(00,00,01) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked |
||
122 | <0005> abis_nm.c:398 OC=CHANNEL(03) INST=(00,00,02) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked |
||
123 | <0005> abis_nm.c:398 OC=CHANNEL(03) INST=(00,00,03) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked |
||
124 | <0005> abis_nm.c:398 OC=CHANNEL(03) INST=(00,00,04) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked |
||
125 | <0005> abis_nm.c:398 OC=CHANNEL(03) INST=(00,00,05) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked |
||
126 | <0005> abis_nm.c:398 OC=CHANNEL(03) INST=(00,00,06) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked |
||
127 | <0005> abis_nm.c:398 OC=CHANNEL(03) INST=(00,00,07) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked |
||
128 | <0005> abis_nm.c:398 OC=RADIO-CARRIER(02) INST=(00,00,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked |
||
129 | <0005> abis_nm.c:398 OC=GPRS-NSE(f0) INST=(00,ff,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked |
||
130 | <0005> abis_nm.c:398 OC=GPRS-CELL(f1) INST=(00,00,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked |
||
131 | <0005> abis_nm.c:398 OC=GPRS-NSVC(f2) 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,01,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked |
||
133 | <0005> abis_nm.c:398 OC=BASEBAND-TRANSCEIVER(04) INST=(00,00,ff) IPACCESS(0xf0): SET NVATTR ACK |
||
134 | Set the NV Attributes. |
||
135 | }}} |
||
136 | 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. |
||
137 | |||
138 | 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 |
||
139 | tcpdump or wireshark. |
||
140 | |||
141 | 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), |
||
142 | the BTS should connect to OpenBSC and you should see something like this in the OpenBSC log file: |
||
143 | {{{ |
||
144 | <000d> input/ipaccess.c:696 accept()ed new OML link from 192.168.100.193 |
||
145 | }}} |