0

I'm setting up the BlueZ protocol stack on a custom system using linux 3.3. I'm using buildroot to setup the filesystem, and specifically am using BlueZ-4.101.

I'm attempting to use the hcidump utility to get some logs, but the binary has not been installed.

I've checked that:

  • Device driver is installed in kernel
  • BlueZ Utils is enabled in buildroot .config file
  • Other utilities work, such as hcitool or hciconfig

Going into the Makefile in output/build/bluez_utils-4.101 it would appear that the object file hcidump.o is being compiled into a binary called btmon.

Further investigation would reveal that in Makefile, btmonis assigned to am__EXEEXT_10, and that is then assigned to the variable noinst_PROGRAMS.

So this is where I'm at. I'm pretty sure that this is an automatically generated Makefile by buildroot. I'm not sure how these files are generated, thus I'm unsure as to why btmon is being assigned to the noinst_PROGRAMS variable.

In summary, I believe that my version of BlueZ uses a binary btmon instead of hcidump. btmon is compiled (binary seen at output/build/bluez_utils-4.101/monitor/btmon), but not being installed onto my target system because of instructions in Makefile.

My best guess would something weird about compatibility between my kernel version and bluez. Any suggestions would be greatly appreciated!

zeus_masta_funk
  • 1,388
  • 2
  • 11
  • 34

1 Answers1

2

In BlueZ 4, hcidump was distributed as a separate package, bluez-hcidump. This has never been packaged in buildroot, however. So either create your own package for bluez-hcidump, or switch to BlueZ 5. BleuZ 5 is provided by buildroot starting from 2014.08.

Arnout
  • 2,927
  • 16
  • 24