I want to increase the MTU values to increase the throughput from my own service (currently based on NUS service) and to receive the data with pc-ble-driver-python with the 1M serialization firmware on an nrf52832 devboard and pc-ble-driver-py 0.11.3.
When sending from my firmware to the android nrf master control panel, the MTU can be set e.g. to 158 and also receive the UART notifications from the TX characteristic.
When I try to connect with pc-ble-driver-py I can connect to my service and see the notification data if the MTU is set to 63. When setting it to a value above the target resets when receiving the first notification. The linux nrf-connect v2.1.0 also resets the connectivity firmware with the high mtu setting!
Is there any buffer I have to set to a bigger value or what could be the reason for the reset? I tried to compare my python program to the pc-nrfutil/nordicsemi/dfu/dfu_transport_ble.py as it seems there the MTU is also set to a higher value but I can't find a buffer setting.
ATT MTU exchanged: conn_handle=0 att_mtu=65
ATT MTU exchange response: conn_handle=0
76 -> [00 9c 00 00 01 01 00 13 00 00 00 02 00 01 01 00 ]
type: VENDOR_SPECIFIC reliable:yes seq#:7 ack#:6 payload_length:10 data_integrity:1 header_checksum:fa err_code:0
75/ 0 <- []
type: ACK reliable: no seq#:0 ack#:0 payload_length:0 data_integrity:0 err_code:0
76/ 0 <- [01 9c 00 00 00 00 ]
type: VENDOR_SPECIFIC reliable:yes seq#:6 ack#:0 payload_length:6 data_integrity:1 header_checksum:cc err_code:0
77 -> []
type: ACK reliable: no seq#:0 ack#:7 payload_length:0 data_integrity:0 err_code:0
77/ 0 <- [02 38 00 00 00 00 00 00 00 13 00 01 00 00 00 00 ]
type: VENDOR_SPECIFIC reliable:yes seq#:7 ack#:0 payload_length:10 data_integrity:1 header_checksum:2a err_code:0
78 -> []
type: ACK reliable: no seq#:0 ack#:0 payload_length:0 data_integrity:0 err_code:0
78/ 0 <- [01 7e ]
type: LINK_CONTROL_PACKET reliable: no seq#:0 ack#:0 payload_length:2 data_integrity:0 err_code:0
[SYNC]
State change: STATE_ACTIVE -> STATE_RESET
79 -> []
type: RESERVED_5 reliable: no seq#:0 ack#:0 payload_length:0 data_integrity:0 err_code:0
Target Reset performed
79/ 0 <- [01 7e ]
type: LINK_CONTROL_PACKET reliable: no seq#:0 ack#:0 payload_length:2 data_integrity:0 err_code:0
[SYNC]State change: STATE_RESET -> STATE_UNINITIALIZED
81 -> [02 7d ]
type: LINK_CONTROL_PACKET reliable: no seq#:0 ack#:0 payload_length:2 data_integrity:0 err_code:0
[SYNC_RESP] 80 -> [01 7e ]
type: LINK_CONTROL_PACKET reliable: no seq#:0 ack#:0 payload_length:2 data_integrity:0 err_code:0
[SYNC]
80/ 0 <- [02 7d ]
type: LINK_CONTROL_PACKET reliable: no seq#:0 ack#:0 payload_length:2 data_integrity:0 err_code:0
[SYNC_RESP]
State change: STATE_UNINITIALIZED -> STATE_INITIALIZED
81/ 0 <- [03 fc 11 ]
type: LINK_CONTROL_PACKET reliable: no seq#:0 ack#:0 payload_length:3 data_integrity:0 err_code:0
[CONFIG [ sliding-window-size:1 out-of-frame:0 data-integrity-check-type:1 version-number:0 ]]
83 -> [04 7b 11 ]
type: LINK_CONTROL_PACKET reliable: no seq#:0 ack#:0 payload_length:3 data_integrity:0 err_code:0
[CONFIG_RESP [ sliding-window-size:1 out-of-frame:0 data-integrity-check-type:1 version-number:0 ]] 82 -> [03 fc 11 ]
type: LINK_CONTROL_PACKET reliable: no seq#:0 ack#:0 payload_length:3 data_integrity:0 err_code:0
[CONFIG [ sliding-window-size:1 out-of-frame:0 data-integrity-check-type:1 version-number:0 ]]
82/ 0 <- [04 7b 11 ]
type: LINK_CONTROL_PACKET reliable: no seq#:0 ack#:0 payload_length:3 data_integrity:0 err_code:0
[CONFIG_RESP [ sliding-window-size:1 out-of-frame:0 data-integrity-check-type:1 version-number:0 ]]
State change: STATE_INITIALIZED -> STATE_ACTIVE
Connection active