-
Notifications
You must be signed in to change notification settings - Fork 6.1k
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: Controller: Missing LL_ENC_RSP after HCI LTK Negative Reply #19917
Comments
@cvinayak, FYI |
@rugeGerritsen Please specify which controller you are using, legacy or split |
Updated the bug description to state that this bug is present in 2.0.0, both the legacy and split controller |
@rugeGerritsen Please try with CONFIG_BT_CTLR_FAST_ENC=y |
Thanks @rugeGerritsen, this is indeed a bug. It will only be fixed in the split controller. |
The bug is not present when CONFIG_BT_CTLR_FAST_ENC=y. This is only enabled in the hci_uart example |
Fix the implementation of slow encryption setup design alternative to send ENC_RSP PDU before sending REJECT_IND or REJECT_EXT_IND PDU. Fixes zephyrproject-rtos#19917. Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Fix the implementation of slow encryption setup design alternative to send ENC_RSP PDU before sending REJECT_IND or REJECT_EXT_IND PDU. Fixes zephyrproject-rtos#19917. Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Fix the implementation of slow encryption setup design alternative to send ENC_RSP PDU before sending REJECT_IND or REJECT_EXT_IND PDU. Fixes #19917. Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Fix the implementation of slow encryption setup design alternative to send ENC_RSP PDU before sending REJECT_IND or REJECT_EXT_IND PDU. Fixes #19917. Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Fix the implementation of slow encryption setup design alternative to send ENC_RSP PDU before sending REJECT_IND or REJECT_EXT_IND PDU. Fixes zephyrproject-rtos#19917. Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Fix the implementation of slow encryption setup design alternative to send ENC_RSP PDU before sending REJECT_IND or REJECT_EXT_IND PDU. Fixes #19917. Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Describe the bug
In the Encryption Start Procedure, for the case when the host does not provide an LTK, the controller is supposed to send an LL_ENC_RSP before sending LL_REJECT_IND or LL_REJECT_EXT_IND.
To Reproduce
le_ltk_request()
to always callle_ltk_neg_reply()
:Expected behavior
![image](https://user-images.githubusercontent.com/23234783/67091249-74566a00-f1ac-11e9-909e-0537e40f0881.png)
Send LL_ENC_RSP before LL_REJECT_IND. See the MSC in Bluetooth Core Specification v5.1, Vol 6, Part D, Section 6.7, or Part B Section 5.1.3.1.
If encryption is not supported by the Link Layer of the slave, the Link Layer of
the slave shall send an LL_REJECT_IND or LL_REJECT_EXT_IND PDU with
the ErrorCode set to Unsupported Remote Feature / Unsupported LMP
Feature (0x1A).
…
The Link Layer of the slave shall then send an LL_ENC_RSP PDU. The Link
Layer of the slave shall then notify the Host with the Rand and EDIV fields.
Impact
Possible showstopper. Peer devices may cache that the controller does not support encryption, thereby leaving the link unencrypted.
Screenshots or console output
![image](https://user-images.githubusercontent.com/23234783/67091170-407b4480-f1ac-11e9-943e-db8ddf778de6.png)
Environment (please complete the following information):
f79fbac
The issue is present in both the legacy and split controller. The issue is also present in Zephyr v.2.0.0
The text was updated successfully, but these errors were encountered: