Project

General

Profile

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.
Add picture from clipboard (Maximum size: 48.8 MB)