UHD and GNURadio installation from sources with PyBombs » History » Version 15

ROQUE, Damien, 05/19/2016 10:33 AM

1 1 ROQUE, Damien
h1. UHD and GNURadio installation
2 1 ROQUE, Damien
3 13 ROQUE, Damien
On one hand, the UHD(Universal Hardware Driver) driver is necessary in order to communicate with an USRP(Universal Software Radio Peripheral) device. On the other hand, the development environment GNURadio is also recommended in order to provide several signal processing building blocks operating in a pseudo-real-time fashion.
4 1 ROQUE, Damien
5 4 ROQUE, Damien
This documentation explains how to install both "UHD":http://code.ettus.com/redmine/ettus/projects/uhd/wiki and "GNURadio":http://gnuradio.org from the sources with the help of the "PyBombs":http://gnuradio.org/redmine/projects/pybombs/wiki script. The following prerequisites are assumed in the following:
6 4 ROQUE, Damien
* a GNU/Linux operating system ;
7 4 ROQUE, Damien
* a user account with administror rights (through sudo) ;
8 4 ROQUE, Damien
* an Internet connection (if necessary, set @http_proxy@ and @https_proxy@ environment variables appropriately).
9 2 ROQUE, Damien
10 3 ROQUE, Damien
h2. Downloading and configuring PyBombs
11 3 ROQUE, Damien
12 15 ROQUE, Damien
Installing and updating PIP
13 1 ROQUE, Damien
<pre>
14 15 ROQUE, Damien
sudo apt-get install python-pip
15 15 ROQUE, Damien
sudo pip install -U pip
16 15 ROQUE, Damien
sudo pip install PyBOMBS
17 1 ROQUE, Damien
</pre>
18 3 ROQUE, Damien
19 15 ROQUE, Damien
Installing PyBOMBS
20 2 ROQUE, Damien
<pre>
21 15 ROQUE, Damien
sudo pip install PyBOMBS
22 2 ROQUE, Damien
</pre>
23 2 ROQUE, Damien
24 15 ROQUE, Damien
Initiating the default prefix
25 8 ROQUE, Damien
<pre>
26 15 ROQUE, Damien
sudo pybombs prefix init /usr/local -a usrlocal
27 15 ROQUE, Damien
sudo pybombs config default_prefix /usr/local
28 12 ROQUE, Damien
</pre>
29 11 ROQUE, Damien
30 15 ROQUE, Damien
Adding recipes
31 11 ROQUE, Damien
<pre>
32 15 ROQUE, Damien
sudo pybombs recipes add gr-recipes git+https://github.com/gnuradio/gr-recipes.git
33 15 ROQUE, Damien
sudo pybombs recipes add gr-etcetera git+https://github.com/gnuradio/gr-etcetera.git
34 11 ROQUE, Damien
</pre>
35 11 ROQUE, Damien
36 15 ROQUE, Damien
Installing UHD, GNURadio and other packages
37 11 ROQUE, Damien
<pre>
38 15 ROQUE, Damien
sudo pybombs install uhd gnuradio
39 11 ROQUE, Damien
sudo ldconfig
40 11 ROQUE, Damien
</pre>
41 11 ROQUE, Damien
42 11 ROQUE, Damien
43 7 ROQUE, Damien
h2. UHD configuration
44 1 ROQUE, Damien
45 7 ROQUE, Damien
h3. Update the firmware database
46 7 ROQUE, Damien
47 7 ROQUE, Damien
In order to make sure that the firmwares are up-to-date, you can run the following instruction.
48 7 ROQUE, Damien
<pre>
49 7 ROQUE, Damien
sudo "/usr/local/lib/uhd/utils/uhd_images_downloader.py"
50 7 ROQUE, Damien
</pre>
51 7 ROQUE, Damien
52 7 ROQUE, Damien
h3. Setting up real-time scheduling
53 7 ROQUE, Damien
54 7 ROQUE, Damien
Since the UHD needs a high priority of execution, it is recommended to add the following line to @/etc/security/limits.conf@.
55 6 ROQUE, Damien
<pre>
56 6 ROQUE, Damien
@usrp            -       rtprio          99
57 6 ROQUE, Damien
</pre>
58 6 ROQUE, Damien
59 6 ROQUE, Damien
Hence, it necessary to create the group @usrp@ and add to this group any user willing to use the USRP hardware.
60 6 ROQUE, Damien
<pre>
61 9 ROQUE, Damien
sudo groupadd usrp
62 9 ROQUE, Damien
sudo adduser <my-login> usrp
63 1 ROQUE, Damien
</pre>
64 9 ROQUE, Damien
65 14 ROQUE, Damien
At this time, the user shall close and reopen his session. Inside a shell, he can also issue the following instruction
66 14 ROQUE, Damien
<pre>
67 14 ROQUE, Damien
su - <my-login>
68 14 ROQUE, Damien
</pre>
69 14 ROQUE, Damien
70 9 ROQUE, Damien
The system is now ready for adding an USRP (see documentation for the appropriate model...).