Project

General

Profile

Nokia Site family » History » Version 18

laforge, 02/21/2016 10:54 AM

1 18 laforge
[[OpenBSC:]] is currently supporting the Site family of Nokia BTSes.
2 1
3 17
*Things that work:*
4 1
5 17
 - Nokia [[InSite]] ,MetroSite and [[UltraSite]] units are proven to be working, please see the detailed infos below
6 2
 - Full Rate and Enhanced Full Rate voice calls (MO & MT)
7 1
 - SMS (MO & MT)
8
 - Cell reselection
9 17
 - Handover (please see this patch: ")
10
 - Multiple BTS: two [[InSite]] and one [[MetroSite]] units are connected to [[OpenBSC]] on the same E1 line, everything worked as it should
11 16
 - Multi TRX: two or more TRX can be configured to add extra SDCCH or TCH capacity. Note that only one sector can be created at the moment.
12 17
 - Hopping: baseband and RF hopping works on [[MetroSite]], RF hopping works on [[UltraSite]]. Tested with two TRXes, probably more TRX can be configured, but not tested.
13 1
14 17
*Things that do not work:*
15 6
16 12
 - HR calls (the TRAU framer for E1 is only implementing 16kbit channels, HR needs 8kbit)
17
 - GPRS, EDGE (no E1 based PCU implementation, probably never will)
18 6
19 17
*Handover:*
20 1
21 18 laforge
The [[OpenBSC:]] side of the handover logic works quiet well. But at the moment, there is a slight problem with the Nokia units. The handover decision is made correctly, the GSM phone is commanded to switch to the new channel on the new BTS, which the phone does. But despite the channel release is sent, the old channel never get released, and this leads to a Radio Link Failure.
22 2
23 17
Update: it seems that the root cause of the previous handover failure is that the [[InSite]] BTSes (probably others too) are not sending the channel release ACK to the BSC after the old channel release is requested by the BSC. Andreas Eversberg added a patch which overcomes this problem by implicating the missing ACK, so the BSC can continue and finish the handover process. This can be enbaled by adding the next line to the BTS part of the config file:
24 2
25 17
<pre>
26 2
nokia_site no-local-rel-conf 1
27 17
</pre>
28 2
29 17
This fix is tested on Nokia [[InSite]] and [[MetroSite]] units, all of them are performing handovers normally.
30 2
31 17
For more info, please see this patch: [http://cgit.osmocom.org/openbsc/commit/?id=7d8fa3418ff6c589eba10e562da8b96995e19f7a":http://cgit.osmocom.org/openbsc/commit/?id=7d8fa3418ff6c589eba10e562da8b96995e19f7a]
32 1
33 17
*E1 cards:*
34 1
35
The original Nokia support was written for HFC-E1 and mISDN. The Site can only be interfaced via traditional E1 lines (no IP ABIS support for these old units). It is also possible to use a DAHDI card to interface with the BTS. For this you have to use the following configuration in /etc/dahdi/system.conf:
36
37 17
<pre>
38 1
span=1,0,0,ccs,hdb3,crc4	
39
bchan=1-31
40 17
</pre>
41 1
42
Unlike in traditional E1 communication, we are using CCS signalling. For every signalling and traffic channel between the BTS and the BSC, we are using dedicated timeslots. Because of that, we are no longer need any shared signalling channel on the E1 line (e.g. D channel on timeslot 16.
43
44 17
*Example config file for an 1800MHz Nokia [[InSite]] unit:*
45 1
46
47 17
<pre>
48 1
!
49
! OpenBSC configuration saved from vty
50
!   !
51
password foo
52
!
53
line vty
54
 no login
55
!
56
e1_input
57
 e1_line 0 driver dahdi
58
 # e1_line 0 port 0
59
 log file /root/900_nokia.log
60
 logging filter all 1
61
 logging color 1
62
 logging timestamp 1
63
 
64
network
65
 network country code 1
66
 mobile network code 1
67 17
 short name [[OpenBSC]]
68
 long name [[OpenBSC]] 
69 1
 neci 0
70
 rrlp mode none
71
 mm info 1
72
 handover 0
73
 handover window rxlev averaging 5
74
 handover window rxqual averaging 1
75
 handover window rxlev neighbor averaging 5
76
 handover power budget interval 6
77
 handover power budget hysteresis 3
78
 handover maximum distance 9999
79
 timer t3101 3
80
 timer t3103 5
81
 timer t3105 20
82
 timer t3107 10
83
 timer t3109 15
84
 timer t3111 2
85
 timer t3113 10
86
 timer t3115 0
87
 timer t3117 0
88
 timer t3119 0
89
 timer t3141 0
90
 timer t3122 10
91
92
 bts 0
93
  type nokia_site
94
  band GSM1800
95
  cell_identity 1
96
  location_area_code 1
97
  base_station_id_code 63
98
  training_sequence_code 7
99
  ms max power 12
100
  cell reselection hysteresis 4
101
  periodic location update 10
102
  nokia_site skip-reset 0
103 3
  nokia_site no-local-rel-conf 1
104 1
  
105
  oml e1 line 0 timeslot 8 sub-slot full
106
  oml e1 tei 1
107
  
108
  trx 0
109
   arfcn 885
110
   nominal power 18
111
   max_power_red 10
112
   rsl e1 line 0 timeslot 7 sub-slot full
113
   rsl e1 tei 1
114
115
116
    timeslot 0
117
     phys_chan_config CCCH+SDCCH4
118
     e1 line 0 timeslot 5 sub-slot 0
119
120
    timeslot 1
121
     phys_chan_config SDCCH8
122
     e1 line 0 timeslot 5 sub-slot 1
123
124
    timeslot 2
125
     phys_chan_config TCH/F
126
     e1 line 0 timeslot 5 sub-slot 2
127
128
    timeslot 3
129
     phys_chan_config TCH/F
130
     e1 line 0 timeslot 5 sub-slot 3
131
132
    timeslot 4
133
     phys_chan_config TCH/F
134
     e1 line 0 timeslot 6 sub-slot 0
135
136
    timeslot 5
137
     phys_chan_config TCH/F
138
     e1 line 0 timeslot 6 sub-slot 1
139
140
    timeslot 6
141
     phys_chan_config TCH/F
142
     e1 line 0 timeslot 6 sub-slot 2
143
144
    timeslot 7
145
     phys_chan_config TCH/F
146
     e1 line 0 timeslot 6 sub-slot 3
147
148 17
</pre>
149 1
150 17
*LMP cable pinout for [[InSite]] units:*
151 1
152 17
*LMP cable pinout for [[MetroSite]] units:*
153 1
154 18 laforge
!MetroSite_LMP_connector.png!
155 7
156 18 laforge
*Tips and tricks for Site family and [[OpenBSC:]]:*
157 4
158 17
*RESET Timer:*
159 4
160 18 laforge
Every time you start a BTS, [[OpenBSC:]] first resets (actually restarts) the unit, and only configures and starts the BTS after that. The reason behind this, is if you change the radio parameters of the BTS (ARFCN, CID, BSIC, TSC, TX power etc.), these parameters are not going to change on the BTS if this resets is skipped.
161 4
162 18 laforge
The default 15 seconds is working well in general, but in some cases you need to raise this parameter (eg. to force [[OpenBSC:]] to wait more for the BTS to restart). For example: if you use more than one unit on the same E1 (InSite units daisy chained via the internal HDSL interface), or [[MetroSite]] units daisy chained via the E1 cross connector TRE unit.
163 4
164 17
This parameter can be modified by adding the following to your [[OpenBSC]] config file:
165 4
166 17
<pre>
167 14
nokia_site bts-reset-timer 15
168 17
</pre>
169 4
170 17
Try 20 or 23 instead of 15. Example: for a HDSL cascaded two BTS [[InSite]] setup, I needed to raise this parameter to 20 seconds. For 2 TRX [[MetroSite]] it needs at least 25 seconds. For [[UltraSIte]] setups it needs 60 seconds.
171 5
172 17
Sometimes even the reset itself can cause problems (multi-BTS setup, [[MetroSite]] setup). You can disable this RESET by adding the following line to the BTS part of the [[OpenBSC]] config file:
173 5
174 17
<pre>
175 5
nokia_site skip-reset 1
176 17
</pre>
177 5
178 17
Do not forget, that if you use the above parameter, every time you change the radio parameters of the BTS, you need to restart the BTS by powercycling  it, wait for it to start up, then start [[OpenBSC]]!
179 10
180 17
*Segfault crash during BTS init:*
181 10
182
This problem is brought to daylight, but not caused by the following patch:
183
[http://cgit.osmocom.org/libosmocore/commit/?id=f5a079f739c57d8be7c59149fd45475c402a45fc]
184
185
The easy solution (but not fixing!) of this problem is to simply comment out the part which was added by this patch:
186
187
libosmocore/src/gsm/lapd_core.c:
188 17
<pre>
189 10
 	lapd_dl_reset(dl);
190
 	/* free history buffer list */
191
 	talloc_free(dl->tx_hist);
192
	dl->tx_hist = NULL;  <-- comment out this line!
193 17
</pre>
194 10
195 17
After commenting out the above line, you need to recompile libosmocore, libosmo-abis and [[OpenBSC]]!
196 11
197 17
*Running [[OpenBSC]] with Nokia [[UltraSite]]:*
198 11
199 17
In order to run an [[UltraSIte]] BTS with [[OpenBSC]], you need to set the ".n201" parameter to 260 for both isdn, abis and sat in libosmo-abis/src/input/lapd.c:
200 11
201 17
<pre>
202 11
const struct lapd_profile lapd_profile_isdn = {
203
        .k              = LAPD_SET_K(7,7),
204
        .n200           = 3,
205
        .n201           = 260,                      <-- Modify this parameters to 260!
206
        .n202           = 3,
207
        .t200_sec       = 1,    .t200_usec      = 0,
208
        .t201_sec       = 1,    .t201_usec      = 0,
209
        .t202_sec       = 2,    .t202_usec      = 0,
210
        .t203_sec       = 10,   .t203_usec      = 0,
211
        .short_address  = 0
212
};
213
214
const struct lapd_profile lapd_profile_abis = {
215
        .k              = LAPD_SET_K(2,1),
216
        .n200           = 3,
217
        .n201           = 260,                       <-- Modify this parameters to 260!
218
        .n202           = 0, /* infinite */
219
        .t200_sec       = 0,    .t200_usec      = 240000,
220
        .t201_sec       = 1,    .t201_usec      = 0,
221
        .t202_sec       = 2,    .t202_usec      = 0,
222
        .t203_sec       = 10,   .t203_usec      = 0,
223
        .short_address  = 0
224
};
225
226
const struct lapd_profile lapd_profile_sat = {
227
        .k              = LAPD_SET_K(15,15),
228
        .n200           = 5,
229
        .n201           = 260,      <-- Modify this parameters to 260!
230
        .n202           = 5,
231
        .t200_sec       = 2,    .t200_usec      = 400000,
232
        .t201_sec       = 2,    .t201_usec      = 400000,
233
        .t202_sec       = 2,    .t202_usec      = 400000,
234
        .t203_sec       = 20,   .t203_usec      = 0,
235
        .short_address  = 1
236
};
237
238 17
</pre>
239 11
240 17
After the modification, you need to recompile Libosmocore, Libosmo-Abis and [[OpenBSC]]! Note that with the above modification the support for other Site BTS-es (Insite, [[MetroSite]]) are not affected.
241 11
242 17
This is necessary because after [[OpenBSC]] issued the reset, during the BTS is restarting, actually the TRX software is not loaded. After the reset [[OpenBSC]] issues a "Use current version" command to the BTS which indicates to use the software from the local flash storge on the BOI card. The problem is that [[InSite]] and [[MetroSite]] units already load the TRX software when this command is being issued, but the [[UltrsSite]] only starts to load the TRX software when the "Use current version" is being issued to it. Because [[OpenBSC]] expects this to happens instantly, but with [[UltraSite]] the TRX software load can take another 60 seconds, the LAPD link will time out until the TRX software is being loaded, and [[OpenBSC]] will never bootstrap the TRX. With "n201" set to 260, this gives enough time to the LAPD link to not fail during that extra 60 seconds it takes to load the TRX software.
243 11
244 17
Of corse this is a nasty hack, and it is not the proper way to handle this situation. The Nokia related part should be aware that an [[UltraSite]] works like this by default, and it should wait with the first RSL lapd link activation another 60 seconds after the reset timer is expired and the "Use current version" command is sent. Maybe this will be implemented in the future, but until then, the above modification does work.
245 11
246 17
[[OpenBSC]] support for [[UltraSite]] tested with one TRX, TCH fullrate and TCH enhanced fullrate, MO and MT voice calls and SMS works as it should.
Add picture from clipboard (Maximum size: 48.8 MB)