0

I've been working with bluez 5.30 for a few weeks getting a peripheral working using the DBus APIs. I ran into a bug registering descriptors which I tracked down to an issue in gatt-database.c. When I went to report the bug, I noticed 5.31 had been released, which corrected the issue, so I built and installed the new version.

However, in this new version the LEAdvertisingManager1 has disappeared from the adapter object. Downgrading back to 5.30 corrects the issue. I start bluetoothd with the -E option in both cases.

When I start bluetoothd from the command line with debugging on, I can see the device wishes to create the interface:

bluetoothd[1801]: src/advertising.c:btd_advertising_manager_new() LE Advertising Manager created for adapter: /org/bluez/hci0

The only clue appears to be this line:

 bluetoothd[1801]: Failed to read advertising features: Unknown Command (0x01)

Which i tracked down to the call to read MGMT_OP_READ_ADV_FEATURES over hci, which returns 0x01, unknown command. This command was working fine in 5.30, so I'm curious if this is some configuration issue for the new features in 5.31.

Anyone have any tips for correcting this?

danielweberdlc
  • 452
  • 1
  • 8
  • 16
  • Browsing through a DIF of the 5.30 and 5.31, I'm seeing that the check of advertising features was not present in 5.30. It looks like my Debian 8 installation is running kernel 3.16, which only appears to support version 1.6 of the hci API. Fortunately my device is running 4.0+, which supports 1.11 (?). it appears I will need to update my kernel. – danielweberdlc Jun 17 '15 at 23:17
  • 1
    Apparently these management functions are going to be released in 4.1 of the kernel. I checked the latest code at bluez and the restriction on this management call being present still exists. If this goes live 5.31+ will require kernel >= 4.1 to use the advertising features. – danielweberdlc Jun 18 '15 at 21:27

0 Answers0