📜 ⬆️ ⬇️

Building and installing GNURadio from GIT under Ubuntu and Debian

Good evening all day or more!

Then somehow it took to install the GNURadio program. Of course, I installed it through “apt install ....” and even tried it as suggested by the author GNURadio via PyBOMBS , but in the first case, there is no guarantee that this will be the latest version, and in the second, installation errors occurred.

But in any case, I always wanted the latest version (although the latter does not always mean better!), And in general I like this fetish with make )
')
In general, I decided to install GitHub from the repository and compile it myself. But naturally there were problems with the assembly. That one is missing, the other, the versions are not the same. In general, everything swears and does not compile. And in the internet there is no normal description (I did not find) on the installation.

But after spending a day, I rolled the dock for myself (so as not to forget) and decided to share it with you.


And so I will tell you how to install and assemble GNURadio and modules for a DVB-T USB receiver (I have a regular receiver with Ali for 500 rubles and AirSpy R2)

DVB-T USB RTL2832U receiver


So let's go!

Installation Tips:

1. I write in steps, do not skip a single step, go from top to bottom
2. I downloaded everything in my home folder! (cd ~)
3. Where root is needed, there I am writing sudo
4. Check what is written in the console after each step (suddenly you have an error)
5. The process is not fast! Need patience and typewriter for faster. Somewhere an hour will take you all.

Further

I divided the whole process into 6 parts (installations)

1. Install GNURadio - the process is long, the build is long. So what patience are you
2. Install the RTL-SDR library (DVB-T RTL2832U) for the receiver
3. Installing the LibRtlSdr Library (Software to turn the RTL2832U into an SDR)
4. Installing the GR-OsmoSdr library
5. Installing the Liquid DSP Library
6. Block the download of standard files for our DVB-T RTL2832U

Part 1. Installing GNURadio

First, install the necessary packages (the string is long)

sudo apt-get install git python-pip libboost-all-dev swig libcppunit-dev python-gtk2-dev libfftw3-dev libqwt-dev pyqt4-dev-tools python-wxgtk3.0 python-lxml alsa-utils doxygen cmake libusb-1.0-0-dev libgsl-dev osspd 

and then line by line

 cd ~ sudo pip install --upgrade pip sudo pip install mako numpy Cheetah3 git clone https://github.com/gnuradio/gnuradio.git cd gnuradio git clone https://github.com/gnuradio/volk.git mkdir build cd build cmake ../ make make test 

after make test, look for no errors!
if not, then more ...

 sudo make install sudo ldconfig 

Now we have installed GNURadio. It can already be launched and used, but we still need to assemble and connect modules for our DVB-T receiver.

Part 2. Installing the RTL-SDR library (DVB-T RTL2832U)

 cd ~ git clone https://github.com/osmocom/rtl-sdr.git cd rtl-sdr/ mkdir build cd build cmake ../ -DINSTALL_UDEV_RULES=ON make sudo make install sudo ldconfig 

There should be no problems. And the RTL-SDR library is installed.

Part 3. Installing the LibRtlSdr Library

 sudo apt-get install libusb-1.0-0-dev cd ~ git clone https://github.com/steve-m/librtlsdr.git cd librtlsdr mkdir build cd build/ cmake ../ make sudo make install sudo ldconfig 

Made by We go further.

Part 4. Installing the GR-OsmoSdr library

 cd ~ git clone git://git.osmocom.org/gr-osmosdr cd gr-osmosdr/ mkdir build cd build/ cmake ../ make sudo make install sudo ldconfig 

Made by We go further.

Part 5. Installing the Liquid DSP Library

 sudo apt-get install automake cd ~ git clone https://github.com/jgaeddert/liquid-dsp.git cd liquid-dsp ./bootstrap.sh ./configure make sudo make install sudo ldconfig 

Made by We go further.

Part 6. Block the download of standard files for our DVB-T RTL2832U
Open (or create) the file "/etc/modprobe.d/blacklist-dvb.conf"
and insert the lines there

blacklist dvb_usb_rtl28xxu
blacklist rtl2832
blacklist rtl2830

and RESTART the system or more simply:

 sudo reboot 

Well, it seems the process is finished and we can run and test our GNURadio
To do this, type in the console:

 gnuradio-companion 

Run GNURadio


FM Radio example for GNURadio

Well, the installation video itself on Ubuntu 18.04


During installation and sampling, there were errors associated with the sound card (the problem here is in the use of the old sound subsystem OSS program) and the second is to write the string “driver = rtlsdr, rtl = 0” in the osmosdr_source_0 block. Otherwise, there were no problems. But you should have no problems, because I have already specified the packages you need in "sudo apt install ..."

After installing all the packages, the cloned folders ( git clone .... ) can be deleted:

 rm -r -f gr-osmosdr rm -r -f rtl-sdr rm -r -f librtlsdr rm -r -f gnuradio rm -r -f liquid-dsp 


I additionally installed myself a block-modules for LoRa, GSM and so on.

There are many different modules for GNURadio.

For a complete list of such plug-ins for GNURadio, follow the links:

https://github.com/gnuradio/gr-recipes
https://github.com/gnuradio/gr-etcetera

For example, I will tell you how to install the gr-gsm module

We follow the link https://github.com/gnuradio/gr-etcetera , there we see an archive of files for installation through PyBOMBS, but we will install and compile from sources.

We are looking for the file gr-gsm.lwr

gr-gsm.lwr


and click on it

gr-gsm.lwr


We find at the end of the line github.com/ptrkrysik/gr-gsm.git and copy to the clipboard.
This is a link to the outcomes on GITHUB.

(we copy only github.com/ptrkrysik/gr-gsm.git )

Then everything is as usual

 cd ~ git clone https://github.com/ptrkrysik/gr-gsm.git cd gr-gsm/ mkdir build/ cd build cmake ../ make sudo make install sudo ldconfig 


Everything, the module is installed and appeared in GNURadio

GSM module in GNURadio



All modules, as a rule, are installed as well, but read in the readme from the author of the module.

Supplement for those who have AirSpy R2
It's all just as simple as 2x2

 cd ~ git clone https://github.com/airspy/airspyone_host.git cd airspyone_host mkdir build cd build/ cmake ../ -DINSTALL_UDEV_RULES=ON make sudo make install sudo ldconfig 


That's all. I hope someone is interested, there will be questions - ask.

Source: https://habr.com/ru/post/354780/


All Articles