This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

PeerManager error (error: 133)

I have a question about PeerManager.

SDK: 15.3.0
example: ble_app_multirole_lesc (I changed the source from the sample)
using device: EYSHJNZWZ (nRF52832)
connection device: Android (Bluetooth v5.0)

When trying to connect with LESC security level using PeerManager, the following error occurred.
Please tell me the cause.

<info> peer_manager_handler: Connection security failed: role: Peripheral, conn_handle: 0x0, procedure: Bonding, error: 133
<warning> peer_manager_handler: Disconnecting conn_handle 0.

I know that this error means "BLE_GAP_SEC_STATUS_PAIRING_NOT_SUPP".
The connection partner supports pairing.
I confirmed that I could connect many times.
However, this error may occur.
Also, after this error occurs, the same error will occur no matter how many times you try to connect.
This error does not occur after reset.

  • Excuse me, it seems that the explanation was not enough.

    I know about the meaning of commenting out itself.
    In the sample of "ble_app_multirole_lesc", there is no processing for "BLE_GAP_EVT_SEC_PARAMS_REQUEST".
    Therefore, there is no process to comment out.
    What process should you comment out?

  • Hi

    BLE_GAP_EVT_SEC_PARAMS_REQUEST should process a request to provide security parameters, so please try commenting BLE_GAP_EVT_SEC_PARAMS_REQUEST, in order to see if this lets the peer manager handle bonding and pairing correctly. Have you been able to test your code with a DK yet?

    Best regards,

    Simon

  • The log when "BLE_GAP_EVT_SEC_PARAMS_REQUEST" occurs is shown below.
    At this time, nothing is done except log output.

    <info> app: [r_ble_event] BLE_GAP_EVT_SEC_PARAMS_REQUEST
    <info> app: [r_bs_on_evt_sec_params_request] bond=0x1, mitm=0x1, lesc=1, keypress=0x0, io_caps=0x1
    <info> app: [r_bs_on_evt_sec_params_request] oob=0x0, min_key_size=0x0, max_key_size=0x10, kdist_own=0x3, kdist_peer=0xB3

  • The log from the start of advertisement to disconnection due to a security error is shown below.

    <info> app: [e_bp_adv_handler] BLE_ADV_EVT_FAST
    <debug> nrf_ble_gatt: Requesting to update ATT MTU to 30 bytes on connection 0x0.
    <debug> nrf_ble_gatt: Updating data length to 34 on connection 0x0.
    <info> app: [r_ble_event] BLE_GAP_EVT_CONNECTED
    <info> app: [r_bs_pm_evt_handler] PM_EVT_CONN_SEC_PARAMS_REQ : bond=0, mitm=0, lesc=0, keypress=0, io_caps=0x0
    <info> app: [r_bs_pm_evt_handler] PM_EVT_CONN_SEC_PARAMS_REQ : oob=0, min_key_size=0x4, max_key_size=0x0, kdist_own=0x20, kdist_peer=0x81
    <debug> nrf_ble_gatt: Peer on connection 0x0 requested an ATT MTU of 30 bytes.
    <debug> nrf_ble_gatt: Updating ATT MTU to 30 bytes (desired: 30) on connection 0x0.
    <info> app: [r_bs_pm_evt_handler] PM_EVT_CONN_SEC_PARAMS_REQ : bond=1, mitm=1, lesc=0, keypress=1, io_caps=0x1
    <info> app: [r_bs_pm_evt_handler] PM_EVT_CONN_SEC_PARAMS_REQ : oob=0, min_key_size=0x0, max_key_size=0x10, kdist_own=0x3, kdist_peer=0xB3
    <info> app: [r_bs_pm_evt_handler] PM_EVT_CONN_SEC_CONFIG_REQ
    <info> app: [r_ble_event] BLE_GAP_EVT_SEC_PARAMS_REQUEST
    <info> app: [r_bs_on_evt_sec_params_request] bond=0x1, mitm=0x1, lesc=1, keypress=0x0, io_caps=0x1
    <info> app: [r_bs_on_evt_sec_params_request] oob=0x0, min_key_size=0x0, max_key_size=0x10, kdist_own=0x3, kdist_peer=0xB3
    <debug> nrf_ble_gatt: Data length updated to 34 on connection 0x0.
    <debug> nrf_ble_gatt: max_rx_octets: 34
    <debug> nrf_ble_gatt: max_tx_octets: 34
    <debug> nrf_ble_gatt: max_rx_time: 2120
    <debug> nrf_ble_gatt: max_tx_time: 2120
    <info> app: [e_gatt_evt_handler] NRF_BLE_GATT_EVT_DATA_LENGTH_UPDATED
    <info> app: [e_gatt_evt_handler] 	conn_handle : 0x0, data_length : 34
    <info> app: [e_ble_evt_handler] ble event
    <info> app: [r_ble_event] BLE_GAP_OPT_AUTH_PAYLOAD_TIMEOUT
    <debug> nrf_ble_gatt: ATT MTU updated to 30 bytes on connection 0x0 (response).
    <info> app: [e_gatt_evt_handler] NRF_BLE_GATT_EVT_ATT_MTU_UPDATED
    <info> app: [e_gatt_evt_handler] 	central : 30, peripheral : 30
    <info> app: [r_ble_event] BLE_GATTC_EVT_EXCHANGE_MTU_RSP
    <info> app: [r_ble_on_evt_gattc_exchange_mtu_rsp] server_rx_mtu : 30
    <info> peer_manager_handler: Connection security failed: role: Peripheral, conn_handle: 0x0, procedure: Bonding, error: 133
    <warning> peer_manager_handler: Disconnecting conn_handle 0.
    <info> app: [r_bs_pm_evt_handler] PM_EVT_CONN_SEC_FAILED : error_src=0x0, error=0x85, procedure=0x1
    <info> app: [e_ble_evt_handler] ble event
    <info> app: [r_ble_event] BLE_GAP_EVT_AUTH_STATUS
    <info> app: [r_bs_on_evt_auth_status] <Error> Auth status err : 0x85
    <info> app: [r_bs_on_evt_auth_status] error_src=0x0, status=0x85, bonded=0x0, lesc=0
    <info> app: [r_bs_on_evt_auth_status] sm1_levels : lv1=0, lv2=0, lv3=0, lv4=0
    <info> app: [e_bp_adv_handler] BLE_ADV_EVT_FAST
    <info> app: [r_ble_event] BLE_GAP_EVT_DISCONNECTED
    <info> app: [r_bp_on_evt_disconnected] p_disconnected->reason : 0x13
    

  • Hi

    Have you been able to test this on a Development Kit to see if it occurs using a DK yet? You can also try setting the clock configurations to 0 instead of 1 to see if this occurs with other LF clocks as well. 

    Best regards,

    Simon

Related