Bluetooth: Host: Support concurrent initiating and scanning
The HCI command LE Read Supported States command returns if the controller supports running the scanner and initiator roles in parallel. This commit utilizes this information in the host: - It does not prevent initiating a connection when the scanner is running - It does not prevent the host from restarting the background scanner when there the host wants to auto-initiate a connection. - It does not stop the scanner when the host wants to auto-initiate a connection. To support this feature, the scanner and initiator always have to use the same address. This because the HCI command LE Set Random Address cannot be issued after the initiator or scanner has started. 1. When privacy is disabled, the scanner has to use its identity address to ensure it uses the same address as the initiator. 2. Only one identity is supported. To simplify the implementation, it is a requirement to use extended advertising commands to avoid interfering with the random address used by the advertiser(s). Also, it is a requirement to never use time-limited scanning, as RPA this feature does not work when privacy is being used. See https://github.com/zephyrproject-rtos/zephyr/issues/73634 . The changes in this commit will be tested out of tree as the Zephyr Bluetooth Controller does not support this functionality. Signed-off-by:Rubin Gerritsen <rubin.gerritsen@nordicsemi.no>
Loading
Please sign in to comment