linux - 找不到 hcidump 二进制文件

标签 linux bluez buildroot hci

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

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

我检查过:

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

进入 output/build/bluez_utils-4.101 中的 Makefile 似乎目标文件 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。从 2014.08 开始,BleuZ 5 由 buildroot 提供。

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

相关文章:

c - 如何用 ALSA 播放短音

linux - 在 *n*x 目录中使用 @(at 符号)会有任何问题吗?

linux - 创建虚拟蓝牙设备/服务并让执行计算机发现/使用它们

c++ - 如何使用D-Bus获取设备名称?

c++ - Buildroot 包需要一个带 C++ 的工具链,大文件错误

python - Heroku:将文件放入 bin 文件夹

C++,Linux : how to limit function access to file system?

android - 如何在 Debian 上连接 pybluez RFCOMM 服务器套接字?

linux - libstdc++.so : error adding symbols: File in wrong format

vagrant ssh 得到错误 : ssh_exchange_identification: read: Connection reset by peer