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

Bluetooth: different transaction collision #9608

Closed
cvinayak opened this issue Aug 24, 2018 · 3 comments
Closed

Bluetooth: different transaction collision #9608

cvinayak opened this issue Aug 24, 2018 · 3 comments
Assignees
Labels
area: Bluetooth Enhancement Changes/Updates/Additions to existing features priority: low Low impact/importance bug

Comments

@cvinayak
Copy link
Contributor

cvinayak commented Aug 24, 2018

Certain phones violate Bluetooth Procedure Collision rules. There is nothing the Bluetooth controller can do than disconnect with reason, different transaction collision.

As a workaround to IOP with such phones, may be:

  • Make the initiation of PHY update procedure (and Connection Parameter Request) on connection establishment optional in host Kconfig.
  • Have a Bluetooth API to switch to 2M PHY which the application can do when needed (could be immediately on connection establishment callback)
  • On disconnection reason (0x2a) different transaction collision, setup a random back-off timeout (in connection event count resolutions) within a set range that will be used the very next connection establishment to setup a deferred PHY update procedure.
  • Remember this value if the connection leads to bonding, and use this for future connections with this phone.
  • On consecutive disconnect reason, different transaction collision, use new random back-off delays.

Drawback:

  • ugly, best is the phone fix their firmware
  • Initial bonding may require multiple connection attempts
cvinayak added a commit to cvinayak/zephyr that referenced this issue Aug 27, 2018
Added Kconfig option to select Auto-initiation of PHY update
procedure on connection establishment.

Relates to zephyrproject-rtos#9608.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
@nashif nashif added bug The issue is a bug, or the PR is fixing a bug priority: medium Medium impact/importance bug labels Aug 27, 2018
nashif pushed a commit that referenced this issue Aug 27, 2018
Added Kconfig option to select Auto-initiation of PHY update
procedure on connection establishment.

Relates to #9608.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
@nashif nashif added this to the v1.13.0 milestone Aug 28, 2018
@nashif nashif added Enhancement Changes/Updates/Additions to existing features and removed bug The issue is a bug, or the PR is fixing a bug labels Aug 28, 2018
@nashif nashif modified the milestones: v1.13.0, v1.14.0 Aug 28, 2018
@nashif
Copy link
Member

nashif commented Aug 28, 2018

@cvinayak moving this to 1.14, is that ok with you? Can you give details on what is planned to be done here.

@cvinayak
Copy link
Contributor Author

@nashif yes, this issue be moved to 1.14.

Make the initiation of PHY update procedure (and Connection Parameter Request) on connection establishment optional in host Kconfig.

This has been done in #9654 for 1.13. Sufficient for now.

Rest of the points needs discussion (if nothing happens by 1.14, we close it as wont fix).

@galak galak added priority: low Low impact/importance bug and removed priority: medium Medium impact/importance bug labels Dec 4, 2018
@galak galak removed this from the v1.14.0 milestone Dec 4, 2018
@cvinayak
Copy link
Contributor Author

Closing this due to inaction.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: Bluetooth Enhancement Changes/Updates/Additions to existing features priority: low Low impact/importance bug
Projects
None yet
Development

No branches or pull requests

6 participants