After changing to a new computer, my Bluetooth connection started failing.
The new computer has Bluetooth 5.3(HCI 12.13944 / LMP 12.13944).
"Our Observations" and "The workaround we adopted" are shown below.
I would appreciate your comments and if you could give me a better solution I would be very grateful.
[SDK And Soft Device]
Nordic SDK:nRF5_SDK_17.1.0 (Soft Device:S113)
[Details of the phenomenon]
・After starting the PC, the first Bluetooth connection will always be successful.
If you disconnect the Bluetooth connection, subsequent Bluetooth connection attempts will fail.
(※ Connections may occasionally succeed. The success rate is about 10%)
・The error that occurs when the connection fails is "LMP Error Transaction Collision/LL Procedure Collision."
(Bluetooth status code is "#define BLE_HCI_STATUS_CODE_LMP_ERROR_TRANSACTION_COLLISION 0x23".)
・If you disable and then enable a Bluetooth device in Device Manager, the first Bluetooth connection will always be successful.
・Even if I turn the Bluetooth function off and then on in my computer's settings, the Bluetooth connection fails.
・If you use a Bluetooth 5.3(HCI 12.56518 / LMP 12.45992) dongle, there will be no issues.
This issue only occurs when using the computer's built-in Bluetooth function.
[Our Observations]
The nRF52833 errata has "The PHYEND event is generated 16 μs too late when compared to the actual end of frame on air.".
infocenter.nordicsemi.com/index.jsp
We believe that the timing of the collision is avoided because the connection process takes time the first time.
We believe that the reason for the improvement by using the dongle is either the difference in the HCI LMP version or that the timing of the collision is avoided by using the dongle.
[The workaround we adopted]
Changed "rx_phys" and "tx_phys" of "ble_gap_phys_t" to "BLE_GAP_PHY_1MBPS".
In our environment, this workaround resolved the issue of Bluetooth connection failures.