Transceiver » History » Revision 2
Revision 1 (steve-m, 02/19/2016 10:49 PM) → Revision 2/5 (steve-m, 02/19/2016 10:49 PM)
h1. = Transceiver = The following how-to will guide you through the steps needed for using an [[OsmocomBB]]-compatible OsmocomBB-compatible phone as transceiver for [[OpenBTS]]. h3. OpenBTS. === Prerequisites === First of all, make sure you have the *[[PreliminaryRequirements|Preliminary Requirements]* Also '''[wiki:PreliminaryRequirements Preliminary Requirements]'''. Also, you *need '''need to have a [wikiGettingStarted [wiki:GettingStarted working setup]]* setup]''' of [[OsmocomBB]]. OsmocomBB. To get started with your phone-as-BTS setup, follow the following steps: h3. === Dependencies === The transceiver needs libosmodsp as a dependency: <pre> <code class="sh"> {{{ #!sh git clone git://git.osmocom.org/libosmo-dsp.git </code></pre> }}} To compile and install it: <pre> <code class="sh"> {{{ #!sh cd libosmo-dsp/ autoreconf -i ./configure make sudo make install cd .. </code></pre> h3. }}} === Building [[OsmocomBB]] OsmocomBB === In the [[OsmocomBB]]-tree, OsmocomBB-tree, switch to the sylvain/testing branch: <pre> <code class="sh"> {{{ #!sh git checkout sylvain/testing </code></pre> }}} After doing that, build the source: <pre> <code class="sh"> {{{ #!sh make HOST_layer23_CONFARGS=--enable-transceiver </code></pre> h3. }}} === Building [[OpenBTS]] OpenBTS === Follow this "excellent how-to":http://wush.net/trac/rangepublic/wiki/BuildInstallRun [http://wush.net/trac/rangepublic/wiki/BuildInstallRun excellent how-to] in the Range Networks Public wiki on building [[OpenBTS]]. OpenBTS. Once you have [[OpenBTS]] OpenBTS up and running, you need to change the following configuration parameters in the database (/etc/OpenBTS/OpenBTS.db): <pre> {{{ Control.GSMTAP.TargetIP = 127.0.0.1 GSM.Radio.NeedBSIC = 1 GSM.Radio.Band = 1800 GSM.CellSelection.Neighbors = (set to empty string) GSM.RACH.MaxRetrans = 3 GSM.RACH.TxInteger = 8 GSM.Radio.C0 = <your ARFCN (see note)> 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) </code></pre> *Warning:* }}} '''Warning:''' Only set GSM.Radio.C0 to an ARFCN you have a *valid license* '''valid license''' for. h3. === Booting the phone === Use osmocon to execute the *trx* '''trx''' app on the phone (trx.compalram/highram.bin). h3. === Starting [[OpenBTS]] OpenBTS === In the folder where the [[OpenBTS]] OpenBTS executable resides, create a script with the filename *transceiver* '''transceiver''' with the following content and make it executable: <pre> <code class="sh"> {{{ #!sh #!/bin/bash exec <your path to osmocom-bb>/src/host/layer23/src/transceiver/transceiver 1 </code></pre> }}} 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 '''rssi'''-app for example). You now can start up [[OpenBTS]] 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.