In continuation to my USB SDR post, installing GNU Radio was my first priority. GNU Radio (which I’m still very far from knowledgeable about) appears to allow my computer to recognize the USB SDR and grant me access to it. It can do much, much more, but that’s the extent of my knowledge so far.
sudo apt-get install gnuradio
This takes a while. Go get a cup of coffee.
Once that’s done you’ll want to try this and see if you get anything:
sudo rtl_test -t
You may encounter an error. The TV tuner module may get in the way of the new SDR module. If this occurs, do the following:
sudo nano /etc/modprobe.d/blacklist.conf
This will open your blacklist.conf file in the nano text editor. After which, you’ll add these three blacklist items at the bottom of the doc.
Save your changes to this file, exit Terminal, and reboot. This will successfully block the TV module from loading every time you plug in the USB SDR. You should now be able to run the test above and get something like the following:
Found 1 device(s):
0: Genereic RTL2832U OEM
Using device 0: Generic RTL2832U OEM
Found Rafael Micro R820T tuner
Supported gain values (29): 0.0 0.9 1.4 2.7 (too many to list) … 49.6
No E4000 tuner found, aborting.
This is good.
You’ll next want to clone & install Kyle’s rtl_power application. He’s written a page that is very thorough in helping you understand all of the variables, and shares some great examples to help get you started.
rtl_power will help you log received data, but if you’d like to take things a step further and create images based on this data, continue reading.
Kyle also has a Python script (heatmap.py) that will allow you to build pretty awesome heatmap images of the received RF spectrum data you log. Before doing this make sure you have a Python Image Library installed. This comes packaged in Ubuntu 14 and can be installed by doing the following:
sudo apt-get install python3-pil
Once that’s installed you’ll want to add support for the various image types, again Ubuntu 14:
sudo apt-get install libtiff5-dev libjpeg8-dev zlib1g-dev libfreetype6-dev liblcms2-dev libwebp-dev tcl8.6-dev tk8.6-dev python-tk
Now you’re ready to clone Kyle’s Python heatmap script. This was the funnest part for me. And thanks to Kyle for pointing me in the right direction on the Python Image Libraries. Huge help.