Project

General

Profile

GettingStarted » History » Version 17

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