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. |