我正在使用Linux3.3在自定义系统上设置BlueZ协议栈。我使用buildroot来设置文件系统,特别是使用BlueZ-4.101。
我正试图使用hcidump
实用程序获取一些日志,但尚未安装二进制文件。
我查过了:
设备驱动程序安装在内核中
在buildroot.config文件中启用了BlueZ实用程序
其他实用程序工作,如hcitool
或hciconfig
进入Makefile
中的output/build/bluez_utils-4.101
时,似乎对象文件hcidump.o
正在编译为一个名为btmon
的二进制文件。
进一步的研究将揭示在Makefile
中,btmon
被赋给am__EXEEXT_10
,然后赋给变量noinst_PROGRAMS
。
所以我就在这里。我确信这是buildroot自动生成的Makefile
。我不确定这些文件是如何生成的,因此我不确定为什么要将btmon
分配给noinst_PROGRAMS
变量。
总之,我相信我的BlueZ版本使用二进制btmon
而不是hcidump
。btmon
已编译(二进制文件见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/