We're using nrfutil v.6.1.0 in order to perform DFU updates to our target board using nrf52840-Dongle, and we're experiencing some issues. Everytime we try a download, even if sometimes we're able to successfully perform it, we often witness a high failure rate, mostly caused by random errors happening while trying to connect to the target board, like the following:
pc_ble_driver_py.exceptions.NordicSemiException: Failed to ble_gattc_exchange_mtu_req. Error code: NRF_ERROR_INVALID_PARAM
pc_ble_driver_py.exceptions.NordicSemiException: MTU exchange request failed. Common causes are: missing att_mtu setting in ble_cfg_set, different config tags used in ble_cfg_set and connect.
We tried with a lower MTU, or disabling the MTU negotiation inside the nrfutil python script, but it did not solve the issue.
We tried to perform the download using nRF Connect v3.5.0 (Bluetooth Low Energy App v.2.4.0) using the same dongle, and we experienced no issues at all, 100% download success rates;
so we assumed that the issue was not inside the nrf connectivity Fw of the dongle, nor in our target board bootloader.
We did some research and found out that at the time of writing, nRF Connect v3.5.0 relies on pc-ble-driver-js v2.7.2 library to perform DFU updates, while nrfutil uses pc-ble-driver-py v0.14.2.
Both libraries relies on pc-ble-driver library but the phyton lib is outdated and currently points to pc-ble-driver v4.1.1, while the Node.JS lib points to pc-ble-driver v4.1.2.
In the release notes of pc-ble-driver v4.1.2, the following it's stated:
Bug fixes
- Fixed an issue where events after SD_BLE_GAP_CONNECT were occasionally not received
- Fixed an issue where USB connectivity firmware hangs after receiving many notifications
We're suspecting that those fixes are related to the issues we're experiencing and so we're wondering if you could update pc-ble-driver-py to the latest pc-ble-driver version and release an updated nrfutil tool.
Since we're planning to use nrfutil to perform updates on the company assembly line by december, we cannot rely on the current unstable behavior, so the issue is quite urgent and we'd like to have a stable version asap.
Can you please comment on our considerations? could it be the root cause? are you already planning a new release of nrfutil? if yes, when?
Thank you very much for your support.
Regards.