由于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插件,甚至做相应的修改。

参见