HackRF One + CubicSDR on Ubuntu 15.10

Submitted by gerry on Wed, 03/30/2016 - 15:17

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.

1. 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

2. Clone and install liquid-dsp

git clone https://github.com/jgaeddert/liquid-dsp
cd liquid-dsp/

./bootstrap.sh 

./configure 
make
sudo make install
sudo ldconfig
cd ..

3. 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 ..

4. Clone and install SoapyHackRF 

git clone https://github.com/pothosware/SoapyHackRF.git

cd SoapyHackRF/
mkdir build 

cd build/
cmake ../
make
sudo make install

sudo ldconfig

cd ..

5. Download and build wxWidgets

wget https://github.com/wxWidgets/wxWidgets/releases/download/v3.1.0/wxWidget...

tar -xjvf wxWidgets-3.1.0.tar.bz2 
cd wxWidgets-3.1.0/
mkdir ~/Development/wxwidgets-staticlib
./autogen.sh 
./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 ..

5. Finally clone and install CubicSDR

git clone https://github.com/cjcliffe/CubicSDR.git

cd CubicSDR
mkdir build

cd build/
cmake ../ -DCMAKE_BUILD_TYPE=Release -DwxWidgets_CONFIG_EXECUTABLE=~/Development/wxwidgets-staticlib/bin/wx-config

make
sudo make install

Add new comment

Restricted HTML

  • Allowed HTML tags: <a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • Lines and paragraphs break automatically.
  • Web page addresses and email addresses turn into links automatically.
CAPTCHA This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.