[riot-notifications] [RIOT-OS/RIOT] sys: provide over-the-air update mechanism (#8902)

Koen Zandberg notifications at github.com
Tue Apr 24 22:11:11 CEST 2018

I noticed that the 5th block (block_number 4) is missed by the node sometimes. This because the device is busy with the signature verification.

So the sequence I noticed is that the block_number 3 arrives, the device starts checking the signature, then the coap-client retransmit block_number 3. After the verification two `continue` answers are send. But what happens is that after the first answer, block_number 4 is transmitted, but somehow not received by the node. The second `continue` from block_number 3 is then received by the coap-client, which then continues to block_number 5.

I'm not completely sure why block_number 4 is dropped at the node, but this might be some kind of buffering problem. I don't think the client is at fault here, the blockwise rfc doesn't specify whether the block numbers between request and reply should match. Attached is a [zipped pcap](https://github.com/RIOT-OS/RIOT/files/1944412/ota_coap.zip) of the exchange. I can provide more information if necessary.

The somewhat ugly fix here is to not reply to unexpected block_number 3 packets, so only one continue is ever send to any number of arriving block_number 3 packets.

You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.riot-os.org/pipermail/notifications/attachments/20180424/baea5004/attachment-0001.html>

More information about the notifications mailing list