Project

General

Profile

GettingStarted » History » Version 15

tnt, 01/04/2017 03:44 PM

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