Project

General

Profile

Transceiver » History » Version 4

laforge, 03/16/2016 02:02 PM

1 1 steve-m
2 3 laforge
h1. OpenBTS / OsmoBTS Transceiver
3 1 steve-m
4
5 3 laforge
The following how-to will guide you through the steps needed for using an [[OsmocomBB]]-compatible phone as transceiver for [[osmobts:|OsmoBTS]] or OpenBTS.
6 1 steve-m
7 2 steve-m
8
h3. Prerequisites
9
10
11 3 laforge
First of all, make sure you have the *[[PreliminaryRequirements|Preliminary Requirements]]* Also you *need to have a [[GettingStarted|working setup]]* of [[OsmocomBB]].
12 2 steve-m
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 4 laforge
h3. Building OpenBTS
57 1 steve-m
58 4 laforge
Follow this "excellent how-to":http://wush.net/trac/rangepublic/wiki/BuildInstallRun in the Range Networks Public wiki on building OpenBTS.
59 2 steve-m
60 4 laforge
Once you have OpenBTS up and running, you need to change the following configuration parameters in the database (/etc/OpenBTS/OpenBTS.db):
61 2 steve-m
62
<pre>
63 1 steve-m
Control.GSMTAP.TargetIP = 127.0.0.1
64
GSM.Radio.NeedBSIC = 1
65
GSM.Radio.Band = 1800
66
GSM.CellSelection.Neighbors =           (set to empty string)
67
GSM.RACH.MaxRetrans = 3
68
GSM.RACH.TxInteger = 8
69
GSM.Radio.C0 = <your ARFCN (see note)>
70
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)
71 2 steve-m
</code></pre>
72 1 steve-m
73 2 steve-m
*Warning:* Only set GSM.Radio.C0 to an ARFCN you have a *valid license* for.
74 1 steve-m
75
76 2 steve-m
h3. Booting the phone
77 1 steve-m
78
79 3 laforge
Use [[osmocon]] to execute the *trx* app on the phone (trx.compalram/highram.bin).
80 1 steve-m
81 2 steve-m
82 4 laforge
h3. Starting OpenBTS
83 2 steve-m
84
85 4 laforge
In the folder where the OpenBTS executable resides, create a script with the filename *transceiver* with the following content and make it executable:
86 2 steve-m
87
<pre>
88
<code class="sh">
89 1 steve-m
#!/bin/bash
90
exec <your path to osmocom-bb>/src/host/layer23/src/transceiver/transceiver 1
91 2 steve-m
</code></pre>
92 1 steve-m
93 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).
94 1 steve-m
95 4 laforge
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)