how to issue rejection to conn parameters update from peripheral device

I don't see how we can send 'conn param update request' rejection. I am getting BLE_GAP_EVT_CONN_PARAM_UPDATE_REQUEST and there is way to update the conn params using sd_ble_gap_conn_param_update() API but how do you send a rejection 

  • Hi!

    See this Message Sequence Chart:

    https://infocenter.nordicsemi.com/topic/com.nordic.infocenter.s132.api.v7.2.0/group___b_l_e___g_a_p___c_e_n_t_r_a_l___c_p_u___m_s_c.html?cp=5_7_3_2_2_1_5_2

    To reject, call sd_ble_gap_conn_param_update(conn_handle,NULL). If NULL is provided on a central role and in response to a BLE_GAP_EVT_CONN_PARAM_UPDATE_REQUEST, the peripheral request will be rejected.

  • I am missing something. The peripheral device doesn't respond to my request after rejecting all the conn param request. Should I have accepted it ?

    43 6.573 c9:dc:9c:90:ac:62 LE 1M LE LL 34 149µs CONNECT_IND
    44 6.575 Master_0x1be64395 LE 1M ATT 7 1251µs Sent Exchange MTU Request, Client Rx MTU: 247
    45 6.575 Slave_0x1be64395 LE 1M LE LL 0 151µs Empty PDU
    46 6.605 Master_0x1be64395 LE 1M LE LL 9 29632µs Control Opcode: LL_LENGTH_REQ
    47 6.605 Slave_0x1be64395 LE 1M ATT 7 151µs Rcvd Exchange MTU Response, Server Rx MTU: 247
    48 6.635 Master_0x1be64395 LE 1M ATT 13 29560µs f0ff Sent Find By Type Value Request, GATT Primary Service Declaration, Handles: 0x0001..0xffff
    49 6.635 Slave_0x1be64395 LE 1M LE LL 0 151µs Empty PDU
    50 6.665 Master_0x1be64395 LE 1M LE LL 0 29587µs Empty PDU
    51 6.665 Slave_0x1be64395 LE 1M LE LL 2 151µs Control Opcode: LL_UNKNOWN_RSP
    52 6.695 Master_0x1be64395 LE 1M LE LL 0 29673µs Empty PDU
    53 6.695 Slave_0x1be64395 LE 1M ATT 9 151µs Rcvd Find By Type Value Response
    54 6.725 Master_0x1be64395 LE 1M ATT 11 29615µs Sent Read By Type Request, GATT Characteristic Declaration, Handles: 0x0014..0x0019
    55 6.725 Slave_0x1be64395 LE 1M LE LL 0 151µs Empty PDU
    56 6.755 Master_0x1be64395 LE 1M LE LL 0 29603µs Empty PDU
    57 6.755 Slave_0x1be64395 LE 1M ATT 20 151µs Rcvd Read By Type Response, Attribute List Length: 2, Unknown, Unknown
    58 6.785 Master_0x1be64395 LE 1M ATT 9 29532µs Sent Find Information Request, Handles: 0x0017..0x0017
    59 6.785 Slave_0x1be64395 LE 1M LE LL 0 151µs Empty PDU
    60 6.815 Master_0x1be64395 LE 1M LE LL 0 29620µs Empty PDU
    61 6.815 Slave_0x1be64395 LE 1M ATT 10 151µs Rcvd Find Information Response, Handle: 0x0017 (Unknown: Unknown: Client Characteristic Configuration)
    62 6.845 Master_0x1be64395 LE 1M ATT 9 29611µs Sent Write Request, Handle: 0x0017 (Unknown: Unknown: Client Characteristic Configuration)
    63 6.845 Slave_0x1be64395 LE 1M LE LL 0 150µs Empty PDU
    64 6.875 Master_0x1be64395 LE 1M LE LL 0 29619µs Empty PDU
    65 6.875 Slave_0x1be64395 LE 1M ATT 5 151µs Rcvd Write Response, Handle: 0x0017 (Unknown: Unknown: Client Characteristic Configuration)
    66 6.875 Master_0x1be64395 LE 1M LE LL 0 150µs Empty PDU
    67 6.875 Slave_0x1be64395 LE 1M L2CAP 16 151µs Connection Parameter Update Request
    68 6.905 Master_0x1be64395 LE 1M L2CAP 10 29060µs Connection Parameter Update Response (Rejected)
    69 6.905 Slave_0x1be64395 LE 1M LE LL 0 151µs Empty PDU
    70 6.935 Master_0x1be64395 LE 1M LE LL 0 29612µs Empty PDU
    71 6.935 Slave_0x1be64395 LE 1M L2CAP 16 150µs Connection Parameter Update Request
    72 6.965 Master_0x1be64395 LE 1M L2CAP 10 29563µs Connection Parameter Update Response (Rejected)
    73 6.965 Slave_0x1be64395 LE 1M LE LL 0 151µs Empty PDU
    74 6.995 Master_0x1be64395 LE 1M LE LL 0 29609µs Empty PDU
    75 6.995 Slave_0x1be64395 LE 1M L2CAP 16 151µs Connection Parameter Update Request
    76 7.025 Master_0x1be64395 LE 1M L2CAP 10 29561µs Connection Parameter Update Response (Rejected)
    77 7.025 Slave_0x1be64395 LE 1M LE LL 0 151µs Empty PDU
    78 7.055 Master_0x1be64395 LE 1M LE LL 0 29610µs Empty PDU
    79 7.055 Slave_0x1be64395 LE 1M L2CAP 16 151µs Connection Parameter Update Request
    80 7.085 Master_0x1be64395 LE 1M L2CAP 10 29561µs Connection Parameter Update Response (Rejected)
    81 7.085 Slave_0x1be64395 LE 1M LE LL 0 150µs Empty PDU

    ...
    130 7.835 Master_0x1be64395 LE 1M ATT 12 29688µs 4154490d0a Sent Write Command, Handle: 0x0019 (Unknown: Unknown)
    131 7.865 Master_0x1be64395 LE 1M ATT 12 29827µs 4154490d0a Sent Write Command, Handle: 0x0019 (Unknown: Unknown)

    still no response from peripheral device.

  • Hi!

    Could you save and upload the sniffer trace here?

  • when i changed the write command to write request (w/ response) everything seems to work. Not sure why. I didn't save the log. When I accepted one of the connection parameters update request, it didn't work until i changed the write command to write request (w/ response) and it started working. Not sure why though

Related