NanoBTSmultiTRX » History » Version 2
laforge, 02/19/2016 10:48 PM
add log from bsc_hack
1 | 1 | laforge | [[PageOutline]] |
---|---|---|---|
2 | |||
3 | = How to create a nanoBTS multi-TRX setup = |
||
4 | |||
5 | == Preparation == |
||
6 | |||
7 | In order to configure an ip.access nanoBTS multi-TRX setup, you will need |
||
8 | * at least two nanoBTS (let's say you have N units, where 1 < N < 5) |
||
9 | * N-1 TIB cables (see section below how to make them) |
||
10 | * N-1 RF cables (see section below) |
||
11 | * N RJ45 cables |
||
12 | * N PoE capable Ethernet ports at a switch |
||
13 | |||
14 | === TIB cables === |
||
15 | |||
16 | ==== The TIB connectors ==== |
||
17 | |||
18 | As you may have noticed, the nanoBTS has two connectors called TIB-in and TIB-out. |
||
19 | TIB refers to the Timing Interface Bus, a proprietary interface to synchronize the |
||
20 | various nanoBTS units in a multi-TRX setup. |
||
21 | |||
22 | While upon first sight they may appear to be RJ-45, they are in fact not. |
||
23 | Careful inspection will show that while they have the same width as RJ-45, they |
||
24 | do actually have two extra pins (one on each side), making it a 10pin connector. |
||
25 | The official designation for those connectors is RJ-69. |
||
26 | |||
27 | The corresponding plugs and 10pin cables are relatively hard to come by. In |
||
28 | Germany you can order them from http://www.segor.de/ |
||
29 | |||
30 | Unfortunately, the RJ-69 sockets in the nanoBTS are not standard, but have a |
||
31 | dent on the right side (right of the connectors ''nose''). We have not been able |
||
32 | to find a source for the matching plugs, so we resort to milling part of the |
||
33 | standard RJ-69 plug away. |
||
34 | |||
35 | You will need two RJ-69 (10pin RJ-45) connectors for each cable. I suggest you |
||
36 | buy some extra, in case you break one during mounting or milling. |
||
37 | |||
38 | ==== Milling the RJ-69 connector ==== |
||
39 | |||
40 | We don't really have any mechanical specifications for the connectors. Simply |
||
41 | use a small milling tool to remove parts of the tip of the plug until it fits |
||
42 | into the socket. |
||
43 | |||
44 | FIXME: picture of milled plug |
||
45 | ==== Crimping the RJ-69 connectors ==== |
||
46 | |||
47 | The crimping is the same like crimping RJ-45 connectors. Any standard crimping |
||
48 | tool should work - with the exception that the two additional pins will not be |
||
49 | pushed into the wire but still stand out. |
||
50 | |||
51 | (FIXME: Photograph) |
||
52 | |||
53 | We have used a screwdriver to manually push those two pins into the plug. Be |
||
54 | careful not to damage the plug nor hurt yourself! |
||
55 | |||
56 | Please crimp one connector to each side of the cable, resulting in a 1:1 mapping |
||
57 | of the colors. (FIXME: Picture) |
||
58 | |||
59 | === RF Cables === |
||
60 | |||
61 | FIXME |
||
62 | |||
63 | === Completing the physical setup === |
||
64 | |||
65 | You will designate one BTS as the master, and all others as slave. |
||
66 | |||
67 | Start from the master TIB-out, connect it to the first slave TIB-in. Connect |
||
68 | the first slave TIB-out with the second slave TIB-in. Do not create a loop, |
||
69 | but simply a chain from one unit to another. |
||
70 | |||
71 | === Configuring the Unit IDs === |
||
72 | |||
73 | In a multi-TRX setup, the ip.access Unit IDs have to be set in a way that |
||
74 | the Site-ID and BTS-ID portions are equal, while the TRX-ID increments. |
||
75 | So for example: |
||
76 | * 1800/0/0 -- master BTS of multi-TRX setup |
||
77 | * 1800/0/1 -- first slave of multi-TRX setup |
||
78 | * 1800/0/2 -- second slave of multi-TRX setup (if any) |
||
79 | * 1800/0/3 -- third slave of multi-TRX setup (if any) |
||
80 | |||
81 | In order to set the Unit ID's accordingly, you can use the [wiki:ipaccess-config] tool. |
||
82 | |||
83 | In the following example, we configure the Unit IDs of two BTS. The '-r' is for restarting |
||
84 | the BTS after the Unit ID change: |
||
85 | {{{ |
||
86 | ./ipaccess-config -u 1800/0/0 -r 192.168.100.120 |
||
87 | ./ipaccess-config -u 1800/0/1 -r 192.168.100.190 |
||
88 | }}} |
||
89 | |||
90 | If we run [wiki:ipaccess-find] after the BTS have restarted, you will see something |
||
91 | along the lines of the following output: |
||
92 | {{{ |
||
93 | MAC Address='00:02:95:11:11:11' IP Address='192.168.100.120' Unit ID='1800/0/0' Location 1='' Location 2='BTS_NBT131G' |
||
94 | Equipment Version='165a029_55' Software Version='168a302_v142b13d0' Unit Name='nbts-00-02-95-11-11-11' Serial Number='00111111' |
||
95 | MAC Address='00:02:95:22:22:22' IP Address='192.168.100.190' Unit ID='1800/0/1' Location 1='' Location 2='BTS_NBT131G' |
||
96 | Equipment Version='165a029_55' Software Version='168a302_v142b13d0' Unit Name='nbts-00-02-95-22-22-22' Serial Number='00222222' |
||
97 | }}} |
||
98 | |||
99 | The slave TRX will have a green blinking light (indicating OML connection is |
||
100 | up), despite your OpenBSC not even running yet. The reson for this seems to be |
||
101 | the fact that the slave TRX connect their OML link to the master TRX and not |
||
102 | the BSC! |
||
103 | |||
104 | 2 | laforge | == Configuring OpenBSC == |
105 | 1 | laforge | |
106 | On OpenBSC, you simply configure one BTS (with unit ID of the master TRX) and N |
||
107 | number of TRX in that BTS. No special action required. |
||
108 | |||
109 | An example configuration file is attached to this page. |
||
110 | 2 | laforge | |
111 | == Running OpenBSC == |
||
112 | |||
113 | You run OpenBSC as usual. The master BTS will establish the OML link, |
||
114 | then the master TRX will establish its RSL link, followed by the slave TRX RSL links. |
||
115 | |||
116 | {{{ |
||
117 | ./bsc_hack |
||
118 | <000d> input/ipaccess.c:632 accept()ed new OML link from 192.168.100.120 |
||
119 | <000d> input/ipaccess.c:237 Identified BTS 1800/0/0 |
||
120 | <0005> bsc_init.c:736 bootstrapping OML for BTS 0 |
||
121 | <000d> input/ipaccess.c:694 accept()ed new RSL link from 192.168.100.120 |
||
122 | <000d> input/ipaccess.c:237 Identified BTS 1800/0/0 |
||
123 | <0004> bsc_init.c:897 bootstrapping RSL for BTS/TRX (0/0) on ARFCN 871 using MCC=1 MNC=1 LAC=1 CID=0 BSIC=63 TSC=7 |
||
124 | <000d> input/ipaccess.c:694 accept()ed new RSL link from 192.168.100.190 |
||
125 | <000d> input/ipaccess.c:237 Identified BTS 1800/0/1 |
||
126 | <0004> bsc_init.c:897 bootstrapping RSL for BTS/TRX (0/1) on ARFCN 873 using MCC=1 MNC=1 LAC=1 CID=0 BSIC=63 TSC=7 |
||
127 | }}} |