Project

General

Profile

Transceiver » History » Version 2

steve-m, 02/19/2016 10:49 PM

1 1 steve-m
2 2 steve-m
h1. Transceiver
3 1 steve-m
4
5 2 steve-m
The following how-to will guide you through the steps needed for using an [[OsmocomBB]]-compatible phone as transceiver for [[OpenBTS]].
6 1 steve-m
7 2 steve-m
8
h3. Prerequisites
9
10
11
First of all, make sure you have the *[[PreliminaryRequirements|Preliminary Requirements]* Also you *need to have a [wikiGettingStarted working setup]]* of [[OsmocomBB]].
12
13 1 steve-m
To get started with your phone-as-BTS setup, follow the following steps:
14
15
16 2 steve-m
h3. Dependencies
17
18
19 1 steve-m
The transceiver needs libosmodsp as a dependency:
20
21 2 steve-m
<pre>
22
<code class="sh">
23 1 steve-m
git clone git://git.osmocom.org/libosmo-dsp.git
24 2 steve-m
</code></pre>
25 1 steve-m
26
To compile and install it:
27
28 2 steve-m
<pre>
29
<code class="sh">
30 1 steve-m
cd libosmo-dsp/
31
autoreconf -i
32
./configure
33
make
34
sudo make install
35
cd ..
36 2 steve-m
</code></pre>
37 1 steve-m
38
39 2 steve-m
h3. Building [[OsmocomBB]]
40
41
42
In the [[OsmocomBB]]-tree, switch to the sylvain/testing branch:
43
<pre>
44
<code class="sh">
45 1 steve-m
git checkout sylvain/testing
46 2 steve-m
</code></pre>
47 1 steve-m
48
After doing that, build the source:
49
50 2 steve-m
<pre>
51
<code class="sh">
52 1 steve-m
make HOST_layer23_CONFARGS=--enable-transceiver
53 2 steve-m
</code></pre>
54 1 steve-m
55
56 2 steve-m
h3. Building [[OpenBTS]]
57 1 steve-m
58
59 2 steve-m
Follow this "excellent how-to":http://wush.net/trac/rangepublic/wiki/BuildInstallRun in the Range Networks Public wiki on building [[OpenBTS]].
60
61
Once you have [[OpenBTS]] up and running, you need to change the following configuration parameters in the database (/etc/OpenBTS/OpenBTS.db):
62
63
<pre>
64 1 steve-m
Control.GSMTAP.TargetIP = 127.0.0.1
65
GSM.Radio.NeedBSIC = 1
66
GSM.Radio.Band = 1800
67
GSM.CellSelection.Neighbors =           (set to empty string)
68
GSM.RACH.MaxRetrans = 3
69
GSM.RACH.TxInteger = 8
70
GSM.Radio.C0 = <your ARFCN (see note)>
71
Control.LUR.OpenRegistration = ^26242.*$   (note: in this example only IMSIs with MCC 262 and the MNC 42 will be allowed to register to the network, change that accordingly)
72 2 steve-m
</code></pre>
73 1 steve-m
74 2 steve-m
*Warning:* Only set GSM.Radio.C0 to an ARFCN you have a *valid license* for.
75 1 steve-m
76
77 2 steve-m
h3. Booting the phone
78 1 steve-m
79
80 2 steve-m
Use osmocon to execute the *trx* app on the phone (trx.compalram/highram.bin).
81 1 steve-m
82 2 steve-m
83
h3. Starting [[OpenBTS]]
84
85
86
In the folder where the [[OpenBTS]] executable resides, create a script with the filename *transceiver* with the following content and make it executable:
87
88
<pre>
89
<code class="sh">
90 1 steve-m
#!/bin/bash
91
exec <your path to osmocom-bb>/src/host/layer23/src/transceiver/transceiver 1
92 2 steve-m
</code></pre>
93 1 steve-m
94 2 steve-m
Whereas 1 needs to be replaced with the ARFCN of the reference cell you want to use for synchronization (find a strong one with the *rssi*-app for example).
95 1 steve-m
96 2 steve-m
You now can start up [[OpenBTS]] and should hopefully see the BTS by performing a manual network search with your phone. Monitor the output of osmocon and the transceiver/OpenBTS to see if all goes well. If anything should fail, reboot the phone and start over.
Add picture from clipboard (Maximum size: 48.8 MB)