Project

General

Profile

GettingStarted » History » Version 18

fixeria, 07/14/2018 10:08 AM

1 1
h1. Getting Started
2 14 horiz0n
3 16 fixeria
{{>toc}}
4 14 horiz0n
5
h2. Prerequisites
6
7
8 1
You must first prepare your system by installing the required development packages.
9
10
For debian/ubuntu:
11 5 horiz0n
12 14 horiz0n
<pre>
13 15 tnt
apt-get install build-essential libtool autoconf git-core pkg-config libfftw3-dev talloc-dev libpcsclite-dev
14 14 horiz0n
</pre>
15 1
16
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.
17
18
19 14 horiz0n
h2. Compiling the software
20 1
21 14 horiz0n
22
23
h3. libosmocore
24
25
26 1
You obviously need to install our main utility library:
27
28 14 horiz0n
<pre>
29 1
git clone git://git.osmocom.org/libosmocore
30
cd libosmocore
31
autoreconf -i -f
32 2
./configure
33 1
make
34 2
sudo make install
35 1
cd ..
36 14 horiz0n
</pre>
37 10 horiz0n
38 1
39 14 horiz0n
h3. libosmo-dsp
40
41
42 1
Then you need to install our new Software Defined Radio helper library:
43
44 14 horiz0n
<pre>
45 1
git clone git://git.osmocom.org/libosmo-dsp
46
cd libosmo-dsp
47
autoreconf -i -f
48 2
./configure
49 1
make
50
sudo make install
51
cd ..
52 14 horiz0n
</pre>
53 1
54
55 14 horiz0n
h3. osmo-gmr
56
57
58 1
And finally compile the main Osmocom GMR software stack:
59
60 14 horiz0n
<pre>
61 1
git clone git://git.osmocom.org/osmo-gmr
62
cd osmo-gmr
63
autoreconf -i -f
64
./configure
65
make
66
cd ..
67 14 horiz0n
</pre>
68 1
69
70 14 horiz0n
h3. Capture tool
71
72
73 1
The current version of the capture tool is not integrated with the main autotool process yet and has to be built separately:
74
75 14 horiz0n
<pre>
76 2
cd osmo-gmr/utils/gmr_multi_rx
77 1
make TARGET=uhd
78
cd ../../..
79 14 horiz0n
</pre>
80 1
81
There are several possible targets depending on your hardware:
82 14 horiz0n
* usrp: To use the libusrp drivers for the USRP1 hardware (gnuradio has to be compiled with gr-usrp enabled)
83
* uhd: For using any ettus hardware (see "UHD Wiki":http://code.ettus.com/redmine/ettus/projects/uhd/wiki for build instructions)
84
* fcd: To use the specific Fun Cube Dongle Pro drivers ("gr-fcd":https://github.com/csete/gr-fcd has to be installed)
85 1
86 14 horiz0n
h3. Wireshark
87 2
88 18 fixeria
The GMR dissectors seem to be supported by the recent Wireshark.
89 1
90 14 horiz0n
h2. Running the software
91 1
92 14 horiz0n
h3. Capturing samples
93
94 1
You need to capture samples off the air and of course "there's an app for that".
95 14 horiz0n
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.
96 1
97
This example will capture ARFCN 941 and 942 for 10 second using the 'B' side daughterboard and the RX2 input :
98
99 14 horiz0n
<pre>
100 1
./gmr_multi_rx --gmr1-dl 941 942 -a RX2 -S B:0 -T 10
101 14 horiz0n
</pre>
102 1
103
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.
104 2
105 1
A few notes concerning multi ARFCN capture:
106 14 horiz0n
* All the ARFCN need to fit within the bandwidth of your device (so you can't get ARFCN1 and 1007 at once for example)
107
* It can be pretty CPU intensive depending on the # of ARFCNs and how much they're spaced.
108 1
109 14 horiz0n
110
h4. "FunCube Dongle":http://tetra.osmocom.org/trac/wiki/Funcube_Dongle Build
111
112
<pre>
113 4 horiz0n
./gmr_multi_rx --gain 30 --gmr1-dl 941 942 943
114 1
</pre>
115 14 horiz0n
116 4 horiz0n
* when receiving 3 consecutive channels, the middle channel will be distorted by the center peak caused by dc offset / iq imbalance
117 14 horiz0n
* when receiving 2 channels, each channel will have a small contribution of the center peak on the right or left side.
118
* best results may be achieved when receiving only one channel.
119
120 4 horiz0n
h4. Default USRP clock
121 14 horiz0n
122
<pre>
123
./gmr_multi_rx --gain 45 --gmr1-dl 941 942 943
124 4 horiz0n
</pre>
125 14 horiz0n
126 17 fixeria
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.
127 4 horiz0n
128 14 horiz0n
h4. Modified USRP clocks
129
130
* use --mcr to tell custom fpga frequency in Hz
131
132
<pre>
133 4 horiz0n
./gmr_multi_rx --gain 45 --gmr1-dl 941 942 943 --mcr 52e6
134 14 horiz0n
</pre>
135 4 horiz0n
136 14 horiz0n
* mcr of 59.904e6 Hz is gmr1-friendly, thus allowing to save on interpolation stage
137 4 horiz0n
138 14 horiz0n
<pre>
139 11 horiz0n
./gmr_multi_rx --gain 45 --gmr1-dl 941 942 943 --mcr 59.904e6
140 14 horiz0n
</pre>
141 13 horiz0n
142 11 horiz0n
143 14 horiz0n
h4. RTL SDR dongles
144
145
146 9
The attached gnuradio flowgraph 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.
147 2
148
149 14 horiz0n
h3. Analyzing them
150
151
152
* Launch wireshark and listen to the lo interface
153
** Make sure to use the proper version (see above)
154
** Also make sure you have the rights to capture on lo
155
* View packets in wireshark using gmr1_bcch.* filters
Add picture from clipboard (Maximum size: 48.8 MB)