Project

General

Profile

GettingStarted » History » Revision 20

Revision 19 (laforge, 10/11/2019 12:26 PM) → Revision 20/22 (laforge, 02/19/2022 05:39 PM)

h1. Getting Started 

 {{>toc}} 

 h2. Prerequisites 


 You must first prepare your system by installing the required development packages. 

 For debian/ubuntu: 

 <pre> 
 apt-get install build-essential libtool autoconf git-core pkg-config libfftw3-dev talloc-dev libpcsclite-dev 
 </pre> 

 If you want to capture samples off the air, you'll also need gnuradio and uhd. Installing those is outside the scope of this page, refer to the GNURadio / Ettus documentation. 


 h2. Compiling the software 



 h3. libosmocore 


 You obviously need to install our main utility library: 

 <pre> 
 git clone https://git.osmocom.org/libosmocore git://git.osmocom.org/libosmocore 
 cd libosmocore 
 autoreconf -i -f 
 ./configure 
 make 
 sudo make install 
 cd .. 
 </pre> 


 h3. libosmo-dsp 


 Then you need to install our new Software Defined Radio helper library: 

 <pre> 
 git clone https://git.osmocom.org/libosmo-dsp git://git.osmocom.org/libosmo-dsp 
 cd libosmo-dsp 
 autoreconf -i -f 
 ./configure 
 make 
 sudo make install 
 cd .. 
 </pre> 


 h3. osmo-gmr 


 And finally compile the main Osmocom GMR software stack: 

 <pre> 
 git clone https://gitea.osmocom.org/satellite/osmo-gmr git://git.osmocom.org/osmo-gmr 
 cd osmo-gmr 
 autoreconf -i -f 
 ./configure 
 make 
 cd .. 
 </pre> 


 h3. Capture tool 


 The current version of the capture tool is not integrated with the main autotool process yet and has to be built separately: 

 <pre> 
 cd osmo-gmr/utils/gmr_multi_rx 
 make TARGET=uhd 
 cd ../../.. 
 </pre> 

 There are several possible targets depending on your hardware: 
 * usrp: To use the libusrp drivers for the USRP1 hardware (gnuradio has to be compiled with gr-usrp enabled) 
 * uhd: For using any ettus hardware (see "UHD Wiki":http://code.ettus.com/redmine/ettus/projects/uhd/wiki for build instructions) 
 * fcd: To use the specific Fun Cube Dongle Pro drivers ("gr-fcd":https://github.com/csete/gr-fcd has to be installed) 

 

 h3. Wireshark 

 The GMR dissectors seem to be supported by the recent Wireshark. 

 

 h2. Running the software 

 h3. Capturing samples 

 You need to capture samples off the air and of course "there's an app for that". 
 For a first try the easier is to lookup a beam that match your geographic area by looking at "Thuraya_Beams":http://gmr.osmocom.org/trac/wiki/Thuraya_Beams and the associated map. 

 This example will capture ARFCN 941 and 942 for 10 second using the 'B' side daughterboard and the RX2 input : 

 <pre> 
 ./gmr_multi_rx --gmr1-dl 941 942 -a RX2 -S B:0 -T 10 
 </pre> 

 The given channels will be frequency shifted, filtered, resampled and finally written to files with the given --prefix (/tmp/ by default). The file names will be autogenerated based on ARFCN and final sample rate. 

 A few notes concerning multi ARFCN capture: 
 * All the ARFCN need to fit within the bandwidth of your device (so you can't get ARFCN1 and 1007 at once for example) 
 * It can be pretty CPU intensive depending on the # of ARFCNs and how much they're spaced. 


 h4. "FunCube Dongle":http://tetra.osmocom.org/trac/wiki/Funcube_Dongle Build 

 <pre> 
 ./gmr_multi_rx --gain 30 --gmr1-dl 941 942 943 
 </pre> 

 * when receiving 3 consecutive channels, the middle channel will be distorted by the center peak caused by dc offset / iq imbalance 
 * when receiving 2 channels, each channel will have a small contribution of the center peak on the right or left side. 
 * best results may be achieved when receiving only one channel. 

 h4. Default USRP clock 

 <pre> 
 ./gmr_multi_rx --gain 45 --gmr1-dl 941 942 943 
 </pre> 

 Only 75% of the master output rate will be used on the usrp/uhd builds, because of insufficient attenuation of the FPGA channelizer at filter edges. 

 h4. Modified USRP clocks 

 * use --mcr to tell custom fpga frequency in Hz 

 <pre> 
 ./gmr_multi_rx --gain 45 --gmr1-dl 941 942 943 --mcr 52e6 
 </pre> 

 * mcr of 59.904e6 Hz is gmr1-friendly, thus allowing to save on interpolation stage 

 <pre> 
 ./gmr_multi_rx --gain 45 --gmr1-dl 941 942 943 --mcr 59.904e6 
 </pre> 

 

 h4. RTL SDR dongles 


 The attached gnuradio flowgraph (attachment:osmo-gmr-rtl.grc) has been tested and works well for ARFCN 1007. A decent LNA might be required to be able to receive Thuraya signals. It is essential to adjust "corr_ppm" according to your dongle's frequency error. For recording, set the "arfcn" value and enable the file sink before launching the flowgraph. 

 

 h3. Analyzing them 


 * Launch wireshark and listen to the lo interface 
 ** Make sure to use the proper version (see above) 
 ** Also make sure you have the rights to capture on lo 
 * View packets in wireshark using gmr1_bcch.* filters
Add picture from clipboard (Maximum size: 48.8 MB)