Hi there,
I am trying to transmit data with high MTUs via pc-ble-driver-py. The data is sent from an nrf52840 with own firmware.
After the bug in nrfutil was fixed, https://devzone.nordicsemi.com/f/nordic-q-a/55269/nrfutil-dfu-upload-extremely-slow I implemented my own script based on this.
I am transmitting data every 10ms from the firmware via NUS (notifications) to the PC.
On linux I can transfer data without problems with MTU set to 247. On windows after some time, the data is just not received any longer. It seems the data is not sent any longer from the firmware (I get NRF_ERROR_RESOURCES from ble_nus_data_send/sd_ble_gatts_hvx) and can't see any errors on the PC side (with debugging set high).
DEBUG:pc_ble_driver_py.observers:evt> on_gattc_evt_hvx status(BLEGattStatusCode.success) conn(0) error_handle(0) attr_handle(18) hvx_type(BLEGattHVXType.notification) data([0, 93, 98, 91, 10, 2, 24, 8, 16, 180, 131, 1, 42, 12, 0, 0, 28, 189, 0, 0, 198, 60, 0, 96, 123, 63, 50, 12, 236, 81, 152, 63, 133, 235, 113, 63, 205, 204, 156, 191, 61, 0, 240, 151, 65, 90, 48, 229, 211, 3, 228, 208, 3, 174, 209, 3, 246, 201, 3, 163, 227, 3, 191, 222, 3, 236, 231, 3, 246, 208, 3, 229, 223, 3, 182, 242, 3, 186, 211, 3, 141, 229, 3, 187, 219, 3, 161, 222, 3, 142, 246, 3, 205, 208, 3]) DEBUG:pc_ble_driver_py.observers:evt> on_gattc_evt_hvx status(BLEGattStatusCode.success) conn(0) error_handle(0) attr_handle(18) hvx_type(BLEGattHVXType.notification) data([0, 93, 98, 91, 10, 2, 24, 8, 16, 200, 131, 1, 42, 12, 0, 0, 23, 189, 0, 0, 172, 60, 0, 192, 122, 63, 50, 12, 205, 204, 156, 63, 102, 102, 134, 63, 174, 71, 161, 191, 61, 0, 216, 153, 65, 90, 48, 226, 211, 3, 219, 208, 3, 162, 209, 3, 214, 201, 3, 216, 227, 3, 149, 223, 3, 250, 231, 3, 244, 208, 3, 229, 223, 3, 177, 242, 3, 187, 211, 3, 141, 229, 3, 188, 219, 3, 162, 222, 3, 139, 246, 3, 205, 208, 3]) DEBUG:pc_ble_driver_py.observers:evt> on_gattc_evt_hvx status(BLEGattStatusCode.success) conn(0) error_handle(0) attr_handle(18) hvx_type(BLEGattHVXType.notification) data([0, 93, 98, 91, 10, 2, 24, 8, 16, 220, 131, 1, 42, 12, 0, 0, 29, 189, 0, 0, 172, 60, 0, 144, 123, 63, 50, 12, 41, 92, 143, 63, 246, 40, 60, 63, 113, 61, 170, 191, 61, 0, 152, 153, 65, 90, 48, 223, 211, 3, 227, 208, 3, 167, 209, 3, 243, 201, 3, 163, 227, 3, 192, 222, 3, 226, 231, 3, 244, 208, 3, 226, 223, 3, 184, 242, 3, 186, 211, 3, 130, 229, 3, 190, 219, 3, 160, 222, 3, 146, 246, 3, 207, 208, 3])
If I reduce the MTU on windows to 162, all data is sent and received correctly.
The code is exactly the same on windows and linux. I am using pc-ble-driver-py 0.14.1
Florian