我正在使用Linux3.3在自定义系统上设置BlueZ协议栈。我使用buildroot来设置文件系统,特别是使用BlueZ-4.101。
我正试图使用hcidump实用程序获取一些日志,但尚未安装二进制文件。
我查过了:
设备驱动程序安装在内核中
在buildroot.config文件中启用了BlueZ实用程序
其他实用程序工作,如hcitoolhciconfig
进入Makefile中的output/build/bluez_utils-4.101时,似乎对象文件hcidump.o正在编译为一个名为btmon的二进制文件。
进一步的研究将揭示在Makefile中,btmon被赋给am__EXEEXT_10,然后赋给变量noinst_PROGRAMS
所以我就在这里。我确信这是buildroot自动生成的Makefile。我不确定这些文件是如何生成的,因此我不确定为什么要将btmon分配给noinst_PROGRAMS变量。
总之,我相信我的BlueZ版本使用二进制btmon而不是hcidumpbtmon已编译(二进制文件见output/build/bluez_utils-4.101/monitor/btmon),但由于Makefile中的说明,未安装到目标系统上。
我最好的猜测是我的内核版本和bluez之间的兼容性有点奇怪。任何建议都将不胜感激!

最佳答案

在BlueZ 4中,hcidump作为一个单独的包bluez-hcidump分发。但是,这从未打包到buildroot中。因此,要么为bluez-hcidump创建自己的包,要么切换到BlueZ 5。BleuZ 5由buildroot从2014.08开始提供。

关于linux - 找不到hcidump二进制文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35904781/

10-13 07:40