解决hackrf在Ubuntu14.04下的HACKRF_ERROR_LIBUSB问题

在Ubuntu14.04下安常规方式安装(不是手工编译,而是通过apt-get方式安装)HackRF。HackRF不能工作,使用hackrf_info检查返回如下错误:

hackrf_open() failed: HACKRF_ERROR_LIBUSB (-1000)

一般是这样安装才产生了本文要解决的问题:

sudo add-apt-repository ppa:gqrx/releases

sudo apt-get update

sudo apt-get upgrade

sudo apt-get install gqrx gnuradio gr-osmosdr hackrf

如果在树莓派上安装gqrx要改为gqrx-sdr,另外不要试着在树莓派上编译gnuradio.因为源码不支持,非要编译就看你的水平了。就算要编译在树莓派上使用的版本,官方也是推荐交叉编译。参考

#sudo apt-get install scim-tables-zh

经过检查我发现是因为HackRF新固件和以前的老驱动已经不兼容了。所以在某些情况下出现上述问题。我曾经更新所有libusb库(sudo apt-get install libusb*)结果无效。

最后靠重新编译hackrf来解决问题。结果就OK了。

编译hackrf需要一大堆 的库支持所以更确保依赖的库都装了:

sudo apt-get -y install build-essential cmake git-core autoconf automake libtool g++ python-dev swig pkg-config libfftw3-dev libboost1.54-all-dev libcppunit-dev libgsl0-dev libusb-dev sdcc libsdl1.2-dev python-wxgtk2.8 python-numpy python-cheetah python-lxml doxygen python-qt4 python-qwt5-qt4 libxi-dev libqt4-opengl-dev libqwt5-qt4-dev libfontconfig1-dev libxrender-dev libusb-1.0

注意这个:libboost1.54-all-dev,此前有文章写的是libboost1.53-all-dev,但不知道 为什么1.53已经没了可能就是被1.54取代了吧。不过再进一步,未来大家看到这个文章了,这个库可能又增加版本了。所以如果这个库装不上。请检查一下是不是这个库又有新版本了。

环境准备好后执行如下命令如果git和cmake也没有装的话。请继续apt-get

git clone –progress http://github.com/mossmann/hackrf.git

cd hackrf/host

mkdir build

cd build

cmake ../ -DINSTALL_UDEV_RULES=ON

make

sudo make install

sudo ldconfig

执行完以上命令hackrf的工具会装在/usr/local/bin但有时放在这里gnuradio会找不到它们。怎么办呢。

sudo cp /usr/local/bin/* /usr/bin

不解释

 

关于xmsg

技术面前人人平等.同时技术也不分高低贵贱.正所谓学无大小,达者为尊.
此条目发表在Linux, SDR分类目录,贴了, , , , 标签。将固定链接加入收藏夹。