0

我正在使用 linux 3.3 的自定义系统上设置 BlueZ 协议栈。我正在使用 buildroot 来设置文件系统,特别是使用 BlueZ-4.101。

我正在尝试使用该hcidump实用程序获取一些日志,但尚未安装二进制文件。

我已经检查过了:

  • 设备驱动程序安装在内核中
  • 在 buildroot .config 文件中启用了 BlueZ Utils
  • 其他实用程序工作,例如hcitoolhciconfig

进入Makefileinoutput/build/bluez_utils-4.101会发现目标文件hcidump.o正在被编译成一个名为btmon.

进一步的调查会发现 in Makefile,btmon被分配给am__EXEEXT_10,然后 that 被分配给变量noinst_PROGRAMS

所以这就是我所在的地方。我很确定这是Makefile由 buildroot 自动生成的。我不确定这些文件是如何生成的,因此我不确定为什么btmon将其分配给noinst_PROGRAMS变量。

总之,我相信我的 BlueZ 版本使用二进制文件btmon而不是hcidump. btmon已编译(二进制见于output/build/bluez_utils-4.101/monitor/btmon),但由于Makefile.

我最好的猜测是我的内核版本和 bluez 之间的兼容性有些奇怪。任何建议将不胜感激!

4

1 回答 1

2

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

于 2016-03-11T23:31:56.503 回答