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 |