Project

General

Profile

GettingStarted » History » Version 9

Anonymous, 02/19/2016 10:50 PM

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