GNU Radio is an incredible piece of software, allowing you to design and create software based radios. When these software radios are combined with a general purpose hardware receiver such as RTL-SDR, you can replace what would have once taken a whole room full of expensive radio equipment with a decently powerful desktop computer.
Unfortunately, this power comes at a steep price. GNU Radio is a very complex program, and anyone without a working knowledge of radio technology will have a lot of trouble getting anything done on their own with it. Luckily for those of us without ham licenses, there is more user-friendly software available for RTL-SDR, but they all require GNU Radio installed to function, so we’ll need to go ahead and build GNU Radio even if you never intend on using it directly.
The suggested method of installing the latest version of GNU Radio is to use the “build-gnuradio” script written by Marcus Leech. Running this script will download all of the latest sources, configure the system, and build all of the binaries. This may take quite some time depending on your hardware, so don’t expect to do anything with your computer for the next hour or so.
To start the GNU Radio build process, simply download the script and make it executable:
bash$ wget http://www.sbrac.org/files/build-gnuradio Resolving www.sbrac.org... 184.108.40.206 Connecting to www.sbrac.org|220.127.116.11|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 29181 (28K) [text/plain] Saving to: `build-gnuradio' 100%[======================================>] 29,181 --.-K/s in 0.1s 2012-06-24 19:38:08 (255 KB/s) - `build-gnuradio' saved [29181/29181] bash$ chmod +x ./build-gnuradio bash$ ./build-gnuradio This script will install Gnu Radio from current GIT sources You will require Internet access from the computer on which this script runs. You will also require SUDO access. You will require approximately 500MB of free disk space to perform the build. This script will, as a side-effect, remove any existing Gnu Radio installation that was installed from your Linux distribution packages. It must do this to prevent problems due to interference between a linux-distribution-installed Gnu Radio/UHD and one installed from GIT source. The whole process may take up to two hours to complete, depending on the capabilities of your system. Proceed?
This a very complete and well implemented installation script, it’s even smart enough to install required dependencies (there are quite a few) via your distribution’s package manager. Not only does the script build and install GNU Radio itself, but it will also download all of the RTL-SDR packages as well.
If you really want to build GNU Radio from source manually, you can do so by following along with the build guide from the GNU Radio Wiki. This is how I originally got GNU Radio installed on my machine before using “build-gnuradio”, though I would certainly use the script for future installations.
Note: Your distribution may already include GNU Radio in its repositories, but that version is likely too old, and certainly won’t include the RTL-SDR software with it. So even if you are on a distribution which offers precompiled GNU Radio packages, build it from source.
Before going any farther, it would be a good idea to use our newly installed RTL-SDR software to test the hardware and make sure everything is operating as expected. RTL-SDR includes a handy tool to benchmark the capability of a connected RTL2832U tuner, which we can use to verify the hardware and software is communicating properly. To test your tuner and run a quick benchmark on it, simply do the following:
bash$ rtl_test -t Found 1 device(s): 0: ezcap USB 2.0 DVB-T/DAB/FM dongle Using device 0: ezcap USB 2.0 DVB-T/DAB/FM dongle Found Elonics E4000 tuner Benchmarking E4000 PLL... [E4K] PLL not locked for 51000000 Hz! [E4K] PLL not locked for 2229000000 Hz! [E4K] PLL not locked for 1115000000 Hz! [E4K] PLL not locked for 1245000000 Hz! E4K range: 52 to 2228 MHz E4K L-band gap: 1115 to 1245 MHz
This output shows us that the Ezcap device is being detected properly, and that it contains the desired E4000 tuner hardware. In addition, it has run a quick test and verified its capability to tune between 52 and 2228 MHz (with the expected gap in the 1100-1250 MHz area).
If you don’t see your device under rtl_test, something’s wrong. Check you permissions on the device, and that your distributions kernel is up to date. If everything seems to be in order, you may want to head to ##rtlsdr on Freenode or the RTL-SDR subpage on reddit to ask for help.
Developed by the very talented Alexandru Csete (OZ9AEC), Gqrx has only recently gained RTL-SDR support, but is already one of the best options for new users. It features a very straightforward Qt GUI, and has enough functionality and features to keep a beginner interested while they get the hang of things. I’ve tried a few of the GUI tools for RTL-SDR, and I’ve had the best luck (by far) with Gqrx.
Gqrx is a QT4 program, and as such its installation is a bit different from what you might expect. To begin with, make sure you have QT4 installed via your distribution’s package manager, and that have the “qtcreator” tool installed.
Then download the source for Gqrx via its page on github (click “Download as tar.gz”), and extract it into a directory on your system. After the Gqrx source has been extracted, open Qt Creator, click “File”, then “Open File or Project”. In the following dialog, navigate to where you extracted the source and select the file named “gqrx.pro”.
A dialog should pop up titled “Target Setup” with “Desktop” selected. You can simply click “Finished” on this dialog, after which Qt Creator will scan this file for a minute or so, which will be indicated by two loading bars on the right hand side.
Once the source code has been scanned and Qt Creator is ready to proceed, click “Build” followed by “Build All”. This process can take several minutes depending on processor speed, and you will likely see many warnings pop up in the bottom display, this doesn’t seem to effect the build and it should complete successfully (I received over 500 warnings before Gqrx finished building).
Once it is complete a directory should have been created in the same directory the Gqrx source was in called “gqrx-build-desktop”. In this directory you will find the “gqrx” binary which you can run to start the program.