Project

General

Profile

NanoBTS Getting Started » History » Revision 2

Revision 1 (laforge, 02/19/2016 10:48 PM) → Revision 2/7 (laforge, 02/19/2016 10:48 PM)

[[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 [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 [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 Network setup == 

 The nanoBTS has a number of paramters that are stored in NVRAM.    Those essential parameters are required for the nanoBTS to know how to 
 use the netwokr 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 [ipaccess-find] and [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 [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(00) INST=(ff,ff,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07)  
 <0005> abis_nm.c:398 OC=BTS(01) INST=(00,ff,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked  
 <0005> abis_nm.c:398 OC=BASEBAND-TRANSCEIVER(04) 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(03) INST=(00,00,00) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked  
 <0005> abis_nm.c:398 OC=CHANNEL(03) INST=(00,00,01) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked  
 <0005> abis_nm.c:398 OC=CHANNEL(03) INST=(00,00,02) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked  
 <0005> abis_nm.c:398 OC=CHANNEL(03) INST=(00,00,03) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked  
 <0005> abis_nm.c:398 OC=CHANNEL(03) INST=(00,00,04) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked  
 <0005> abis_nm.c:398 OC=CHANNEL(03) INST=(00,00,05) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked  
 <0005> abis_nm.c:398 OC=CHANNEL(03) INST=(00,00,06) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked  
 <0005> abis_nm.c:398 OC=CHANNEL(03) INST=(00,00,07) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked  
 <0005> abis_nm.c:398 OC=RADIO-CARRIER(02) INST=(00,00,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked  
 <0005> abis_nm.c:398 OC=GPRS-NSE(f0) INST=(00,ff,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked  
 <0005> abis_nm.c:398 OC=GPRS-CELL(f1) INST=(00,00,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked  
 <0005> abis_nm.c:398 OC=GPRS-NSVC(f2) INST=(00,00,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked  
 <0005> abis_nm.c:398 OC=GPRS-NSVC(f2) INST=(00,01,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked  
 <0005> abis_nm.c:398 OC=BASEBAND-TRANSCEIVER(04) INST=(00,00,ff) IPACCESS(0xf0): 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(00) INST=(ff,ff,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07)  
 <0005> abis_nm.c:398 OC=BTS(01) INST=(00,ff,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked  
 <0005> abis_nm.c:398 OC=BASEBAND-TRANSCEIVER(04) 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(03) INST=(00,00,00) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked  
 <0005> abis_nm.c:398 OC=CHANNEL(03) INST=(00,00,01) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked  
 <0005> abis_nm.c:398 OC=CHANNEL(03) INST=(00,00,02) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked  
 <0005> abis_nm.c:398 OC=CHANNEL(03) INST=(00,00,03) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked  
 <0005> abis_nm.c:398 OC=CHANNEL(03) INST=(00,00,04) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked  
 <0005> abis_nm.c:398 OC=CHANNEL(03) INST=(00,00,05) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked  
 <0005> abis_nm.c:398 OC=CHANNEL(03) INST=(00,00,06) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked  
 <0005> abis_nm.c:398 OC=CHANNEL(03) INST=(00,00,07) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked  
 <0005> abis_nm.c:398 OC=RADIO-CARRIER(02) INST=(00,00,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked  
 <0005> abis_nm.c:398 OC=GPRS-NSE(f0) INST=(00,ff,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked  
 <0005> abis_nm.c:398 OC=GPRS-CELL(f1) INST=(00,00,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked  
 <0005> abis_nm.c:398 OC=GPRS-NSVC(f2) INST=(00,00,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked  
 <0005> abis_nm.c:398 OC=GPRS-NSVC(f2) INST=(00,01,ff) STATE CHG: OP_STATE=Disabled AVAIL=Not installed(07) ADM=Locked  
 <0005> abis_nm.c:398 OC=BASEBAND-TRANSCEIVER(04) INST=(00,00,ff) IPACCESS(0xf0): 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 ([osmo-nitb] or [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 
 }}}
Add picture from clipboard (Maximum size: 48.8 MB)