Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Conversation

dinesharjani
Copy link
Contributor

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.

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.
@dinesharjani dinesharjani added the bug Something isn't working label Sep 27, 2022
@dinesharjani dinesharjani self-assigned this Sep 27, 2022
@dinesharjani dinesharjani merged commit 5dbe864 into NordicSemiconductor:master Sep 27, 2022
@dinesharjani dinesharjani deleted the fix-devicecontroller-kept-open-connection branch September 27, 2022 12:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant