Skip to content

bluetooth: controller: Control procedure collision with Encryption and PHY update procedure #14635

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

Closed
joerchan opened this issue Mar 18, 2019 · 0 comments
Assignees
Labels
bug The issue is a bug, or the PR is fixing a bug priority: medium Medium impact/importance bug

Comments

@joerchan
Copy link
Collaborator

Description:
Bluetooth controller can initiate LL encryption procedure whyle LL phy update procedure is in progress.
This is a violation of the Bluetooth specification, only one LL control procedure can be initiated by one side at a time.
If the peer side is behaving as expected it shall drop the connection with error code LPM transaction collision.

To reproduce
Using bluetooth central_hr sample
Requires control of the peer side in responding.
Run an advertiser with 16 bit Heart Rate UUID in advertise packet.
Respond to security request before responding to PHY update procedure.
Connection will disconnect with LMP transaction collision.

Expected behaviour:
Encryption request shall not be initiated before LL Phy update procedure has completed.

Impact:
Both timing and behaviour dependant.
Can result in connection failures sometimes.
Worst case two peers are unable to establish a connection.

enc_phy_collision.zip

Environment

  • OS: Linux
  • Toolchain Zephyr SDK
  • a1c2159
@joerchan joerchan added the bug The issue is a bug, or the PR is fixing a bug label Mar 18, 2019
@carlescufi carlescufi added the priority: medium Medium impact/importance bug label Mar 18, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug The issue is a bug, or the PR is fixing a bug priority: medium Medium impact/importance bug
Projects
None yet
Development

No branches or pull requests

2 participants