Project

General

Profile

Configuring the ipaccess nano3G » History » Version 9

roox, 03/04/2017 08:01 PM

1 2 neels
{{>toc}}
2 1 neels
3 2 neels
h1. Configuring the ip.access nano3G
4
5
h2. IP address
6
7
The ip.access nano3G will obtain an IP address from the DHCP server in your network.
8 5 neels
You can look it up there or watch wireshark, filtering on 'BOOTP' while the nano3G starts up.
9 2 neels
For this text, let's assume the IP address it obtained is 192.168.0.124.
10
11
h2. Initial Config
12
13
Once off, configure:
14
15
* the MCC + MNC,
16
* the UARFCN (i.e. the frequencies to transceive on) and
17
* the LAC and RAC.
18
19
You can do this on the _dmi_ console reachable by telnet:
20
21
<pre>
22
telnet 192.168.0.124 8090
23
dmi>
24
</pre>
25
26
On the dmi, enter commands like these:
27
28
<pre>
29
# PLMN Id == MCC + MNC
30
set mcc="901"
31
set mnc="98"
32
33
# [uarfcnDownlink, 1900 MHz band], [scramblingCode], [dummyCellId]
34
set rfParamsCandidateList=({9800, 401, 1})
35
36
# [lac], [rac]
37
set lacRacCandidateList=({10422, (99)})
38
</pre>
39
40
These settings persist across nano3G power down.
41
42
h2. Starting Operation
43
44
Every time you boot the nano3G, you need to
45
46
* set the IP address the nano3G will find the HNB-GW at.
47
* 2061 = set cell parameters
48
* 1216 = unlock ap
49
* activate HNB-GW connection
50
* set csg to open access so that any IMSI can register
51
52
Enter the _dmi_...
53
<pre>
54
telnet 192.168.0.124 8090
55
dmi>
56
</pre>
57
58
...and issue commands like:
59
60
<pre>
61
set hnbGwAddress="192.168.0.132" 
62
action 2061
63
action 1216
64
action establishPermanentHnbGwConnection
65
set csgAccessMode=CSG_ACCESS_MODE_OPEN_ACCESS
66
</pre>
67
68
h2. SSH Access
69
70
The nano3G come with a root password of 'newsys':
71
<pre>
72
ssh root@192.168.0.124
73
password: newsys
74
</pre>
75
76 9 roox
In case you are using a recent version of the OpenSSH-client you'll get the following error message while trying to connect:
77
_Unable to negotiate with 192.168.0.124 port 22: no matching key exchange method found. Their offer: diffie-hellman-group1-sha1_
78
79
Starting with OpenSSH version 7.0 support for the 1024-bit diffie-hellman-group1-sha1 key exchange was disabled by default at run-time.
80
Use the following to connect to your nano3G in this case.
81
<pre>
82
ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 root@192.168.0.124
83
</pre>
84
85
86 2 neels
h2. Logging
87
88
When logged in via SSH, you can view the live logging here:
89
<pre>
90
ls /tmp/iapclogs/trace_*.log
91
</pre>
92
93
h2. Closed Mode
94
95
You can also set csgAccessMode to closed and allow only specific IMSIs:
96
97
<pre>
98 6 neels
set csgAccessMode=CSG_ACCESS_MODE_CLOSED_ACCESS
99 2 neels
# IMSI, 1:allowed/2:not allowed, phone number (only for "Closed Access")
100
set accessControlList = ({"001010123456015",  1, "81084"},{"001010123456025", 2, "81025"})
101
</pre>
102
103
(The phone number is actually not relevant)
104
105
h1. Peculiarities and Tips
106
107
h2. UE Register
108
109
The nano3G apparently passes the same identity received from the UE through to
110
the HNBAP UE Register Request message. This means that when the UE sends a
111
TMSI, the UE Register Request received by osmo-hnbgw contains no IMSI.
112
113 7 neels
In this scenario, the problem is that Paging apparently does not (always) work.
114 1 neels
So even though we have working code that allows HNBAP registration with
115 7 neels
a TMSI, that means that you can't (always) reach the UE from the CN.
116
This is not always the case, sometimes the nano3G can well page UEs that have
117
registered by TMSI. Vague idea: it may be that it needs to have seen the IMSI
118
once after power-cycling, e.g. after a closed-mode registration, and then
119
TMSI registration will not harm Paging. (TODO: clarify this)
120 2 neels
121 7 neels
The VTY configuration option to allow TMSI-only attaching to HNBGW, which
122
possibly helps to shorten your dev cycle but may harm paging, is:
123 2 neels
124
<pre>
125
hnbgw
126
 iuh
127 7 neels
  hnbap-allow-tmsi 1
128 2 neels
</pre>
129 1 neels
130 2 neels
Legacy workaround: connect the phone to a different network between retries (being
131
rejected suffices). That causes the UE to discard its TMSI and then use the IMSI
132
for the next registration.
133
134
A closed csgAccess with explicit IMSIs could help here to enforce that a UE
135 7 neels
indeed sends its IMSI to the nano3G and hence Paging should work.
136 3 neels
See also #1924.
137
138
h2. id-Reset
139
140
The nano3G seems to *not* send an id-Reset message upon connecting to the HNB-GW.
141
142
h2. Location Update failure due to timeout
143
144
If a UE seems to connect successfully at first but fails by timeout because the final
145
"TMSI Reallocation Complete" message is missing, this might be due to misconfiguration:
146
the CN is sending the wrong LAC or the PLMN-ID (NCC/MNC) is configured wrongly.
147
148
This might be confusing in the sense that a complete LU worked once but not after that;
149
GMM Attach may be successful; Security Mode Commands succeed; and so forth.
150 8 neels
Still the solution might be simply to fix the mobile network code in the osmo-msc.cfg.
151 4 neels
152
h2. RAB Assignment needs IuUP ACK Initialization
153
154
IuCS uses UP encapsulated in RTP. The UP starts off by sending an Initialization, replied
155
upon by an ACK Initialization.
156
157
The nano3G seems to not reply with an ACK when it receives an IuUP Initialization frame.
158
Thus it is not possible to merely echo its own RTP packets back to itself; instead, the
159
first RTP frame received from the nano3G (that is an IuUP Initialization) can be changed
160
to an ACK Initialization by writing 0xe4 to the first payload byte. Sending this back to
161
the nano3G then results in successful RAB Assignment.
162
163
(With the SysmoCell5000, echoing its own Initialization back to itself results in an ACK
164 1 neels
being sent, which we can also echo back to itself, so mere echoing works there.)
Add picture from clipboard (Maximum size: 48.8 MB)