nRF connect mobile app stucks in bonding state

Description:

I’m encountering an issue when connecting chip to a mobile device. During the bonding process, the console log on the peripheral  confirms that all three phases of Bluetooth Low Energy pairing are completed successfully, and keys are distributed correctly.

However, in the nRF Connect app, the process remains stuck in the bonding state, which is unexpected. The OTA log also clearly shows that key distribution has occurred as expected.

  

Reproduction Steps:

  1. Use a  device for Bluetooth pairing.
  2. While performing this process extended advertising is enabled on bleprph .
  3. Connect from nRF Connect app to  device.
  4. Perform bonding with the  from a mobile device.
  5. Observe the peripheral’s console log  and the nRF Connect app during bonding.

Observed Behavior:

  • The peripheral console confirms successful completion of pairing and key distribution.
  • nRF Connect remains stuck in the bonding state.

Device Information:

  • Peripheral
  • Mobile Device: OnePlus 11R 5G,Redmi note 11 pro,oppo A15,Vivo 1920,One plus Nor CE 5G,RealME C15,Poco M6
  • App: nRF Connect
  • nRF Connect mobile app version : v4.29.1

nRF Connect Logs:
Below is the log captured during the issue:

nRF Connect, 2025-01-27
spoiu1234 (F4:12:FA:E3:A6:DA)
V 16:03:44.684 Connecting to F4:12:FA:E3:A6:DA...
D 16:03:44.684 gatt = device.connectGatt(autoConnect = false, TRANSPORT_LE, preferred PHY = LE 1M)
D 16:03:45.776 [Callback] Connection state changed with status: 0 and new state: CONNECTED (2)
I 16:03:45.776 Connected to F4:12:FA:E3:A6:DA
V 16:03:45.777 Discovering services...
D 16:03:45.777 gatt.discoverServices()
D 16:03:46.009 [Broadcast] Action received: android.bluetooth.device.action.ACL_CONNECTED
I 16:03:46.036 Connection parameters updated (interval: 7.5ms, latency: 0, timeout: 5000ms)
D 16:03:46.166 [Callback] Services discovered with status: 0
I 16:03:46.167 Services discovered
V 16:03:46.172 Generic Access (0x1800)
- Device Name [R] (0x2A00)
- Appearance [R] (0x2A01)
Generic Attribute (0x1801)
- Service Changed [I] (0x2A05)
   Client Characteristic Configuration (0x2902)
- Server Supported Features [R] (0x2B3A)
- Client Supported Features [R W] (0x2B29)
D 16:03:46.172 gatt.setCharacteristicNotification(00002a05-0000-1000-8000-00805f9b34fb, true)
I 16:03:46.254 Connection parameters updated (interval: 30.0ms, latency: 0, timeout: 5000ms)
I 16:03:46.704 PHY updated (TX: LE 2M, RX: LE 2M)
V 16:03:48.999 Starting pairing...
D 16:03:48.999 device.createBond()
D 16:03:49.039 [Broadcast] Action received: android.bluetooth.device.action.BOND_STATE_CHANGED, bond state changed to: BONDING (11)
D 16:03:49.502 [Broadcast] Action received: android.bluetooth.device.extra.PAIRING_VARIANT, pairing variant: CONSENT
V 16:05:07.737 Disconnecting...
D 16:05:07.737 gatt.disconnect()
D 16:05:07.793 [Callback] Connection state changed with status: 0 and new state: DISCONNECTED (0)
I 16:05:07.793 Disconnected


Expected Behavior:
Once key distribution is completed, the bonding process should complete successfully in the nRF Connect app as well.

Parents Reply Children
Related