Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.Sign up
Operating System Tips
Here are some software setup tips for particular Operating Systems and Linux distributions.
We highly recommend that, unless developing or testing new features of HackRF, most users use build systems or package management provided for their operating system.
Ubuntu / Debian
sudo apt install gqrx-sdr
Fedora / Red Hat
sudo dnf install gnuradio gr-osmosdr hackrf gqrx -y
emerge hackrf-tools USE="hackrf" emerge gr-osmosdr
pacman -S gnuradio gnuradio-osmosdr pacman -S gnuradio-companion
OS X (10.5+)
sudo port install gr-osmosdr
brew install gr-osmosdr
Binaries are provided as part of the PothosSDR project, they can be downloaded here
You can use the binary package:
# pkg install hackrf
You can build and install from ports:
# cd /usr/ports/comms/hackrf # make install
Building from source
Linux / OS X / *BSD
Preparing Your System
First of all, make sure that your system is up to date using your operating system provided update method.
Installing using PyBOMBS
The GNU Radio project has a build system that covers the core libraries, drivers for SDR hardware, and many out of tree modules. PyBOMBs will take care of installing dependencies for you.
Building HackRF tools from source
Acquire the source for the HackRF tools from either a release archive or git:
git clone https://github.com/mossmann/hackrf.git
Once you have the source downloaded, the host tools can be built as follows:
cd hackrf/host mkdir build cd build cmake .. make sudo make install sudo ldconfig
If you have HackRF hardware, you may need to update the firmware to match the host tools versions.
Prerequisites for Cygwin, MinGW, or Visual Studio
- cmake-220.127.116.11 or later from http://www.cmake.org/cmake/resources/software.html
- libusbx-1.0.18 or later from http://sourceforge.net/projects/libusbx/files/latest/download?source=files
- fftw-3.3.5 or later from http://www.fftw.org/install/windows.html
- Install Windows driver for HackRF hardware or use Zadig see http://sourceforge.net/projects/libwdi/files/zadig
- If you want to use Zadig select HackRF USB device and just install/replace it with WinUSB driver.
Note for Windows build: You shall always execute hackrf-tools from Windows command shell and not from Cygwin or MinGW shell because on Cygwin/MinGW Ctrl+C is not managed correctly and especially for hackrf_transfer the Ctrl+C (abort) will not stop correctly and will corrupt the file.
For Visual Studio 2015 x64
Create library definition for MSVC to link to
C:\fftw-3.3.5-dll64> lib /machine:x64 /def:libfftw3f-3.def
c:\hackrf\host\build> cmake ../ -G "Visual Studio 14 2015 Win64" \ -DLIBUSB_INCLUDE_DIR=c:\libusb-1.0.21\libusb \ -DLIBUSB_LIBRARIES=c:\libusb-1.0.21\MS64\dll\lib\libusb-1.0.lib \ -DTHREADS_PTHREADS_INCLUDE_DIR=c:\pthreads-w32-2-9-1-release\Pre-built.2\include \ -DTHREADS_PTHREADS_WIN32_LIBRARY=c:\pthreads-w32-2-9-1-release\Pre-built.2\lib\x64\pthreadVC2.lib \ -DFFTW_INCLUDES=C:\fftw-3.3.5-dll64 \ -DFFTW_LIBRARIES=C:\fftw-3.3.5-dll64\libfftw3f-3.lib
CMake will produce a solution file named
HackRF.sln and a series of
project files which can be built with msbuild as follows:
c:\hackrf\host\build> msbuild HackRF.sln
mkdir host/build cd host/build cmake ../ -G "Unix Makefiles" -DCMAKE_LEGACY_CYGWIN_WIN32=1 -DLIBUSB_INCLUDE_DIR=/usr/local/include/libusb-1.0/ make make install
mkdir host/build cd host/build cmake ../ -G "MSYS Makefiles" -DLIBUSB_INCLUDE_DIR=/usr/local/include/libusb-1.0/ make make install