This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

packet receipt notification for serial DFU

Hi Support Team,

By testing SDK15.0.0/Serial DFU, I find that if we use non-default baud rate(115200), such as 9600 or 38400, we have to assign a non-zero value to  -prn(packet receipt notification) option, like below:

nrfutil dfu serial -p COM2 -pkg .\dfu_pkg.zip -b 38400 -prn 1

Otherwise, the nrfutil will give an error message as:

"Did not receive checksum response from DFU target. If MSD is enabled on the target device, try to disable it ref. ">wiki.segger.com/index.php

In infocenter(link), it describes like this:

Initialization

Before the actual DFU process can start, the DFU controller must set the Packet Receipt Notification (PRN) value and obtain the maximum transmission unit (MTU). In most cases, the PRN can be set to 0 to disable checksums being sent back to the controller during transfers. However, if the transport layer is unreliable, set the PRN to a value other than 0.

Could you help me understand this PRN option? And which value I should set while using non-default baud rate for serial DFU?

Thanks,

YQ

  • I believe the PRN sets the number of packets you can send until your receive a packet receipt notification. From my understanding, this means that if you set the PRN to 50, you can send 50 packets before a PRN is generated. Regarding the value to set, I would try a few numbers & see what happens. The picture in the image you sent sets the PRN to 256, so you could try that.

Related