I am trying the ble_app_gls example of nRF SDK v16.0 on nRF52 DK device. The only modification is change s132 to s112.
After download the app to nRF52 device, I can successfully bond to the GLS sample peripheral from the "nRF Connect" app on my Android phone. A 6 digit password was shown on RTT log terminal and I entered on phone side during bonding.
I then deleted the bonding from central side (via phone bluetooth settings) but not from the peripheral. Then from the phone side, I found that I can never bond to the device again, the RTT log terminal shows the following
00> <info> app_timer: RTC: initialized. 00> <info> app: Glucose example started with 1 peers. 00> <info> app: Fast advertising 00> <info> peer_manager_handler: Peer data updated in flash: peer_id: 0, data_id: Peer rank, action: Update, no change 00> <info> app: Connected 00> <info> peer_manager_handler: Connection secured: role: Peripheral, conn_handle: 0, procedure: Encryption 00> <info> peer_manager_handler: Peer data updated in flash: peer_id: 0, data_id: Peer rank, action: Update, no change 00> <info> app: Link secured. Role: 1. conn_handle: 0, Procedure: 0 00> <info> peer_manager_handler: Connection secured: role: Peripheral, conn_handle: 0, procedure: Encryption 00> <info> peer_manager_handler: Peer data updated in flash: peer_id: 0, data_id: Peer rank, action: Update, no change 00> <info> app: Link secured. Role: 1. conn_handle: 0, Procedure: 0 00> <info> app: Fast advertising 00> <info> app: Disconnected 00> <info> peer_manager_handler: Peer data updated in flash: peer_id: 0, data_id: Peer rank, action: Update, no change 00> <info> app: Connected 00> <info> peer_manager_handler: Connection secured: role: Peripheral, conn_handle: 0, procedure: Encryption 00> <info> peer_manager_handler: Peer data updated in flash: peer_id: 0, data_id: Peer rank, action: Update, no change 00> <info> app: Link secured. Role: 1. conn_handle: 0, Procedure: 0 00> <info> peer_manager_handler: Connection secured: role: Peripheral, conn_handle: 0, procedure: Encryption 00> <info> peer_manager_handler: Peer data updated in flash: peer_id: 0, data_id: Peer rank, action: Update, no change 00> <info> app: Link secured. Role: 1. conn_handle: 0, Procedure: 0 00> <info> app: Fast advertising 00> <info> app: Disconnected 00> <info> peer_manager_handler: Peer data updated in flash: peer_id: 0, data_id: Peer rank, action: Update, no change 00> <info> app: Connected 00> <info> peer_manager_handler: Connection secured: role: Peripheral, conn_handle: 0, procedure: Encryption 00> <info> peer_manager_handler: Peer data updated in flash: peer_id: 0, data_id: Peer rank, action: Update, no change 00> <info> app: Link secured. Role: 1. conn_handle: 0, Procedure: 0 00> <info> peer_manager_handler: Connection secured: role: Peripheral, conn_handle: 0, procedure: Encryption 00> <info> peer_manager_handler: Peer data updated in flash: peer_id: 0, data_id: Peer rank, action: Update, no change 00> <info> app: Link secured. Role: 1. conn_handle: 0, Procedure: 0 00> <info> app: Fast advertising 00> <info> app: Disconnected 00> <info> peer_manager_handler: Peer data updated in flash: peer_id: 0, data_id: Peer rank, action: Update, no change 00> <info> app: Connected 00> <info> peer_manager_handler: Connection security failed: role: Peripheral, conn_handle: 0x0, procedure: Bonding, error: 133 00> <warning> peer_manager_handler: Disconnecting conn_handle 0. 00> <info> app: BLE_GAP_EVT_AUTH_STATUS: status=0x85 bond=0x0 lv4: 0 kdist_own:0x0 kdist_peer:0x0 00> <info> app: Fast advertising 00> <info> app: Disconnected 00> <info> peer_manager_handler: Peer data updated in flash: peer_id: 0, data_id: Peer rank, action: Update, no change 00> <info> app: Connected 00> <info> peer_manager_handler: Connection security failed: role: Peripheral, conn_handle: 0x0, procedure: Bonding, error: 133 00> <warning> peer_manager_handler: Disconnecting conn_handle 0. 00> <info> app: BLE_GAP_EVT_AUTH_STATUS: status=0x85 bond=0x0 lv4: 0 kdist_own:0x0 kdist_peer:0x0 00> <info> app: Fast advertising 00> <info> app: Disconnected 00> <info> peer_manager_handler: Peer data updated in flash: peer_id: 0, data_id: Peer rank, action: Update, no change 00> <info> app: Connected 00> <info> peer_manager_handler: Connection security failed: role: Peripheral, conn_handle: 0x0, procedure: Bonding, error: 133 00> <warning> peer_manager_handler: Disconnecting conn_handle 0. 00> <info> app: BLE_GAP_EVT_AUTH_STATUS: status=0x85 bond=0x0 lv4: 0 kdist_own:0x0 kdist_peer:0x0 00> <info> app: Fast advertising 00> <info> app: Disconnected 00> <info> peer_manager_handler: Peer data updated in flash: peer_id: 0, data_id: Peer rank, action: Update, no change 00> <info> app: Connected 00> <info> peer_manager_handler: Connection security failed: role: Peripheral, conn_handle: 0x0, procedure: Bonding, error: 133 00> <warning> peer_manager_handler: Disconnecting conn_handle 0. 00> <info> app: BLE_GAP_EVT_AUTH_STATUS: status=0x85 bond=0x0 lv4: 0 kdist_own:0x0 kdist_peer:0x0 00> <info> app: Fast advertising 00> <info> app: Disconnected 00> <info> peer_manager_handler: Peer data updated in flash: peer_id: 0, data_id: Peer rank, action: Update, no change 00> <info> app: Connected 00> <info> peer_manager_handler: Connection security failed: role: Peripheral, conn_handle: 0x0, procedure: Bonding, error: 133 00> <warning> peer_manager_handler: Disconnecting conn_handle 0. 00> <info> app: BLE_GAP_EVT_AUTH_STATUS: status=0x85 bond=0x0 lv4: 0 kdist_own:0x0 kdist_peer:0x0 00> <info> app: Fast advertising 00> <info> app: Disconnected 00> <info> peer_manager_handler: Peer data updated in flash: peer_id: 0, data_id: Peer rank, action: Update, no change 00> <info> app: Connected 00> <info> app: BLE_GAP_EVT_AUTH_STATUS: status=0x1 bond=0x0 lv4: 0 kdist_own:0x0 kdist_peer:0x0 00> <info> app: Fast advertising 00> <info> app: Disconnected 00> <info> peer_manager_handler: Peer data updated in flash: peer_id: 0, data_id: Peer rank, action: Update, no change 00> <info> app: Connected 00> <info> peer_manager_handler: Connection security failed: role: Peripheral, conn_handle: 0x0, procedure: Bonding, error: 133 00> <warning> peer_manager_handler: Disconnecting conn_handle 0. 00> <info> app: BLE_GAP_EVT_AUTH_STATUS: status=0x85 bond=0x0 lv4: 0 kdist_own:0x0 kdist_peer:0x0 00> <info> app: Fast advertising 00> <info> app: Disconnected 00> <info> peer_manager_handler: Peer data updated in flash: peer_id: 0, data_id: Peer rank, action: Update, no change 00> <info> app: Connected 00> <info> peer_manager_handler: Connection security failed: role: Peripheral, conn_handle: 0x0, procedure: Bonding, error: 133 00> <warning> peer_manager_handler: Disconnecting conn_handle 0. 00> <info> app: BLE_GAP_EVT_AUTH_STATUS: status=0x85 bond=0x0 lv4: 0 kdist_own:0x0 kdist_peer:0x0 00> <info> app: Fast advertising 00> <info> app: Disconnected 00> <info> peer_manager_handler: Peer data updated in flash: peer_id: 0, data_id: Peer rank, action: Update, no change 00> <info> app: Connected 00> <info> peer_manager_handler: Connection security failed: role: Peripheral, conn_handle: 0x0, procedure: Bonding, error: 133 00> <warning> peer_manager_handler: Disconnecting conn_handle 0. 00> <info> app: BLE_GAP_EVT_AUTH_STATUS: status=0x85 bond=0x0 lv4: 0 kdist_own:0x0 kdist_peer:0x0 00> <info> app: Fast advertising 00> <info> app: Disconnected
From the log we can tell that the peripheral still keeps the peer central, but it kept rejecting the central's bonding request.
Is this behavior by design?