Hi.
Encountering an intermittent issue where, after a DFU (either OTA using Nordic Device Manager or over usb serial using dfu-util on Linux), the image is reportedly in Slot 1 with the pending flag set to true, but upon a reset, the boot loader is not swapping it into Slot 0 and booting into the image. The module is a custom board which does not easily accommodate RTT SWD logging, so I'm looking for an approach to help diagnose the issue.
Using mcumgr (or the Read option of Nordic Device Manager), the listing of the images yields:
mcumgr -c acm0 image list
Images:
image=0 slot=0
version: 0.0.0
bootable: true
flags: active confirmed
hash: fb4645bfcea6523ab6a4d3af51f88e3d828fc983eb6cd3b5decece6700f5fe11
image=0 slot=1
version: 0.0.0
bootable: true
flags: pending
hash: f5a1c8749062301e28aae5f75ca02c8bc247af34a333064cb71203571cc15bd8
Split status: N/A (0)
But any attempt to set the test flag, upload a new image, etc, ultimately results in:
DEBU[2022-03-31 09:03:13.148] rx nmp response: 00000000 03 00 00 06 00 01 42 01 bf 62 72 63 02 ff |......B..brc..|
DEBU[2022-03-31 09:03:13.148] Received nmp rsp: &{NmpBase:{hdr:{Op:3 Flags:0 Len:6 Group:1 Seq:66 Id:1}} Rc:2 Off:0}
DEBU[2022-03-31 09:03:13.148] No listener for incoming NMP message
DEBU[2022-03-31 09:03:13.162] Tx serial
and zero progress shown on the progress indicator.
Example image upload:
mcumgr image upload myapp-dfu.bin -c acm0 -ldebug -t240
Example test:
> mcumgr -c acm0 -t120 image test f5a1c8749062301e28aae5f75ca02c8bc247af34a333064cb71203571cc15bd8
Error: NMP timeout
Not sure how to interpret this or how to proceed.