This repository contains host software (Linux/Windows) for Airspy HF+, a high performance software defined radio for the HF and VHF bands. This version is modified to make it able to compile and run appropriately on MUSL linux, the latest versions of raspberry pi OS(with the latest libusb 1.0.27), and with as few warnings or errors as possible.
Please use the official version at https://github.com/airspy/airspyhf if you dont know c++. this modded version is not supported.
It is also refactored for a performance boost. it has been changed to no longer perform any kind of tapering or buffer skipping internally, choosing instead to trust SDR software writers. This can result in a large initial DC bump, so the first few hundred MS after starting the radio or changing IQ frequency should be dropped or tapered appropriately. it also has some different approaches to quite a few things..
- different window function- a little bit better tapering
- some other tweaks to taste
http://www.airspy.com/airspy-hf-plus
git clone https://github.com/airspy/airspyhf.git host
- Download https://github.com/libusb/libusb/releases/download/v1.0.27/libusb-1.0.27.7z
- Extract libusb-1.0.27.7z to host directory
- You should have host\libusb-1.0.27
- Download ftp://mirrors.kernel.org/sourceware/pthreads-win32/pthreads-w32-2-9-1-release.zip
- Extract pthreads-w32-2-9-1-release.zip to host directory
- You should have host\libpthread-2-9-1-win
- Navigate to src and Launch airspyhf.sln with VisualStudio 2013 or later
- In Visual Studio, choose Release, x86 or x64 then Build Solution *if visual studio cannot find the libraries, manually edit the c++ and linker includes to use the appropriate /include/ directory *for libusb, use the "x86/dll" folder if compiling with clang, and copy the dll into the directory with your airspyhf.dll
sudo apt-get install build-essential cmake pkg-config libudev-dev
you'll need to make libusb if your platform's libusb isnt up to date yet. it probably isn't.wget https://github.com/airspy/airspyhf/archive/master.zip
tar -xfj https://github.com/libusb/libusb/releases/download/v1.0.27/libusb-1.0.27.tar.bz2
cd libusb-1.0.27
except that hilariously, thanks to systemd, which i wish would stop existing, there isnt even headers anymore- it ate themwget https://raw.githubusercontent.com/systemd/systemd/main/src/libudev/libudev.h
sudo mv libudev.h /usr/include/
./configure --prefix=/usr --disable-static
make
sudo make install
cd .../
I initially modified some of the c to make it compile on musl. i still think it will work fine there, but some of these instructions may differ for you. spyserver depends on a handful of libraries as part of glibc which are not properly emulated with gcompat, so you'll have to make do
-
wget https://github.com/airspy/airspyhf/archive/master.zip
-
unzip master.zip
-
cd airspyhf-master
-
mkdir build
-
cd build
-
cmake ../ -DLIBUSB_LIBRARIES="/usr/lib/libusb-1.0.so" -DLIBUSB_INCLUDE_DIRS="/usr/include/libusb-1.0" -DINSTALL_UDEV_RULES=ON
-
make
-
sudo make install
-
sudo ldconfig
cd airspyhf-master/build
rm -rf *
"LD_PRELOAD=/usr/lib/libusb-1.0.so airspyhf_info/spyserver/etc" if your system has an old libusb it depends on, you'll have to manually bind to this on linux
note that if you blindly followed the instructions above you have just installed the normal airspy library and not the one in this repo since i did not change the wget directive.
Ian Gilmour ian@sdrsharp.com and Youssef Touil youssef@airspy.com
This file is part of Airspy HF (with user mode driver based on Airspy R2, itself based on HackRF project see http://greatscottgadgets.com/hackrf/).