I have been playing with Software Defined Radio for a number of years, but recently advances in high-speed sampling has put relatively high quality, extremely high frequency SDR within reach of everyone. A few years ago Eric Fry reverse-engineered the communications from a Digital TV USB Dongle to see that it transmitted raw samples. A;number of;email threads;followed up this research, and eventually;Osmocom;developed the first RealTek-SDR (rtlsdr) driver that began the low-cost SDR revolution. Last year, I heard of a very interesting Kickstarter by renowned hardware hacker;Michael Ossman;(Im-Me hacking fame). For a remarkably low price ($300) he was developing an SDR capable of both receive and transmit (albeit about 15dBm) from 10MHz to 6GHz. Once the Kickstarter completed, Michael Ossman productified it as the;HackRF One. I had to have one.
Before getting into the hacking aspect, I wanted to get the basic receive-only SDR functionality working. My current favourite Linux SDR demodulator is;CubicSDR. It demodulates FM, AM, SSB and CW and can also output an IQ stream of selectable bandwidth. I currently have Ubuntu 15.10 as my radio experimentation OS.
- Install dependencies…
sudo apt-get install hackrf gnuradio gnuradio-dev gr-iqbalsudo apt-get install git build-essential librtlsdr-dev automake libfftw3-dev cmake libgl1-mesa-dev libwxgtk3.0-dev libpulse-dev
sudo apt-get install libfftw3-dev libpulse-dev libgtk-3-dev
sudo apt-get install freeglut3 freeglut3-dev
- Clone and install liquid-dsp
git clone https://github.com/jgaeddert/liquid-dsp cd liquid-dsp/
./configure; make sudo make install sudo ldconfig cd ..
- Clone and install SoapySDR
git clone https://github.com/pothosware/SoapySDR.git cd SoapySDR/
mkdir build cd build/ cmake ../ -DCMAKE_BUILD_TYPE=Release make sudo make install sudo ldconfig cd ..
- Clone and install SoapyHackRF;
cd SoapyHackRF/ mkdir build;
cd build/ cmake ../ make sudo make install
- Download and build wxWidgets
tar -xjvf wxWidgets-3.1.0.tar.bz2;
./configure –with-opengl –disable-shared –enable-monolithic –with-libjpeg –with-libtiff –with-libpng –with-zlib –disable-sdltest –enable-unicode –enable-display –enable-propgrid –disable-webkit –disable-webview –disable-webviewwebkit –prefix=
echo ~/Development/wxwidgets-staticlib CXXFLAGS=-std=c++0x –with-libiconv=/usr
make && make install cd ..
- Finally clone and install CubicSDR
cd;CubicSDR mkdir build
cd build/ cmake ../ -DCMAKE_BUILD_TYPE=Release -DwxWidgets_CONFIG_EXECUTABLE=~/Development/wxwidgets-staticlib/bin/wx-config
make sudo make install