Project

General

Profile

Actions

NanoBTS Getting Started » History » Revision 3

« Previous | Revision 3/7 (diff) | Next »
laforge, 02/19/2016 10:48 PM
fix formatting


PageOutline = Getting started with Openbsc and an ip.access nanoBTS =

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]).

Please note once again that the Osmocom project has no affiliation and no contact with ip.access. All information here is presented
based on our own experience only. If you have official documentation by the manufacturer, you should probably consult that instead
of using this wiki page.

Physical set-up

=== Power supply ===
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'')
or a PoE capable switch (like the Netgear FS-108P for a small desktop switch).

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
for nanoBTSs. Check with your switch vendor and/or ip.access.

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
configurations (see [wiki:nanoBTS/multiTRX] for details). This leaves only 1 real RJ-45 marked '''LAN/48VDC''', and that's where you connect your
powered Ethernet.

=== Antennas ===

There are four SMA connectors, one on each corner. * RX (receive antenna for uplink) * TX (transmit antenna for downlink) * NWL (network listen, a special mode where the BTS behaves like a MS to receive other BTSs) * AUX (once again only used for stacking, see [wiki:nanoBTS/multiTRX])

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
system or an external LNA + PA + Duplexer kit.

'''Do not power up the device without a TX antenna'''

Software configuration

The nanoBTS has a number of parameters that are stored in NVRAM. Those essential parameters are required for the nanoBTS to know how to
use the network and to which BSC to connect. All other operational parameters are volatile and configured after booting from the BSC
through A-bis/IP by means of the GSM TS 12.21 SET ATTRIBUTE messages.

=== Network configuration ===

The nanoBTS can either be configured to use a static IP address (IPv4 address, netmask, default gateway) or to use DHCP.

ip.access supplies some official tools for this purpose. OpenBSC contains the [wiki:ipaccess-find] and [wiki:ipaccess-config] utilities,
which implement a sub-set of the features.

The remainder of this presentation assumes that the nanoBTS is configured for use with DHCP.

In any case, after the unit has been attached to the Ethernet, other systems attached to the same Ethernet link-layer segment (broadcast domain)
can use the [wiki:ipaccess-find] tool to identify the BTS attached to the network. This looks like: {{{
$ openbsc/src/ipaccess/ipaccess-find
ipaccess-find (C) 2009 by Harald Welte
This is FREE SOFTWARE with ABSOLUTELY NO WARRANTY

you might need to specify the outgoing
network interface, e.g. ``./ipaccess/ipaccess-find eth0''
Trying to find ip.access BTS by broadcast UDP...
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'
}}}

As you can see, it prints the MAC and IP address information, as well as the serial number of the unit.

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 '/'.

==== Setting the Unit ID ====

You can use [ipaccess-config] to set the Unit ID of the device like this: {{{
openbsc/src/ipaccess/ipaccess-config -u 1234/0/0 -r 192.168.100.193
ipaccess-config (C) 2009-2010 by Harald Welte and others
This is FREE SOFTWARE with ABSOLUTELY NO WARRANTY

Trying to connect to ip.access BTS ...
<0005> abis_nm.c:398 OC=SITE-MANAGER INST=(ff,ff,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07)
<0005> abis_nm.c:398 OC=BTS INST=(00,ff,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked
<0005> abis_nm.c:398 OC=BASEBAND-TRANSCEIVER INST=(00,00,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked
OML link established using TRX 0
setting Unit ID to '1234/0/0'
restarting BTS
<0005> abis_nm.c:398 OC=CHANNEL INST=(00,00,00) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked
<0005> abis_nm.c:398 OC=CHANNEL INST=(00,00,01) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked
<0005> abis_nm.c:398 OC=CHANNEL INST=(00,00,02) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked
<0005> abis_nm.c:398 OC=CHANNEL INST=(00,00,03) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked
<0005> abis_nm.c:398 OC=CHANNEL INST=(00,00,04) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked
<0005> abis_nm.c:398 OC=CHANNEL INST=(00,00,05) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked
<0005> abis_nm.c:398 OC=CHANNEL INST=(00,00,06) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked
<0005> abis_nm.c:398 OC=CHANNEL INST=(00,00,07) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked
<0005> abis_nm.c:398 OC=RADIO-CARRIER INST=(00,00,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked
<0005> abis_nm.c:398 OC=GPRS-NSE INST=(00,ff,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked
<0005> abis_nm.c:398 OC=GPRS-CELL INST=(00,00,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked
<0005> abis_nm.c:398 OC=GPRS-NSVC INST=(00,00,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked
<0005> abis_nm.c:398 OC=GPRS-NSVC INST=(00,01,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked
<0005> abis_nm.c:398 OC=BASEBAND-TRANSCEIVER INST=(00,00,ff) IPACCESS: SET NVATTR ACK
Set the NV Attributes.
The BTS has acked the restart. Exiting.
}}}
where 192.168.100.193 is the IP address of the BTS.

The BTS will re-start in order to use the new unit-id. You can again use [ipaccess-find] to verify the configuration.
Please note that the BTS restart can easily take some minutes. Wait until the LED is no longer in 'permanent orange on' mode.

==== Setting the Primary OML address ====

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
called the primary OML address. You can set it like this: {{{
$ ./ipaccess/ipaccess-config -o 192.168.100.11 192.168.100.193
ipaccess-config (C) 2009-2010 by Harald Welte and others
This is FREE SOFTWARE with ABSOLUTELY NO WARRANTY

Trying to connect to ip.access BTS ...
<0005> abis_nm.c:398 OC=SITE-MANAGER INST=(ff,ff,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07)
<0005> abis_nm.c:398 OC=BTS INST=(00,ff,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked
<0005> abis_nm.c:398 OC=BASEBAND-TRANSCEIVER INST=(00,00,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked
OML link established using TRX 0
setting primary OML link IP to '192.168.100.11'
<0005> abis_nm.c:398 OC=CHANNEL INST=(00,00,00) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked
<0005> abis_nm.c:398 OC=CHANNEL INST=(00,00,01) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked
<0005> abis_nm.c:398 OC=CHANNEL INST=(00,00,02) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked
<0005> abis_nm.c:398 OC=CHANNEL INST=(00,00,03) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked
<0005> abis_nm.c:398 OC=CHANNEL INST=(00,00,04) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked
<0005> abis_nm.c:398 OC=CHANNEL INST=(00,00,05) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked
<0005> abis_nm.c:398 OC=CHANNEL INST=(00,00,06) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked
<0005> abis_nm.c:398 OC=CHANNEL INST=(00,00,07) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked
<0005> abis_nm.c:398 OC=RADIO-CARRIER INST=(00,00,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked
<0005> abis_nm.c:398 OC=GPRS-NSE INST=(00,ff,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked
<0005> abis_nm.c:398 OC=GPRS-CELL INST=(00,00,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked
<0005> abis_nm.c:398 OC=GPRS-NSVC INST=(00,00,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked
<0005> abis_nm.c:398 OC=GPRS-NSVC INST=(00,01,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked
<0005> abis_nm.c:398 OC=BASEBAND-TRANSCEIVER INST=(00,00,ff) IPACCESS: SET NVATTR ACK
Set the NV Attributes.
}}}
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.

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
tcpdump or wireshark.

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),
the BTS should connect to OpenBSC and you should see something like this in the OpenBSC log file: {{{
<000d> input/ipaccess.c:696 accept()ed new OML link from 192.168.100.193
}}}

Files (0)

Updated by laforge about 8 years ago · 3 revisions

Add picture from clipboard (Maximum size: 48.8 MB)