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
Link Layer Control Procedure overhaul #15256
Comments
Sniffer trace showing disconnect (type 2) channel map update receveid while feature exchange has been queued in the controller. Link disconnected by controller with error code 0x2a disconnect_transaction_collision_chan_map_phy_req_enqueued.zip |
Attached sniffer log of type 3 |
A sniffer log where both peers try to set the security level to FIPS (and fails). |
A sniffer log where only the central tries to set the security level to FIPS (and fails). |
@joerchan After the merge of #17836, the peripheral still cannot set the security level right after connecting. I suspect the problem to be on the central side this time. |
Thanks for the report @maz3max. @joerchan can you decide whether this requires a new GH issue to be open, or will it be fixed by an existing PR? |
@carlescufi @maz3max : |
@pskhansen @cvinayak please discuss the resolution of this issue. Note that #15320 is a workaround PR, and there are two options:
|
Pushes all work done in the topic-ble-llcp branch into main branch This is a refactoring of the LL control procedures; the refactored control procedures are hidden behind a KConfig option and per default disabled Goal of the refactoring: close issue Link Layer Control Procedure overhaul zephyrproject-rtos#15256 make it easier to add/update control procedures Refactoring consists in principal of writing explicit state machines for the control procedures. To reduce the risk of regression errors unit-tests have been added Following control procedures are implemented: Connection update procedure Channel map update procedure Encryption procedure Feature exchange procedure Version exchange procedure ACL termination procedure Connection parameters request procedure LE Ping procedure Data Length Update procedure PHY update procedure Min. nr. Of channels used procedure Constant Tone extension request procedure This is a joined work by the people listed in the signed-off-by list (in alphabetical order) Signed-off-by: Andries Kruithof Andries.Kruithof@nordicsemi.no Signed-off-by: Erik Brockhoff erbr@oticon.com Signed-off-by: Piotr Pryga piotr.pryga@nordicsemi.no Signed-off-by: Szymon Janc szymon.janc@codecoup.pl Signed-off-by: Thomas Ebert Hansen thoh@oticon.com Signed-off-by: Tommie Skriver tosk@demant.com Signed-off-by: Andries Kruithof <Andries.Kruithof@nordicsemi.no>
Pushes all work done in the topic-ble-llcp branch into main branch This is a refactoring of the LL control procedures; the refactored control procedures are hidden behind a KConfig option and per default disabled Goal of the refactoring: close issue Link Layer Control Procedure overhaul #15256 make it easier to add/update control procedures Refactoring consists in principal of writing explicit state machines for the control procedures. To reduce the risk of regression errors unit-tests have been added Following control procedures are implemented: Connection update procedure Channel map update procedure Encryption procedure Feature exchange procedure Version exchange procedure ACL termination procedure Connection parameters request procedure LE Ping procedure Data Length Update procedure PHY update procedure Min. nr. Of channels used procedure Constant Tone extension request procedure This is a joined work by the people listed in the signed-off-by list (in alphabetical order) Signed-off-by: Andries Kruithof Andries.Kruithof@nordicsemi.no Signed-off-by: Erik Brockhoff erbr@oticon.com Signed-off-by: Piotr Pryga piotr.pryga@nordicsemi.no Signed-off-by: Szymon Janc szymon.janc@codecoup.pl Signed-off-by: Thomas Ebert Hansen thoh@oticon.com Signed-off-by: Tommie Skriver tosk@demant.com Signed-off-by: Andries Kruithof <Andries.Kruithof@nordicsemi.no>
@carlescufi can you update this one? Looks like all issues/PRs linked here have been merged/closed, is this done? |
This can be considered as done for 3.2.0 @fabiobaltieri |
There are three types of issues that can occur today when handling Control Procedures in the Link layer (both legacy and split):
HCI_CMD_DISALLOWED
We need 2 tables, one per Type, listing the combinations of Control Procedures that can lead to the undesired outcome (
HCI_CMD_DISALLOWED
or disconnection).Type 1
Type 2
Type 3
Following tasks to do have been defined July 2020
Phase 1:
Phase 2:
Phase 3:
Phase 4:
Phase 5: (added march 2021):
Following only if code-size is an issue:
Design improvements (added august 2022):
See #39435 for the preparations that were done for the upmerge from topic-ble-llcp to main
Timeline in
main
:The text was updated successfully, but these errors were encountered: