Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HCI 5.0 / Extended Advertising support #2705

Closed
srware opened this issue Mar 11, 2020 · 2 comments · Fixed by #2960
Closed

HCI 5.0 / Extended Advertising support #2705

srware opened this issue Mar 11, 2020 · 2 comments · Fixed by #2960
Assignees

Comments

@srware
Copy link
Contributor

srware commented Mar 11, 2020

Bluetooth adapters which support HCI 5.0 and extended advertising do not work with the current BluetoothLEBeacon implementation with newer Linux kernels and Bluez versions. This is because the current implementation is using deprecated command-line tools (hcitool and hcidump). The Bluetooth 5.0 spec states that if a card supports extended advertising this will be used by default which means legacy LE scan commands are rejected. the 'hcitool' is deprecated and doesn't support LE scans with HCI 5.0 adapters.

My suggestion would be to re-use the BluetoothLeAdapterImpl with TransportType set to LE to kick off a beacon scan using Bluez DBus API and then kick off a 'btmon' command-line process which can be used to parse advertising packets similar to 'hcidump'.

  • Board Up2 + Intel 9260 WiFi/BT adapter
  • OS version: Ubuntu 18, Linux Kernel 5.3.x
@MMaiero
Copy link
Contributor

MMaiero commented Mar 12, 2020

@pierantoniomerlino Can you have a look at this and estimate a feasibility plan?

@pierantoniomerlino
Copy link
Contributor

@srware Thank you for the issue report and the suggestion. I agree that the both hcitool and hcidump are deprecaded in favor of more modern commands like bluetoothctl.

I also agree with your solution, but Kura uses TinyB [1] to manage BLE devices (that is based on Bluez DBus API). So, to kickoff a beacon scan or advertising we'd modify the underlying library. Unfortunately, TinyB currently doesn't support beacons nor there are plans to support that [2].

Of course, any contribution is more than welcome!

[1] https://github.com/intel-iot-devkit/tinyb
[2] intel-iot-devkit/tinyb#168

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants