Project

General

Profile

GettingStarted » History » Version 16

fixeria, 07/14/2018 09:57 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
87 14 horiz0n
h3. Wireshark
88 2
89 1
90 14 horiz0n
<pre>
91
92
<pre>
93
94
<pre>
95 1
git clone git://git.osmocom.org/wireshark
96
cd wireshark
97
git checkout sylvain/gmr
98
./autogen.sh
99
./configure
100
make
101
sudo make install
102
cd ..
103 14 horiz0n
</pre>
104 1
105 2
106 14 horiz0n
h2. Running the software
107 1
108 14 horiz0n
109
110
h3. Capturing samples
111
112
113 1
You need to capture samples off the air and of course "there's an app for that".
114 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.
115 1
116 14 horiz0n
<pre>
117 1
118
This example will capture ARFCN 941 and 942 for 10 second using the 'B' side daughterboard and the RX2 input :
119
120 14 horiz0n
<pre>
121 1
./gmr_multi_rx --gmr1-dl 941 942 -a RX2 -S B:0 -T 10
122 14 horiz0n
</pre>
123 1
124
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.
125 2
126 1
A few notes concerning multi ARFCN capture:
127 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)
128
* It can be pretty CPU intensive depending on the # of ARFCNs and how much they're spaced.
129 1
130 14 horiz0n
131
h4. "FunCube Dongle":http://tetra.osmocom.org/trac/wiki/Funcube_Dongle Build
132
133
<pre>
134 4 horiz0n
./gmr_multi_rx --gain 30 --gmr1-dl 941 942 943
135 14 horiz0n
</pre>
136 4 horiz0n
137 14 horiz0n
* when receiving 3 consecutive channels, the middle channel will be distorted by the center peak caused by dc offset / iq imbalance
138
* when receiving 2 channels, each channel will have a small contribution of the center peak on the right or left side.
139
* best results may be achieved when receiving only one channel.
140 4 horiz0n
141
142 14 horiz0n
h4. Default USRP clock
143
144
145
<pre>
146 4 horiz0n
./gmr_multi_rx --gain 45 --gmr1-dl 941 942 943
147 14 horiz0n
</pre>
148 4 horiz0n
149
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.
150
151
152 14 horiz0n
h4. Modified USRP clocks
153 4 horiz0n
154 14 horiz0n
155
* use --mcr to tell custom fpga frequency in Hz
156
157
<pre>
158 4 horiz0n
./gmr_multi_rx --gain 45 --gmr1-dl 941 942 943 --mcr 52e6
159 14 horiz0n
</pre>
160 4 horiz0n
161 14 horiz0n
* mcr of 59.904e6 Hz is gmr1-friendly, thus allowing to save on interpolation stage
162 4 horiz0n
163 14 horiz0n
<pre>
164 11 horiz0n
./gmr_multi_rx --gain 45 --gmr1-dl 941 942 943 --mcr 59.904e6
165 14 horiz0n
</pre>
166 13 horiz0n
167 11 horiz0n
168 14 horiz0n
h4. RTL SDR dongles
169
170
171 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.
172 2
173
174 14 horiz0n
h3. Analyzing them
175
176
177
* Launch wireshark and listen to the lo interface
178
** Make sure to use the proper version (see above)
179
** Also make sure you have the rights to capture on lo
180
<pre>
181
<pre>
182
* View packets in wireshark using gmr1_bcch.* filters
Add picture from clipboard (Maximum size: 48.8 MB)