Transceiver » History » Version 1
steve-m, 02/19/2016 10:49 PM
1 | 1 | steve-m | = Transceiver = |
---|---|---|---|
2 | |||
3 | The following how-to will guide you through the steps needed for using an OsmocomBB-compatible phone as transceiver for OpenBTS. |
||
4 | |||
5 | === Prerequisites === |
||
6 | |||
7 | First of all, make sure you have the '''[wiki:PreliminaryRequirements Preliminary Requirements]'''. Also, you '''need to have a [wiki:GettingStarted working setup]''' of OsmocomBB. |
||
8 | |||
9 | To get started with your phone-as-BTS setup, follow the following steps: |
||
10 | |||
11 | === Dependencies === |
||
12 | |||
13 | The transceiver needs libosmodsp as a dependency: |
||
14 | |||
15 | {{{ |
||
16 | #!sh |
||
17 | git clone git://git.osmocom.org/libosmo-dsp.git |
||
18 | }}} |
||
19 | |||
20 | To compile and install it: |
||
21 | |||
22 | {{{ |
||
23 | #!sh |
||
24 | cd libosmo-dsp/ |
||
25 | autoreconf -i |
||
26 | ./configure |
||
27 | make |
||
28 | sudo make install |
||
29 | cd .. |
||
30 | }}} |
||
31 | |||
32 | === Building OsmocomBB === |
||
33 | |||
34 | In the OsmocomBB-tree, switch to the sylvain/testing branch: |
||
35 | {{{ |
||
36 | #!sh |
||
37 | git checkout sylvain/testing |
||
38 | }}} |
||
39 | |||
40 | After doing that, build the source: |
||
41 | |||
42 | {{{ |
||
43 | #!sh |
||
44 | make HOST_layer23_CONFARGS=--enable-transceiver |
||
45 | }}} |
||
46 | |||
47 | === Building OpenBTS === |
||
48 | |||
49 | Follow this [http://wush.net/trac/rangepublic/wiki/BuildInstallRun excellent how-to] in the Range Networks Public wiki on building OpenBTS. |
||
50 | |||
51 | Once you have OpenBTS up and running, you need to change the following configuration parameters in the database (/etc/OpenBTS/OpenBTS.db): |
||
52 | |||
53 | {{{ |
||
54 | Control.GSMTAP.TargetIP = 127.0.0.1 |
||
55 | GSM.Radio.NeedBSIC = 1 |
||
56 | GSM.Radio.Band = 1800 |
||
57 | GSM.CellSelection.Neighbors = (set to empty string) |
||
58 | GSM.RACH.MaxRetrans = 3 |
||
59 | GSM.RACH.TxInteger = 8 |
||
60 | GSM.Radio.C0 = <your ARFCN (see note)> |
||
61 | 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) |
||
62 | }}} |
||
63 | |||
64 | '''Warning:''' Only set GSM.Radio.C0 to an ARFCN you have a '''valid license''' for. |
||
65 | |||
66 | === Booting the phone === |
||
67 | |||
68 | Use osmocon to execute the '''trx''' app on the phone (trx.compalram/highram.bin). |
||
69 | |||
70 | === Starting OpenBTS === |
||
71 | |||
72 | In the folder where the OpenBTS executable resides, create a script with the filename '''transceiver''' with the following content and make it executable: |
||
73 | |||
74 | {{{ |
||
75 | #!sh |
||
76 | #!/bin/bash |
||
77 | exec <your path to osmocom-bb>/src/host/layer23/src/transceiver/transceiver 1 |
||
78 | }}} |
||
79 | |||
80 | 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). |
||
81 | |||
82 | 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. |