NordicSemiconductor / IOS-nRF-Connect-Device-Manager

A mobile management library for devices supporting nRF Connect Device Manager.
https://www.nordicsemi.com/Software-and-tools/Software/nRF-Connect-SDK
Apache License 2.0
90 stars 41 forks source link

Fix for failed DFU when first sending 'echo' messages from Device Tab #80

Closed dinesharjani closed 1 year ago

dinesharjani commented 1 year ago

If we select a Device, then send multiple messages from Device Tab, then go to Image and perform a DFU, it'd stall. It'd work with Pipelining Disabled, but not with Pipelining. I chased this issue to the ends of the Earth. In the end, I think what was happening is that the firmware / peripheral was not returning the messages because within the same connection, the Sequence Numbers were switching back from above zero to zero, because the connection is kept, but not the manager(s), which each track their own Sequence Number. So obviously if commands with, say, sequence numbers 0-7 were sent to and replied to, and then we start DFU with sequence number 0, obviously the firmware is not going to reply back.