在Cygwin下编译HackRF
由于HackRF One之前一直使用着旧的Jawbreaker的USB VendorID(1d50:604b)
2014年3月13日左右,作者对HackRF One启用了新的VendorID(1d50:6089)
见host/libhackrf/src/hackrf.c
的119行和第276行,程序先寻找1d50:6089再找1d50:604b
Windows下的编译参考:http://www.hackrf.net/2014/03/compile-hackrf-host-on-windows-and-linux/
安装Cygwin
- 去cygwin.com上下载对应32位或64位系统的setup.exe
- 执行setup程序,选择国内163的源
- 下一步勾选几个软件包
- libusb1.0-dev
- cmake
- g++
- gcc
- make
编译
cd hackrf/host/build cmake ../ -G "Unix Makefiles" -DCMAKE_LEGACY_CYGWIN_WIN32=1 -DLIBUSB_INCLUDE_DIR=/usr/include/libusb-1.0 make make install
就可以了。
需要注意的一点是,
-DLIBUSB_INCLUDE_DIR=/usr/include/libusb-1.0
这里指定了libusb的路径
下载
这里是我编译好的hackrf_info等工具,32位Windows7上编译通过。
解压之后执行hackrf_info,会有如下结果
Found HackRF board. Board ID Number: 2 (HackRF One) Firmware Version: git-3f59f4b Part ID Number: 0xbc5f4f4a 0xbc5f4f4a Serial Number: 0x00000000 0x00000000 0x261c63c8 0x26776d53
进一步
下一步需要把SDRSharp里用到的HackRF库改成最新版本的,应该需要重新编译SDRSharp的HackRF插件,甚至做相应的修改。
参见
- https://github.com/zefie/sdrsharp_hackrf/blob/master/src/HackRF/HackRFDevice.cs
- https://github.com/zefie/sdrsharp_hackrf/