Beware that this post is related to an SDK in maintenance mode
More Info: Consider nRF Connect SDK for new designs
This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

serial secure bootloader stops in mid session

Hi, I have been running into some problems with the serial secure bootloader example in the SDKv13.1.

I build the example project from the SDK v13.1 with a custom generated public key file, and only flash SD + BL to the eval board to test.  The firmware package  used includes (BL + SD + APP).  The key and the firmware package work fine as I have used them for OTA BLE DFU upgrades. 

When initiating the dfu process through nrfutil,  it appears that everything is starting up, and packages are getting transferred over, but at 78% I get a error saying that serial port does not respond to ping.  This is repeatable and the progress bar always shows 78% when the error occurs.

Any insight into this is greatly appreciated, enclosed is a screen shot of the error.  

I will try to provide more information later by turning nrf_log on,  I have a project that integrates both serial and ble transport layer with logging turned on, but decided to validate the behaviour of example serial bootloader by itself before trying on my own to better isolate potential errors. 

Best regards,

Jian 

Parents
  • Hi, I have updated the serial bootloader example to log to SEGGER RTT, and attempted the DFU again.  By digging into the nrfutil python code, it seems there may be several issues.

    in the dfu_transport_serial.py, when the serial port is opened, a ping (OP_CODE 0x09, message length 1 byte) is sent apparently.  On the BLE side, this op code is unknown, and a response [0x09, 0x03] is sent back.  However, this is ignored by the nrfutil python scripts somehow.

    I tried setting the ping_success to true in the python script to get to the next step of the nrfutil dfu process to keep sending the package content, but there seems to be additional errors.

    Am I using a wrong version of nrfutil that is not supported here?  Enclosed are the log from python and SEGGER RTT   

Reply
  • Hi, I have updated the serial bootloader example to log to SEGGER RTT, and attempted the DFU again.  By digging into the nrfutil python code, it seems there may be several issues.

    in the dfu_transport_serial.py, when the serial port is opened, a ping (OP_CODE 0x09, message length 1 byte) is sent apparently.  On the BLE side, this op code is unknown, and a response [0x09, 0x03] is sent back.  However, this is ignored by the nrfutil python scripts somehow.

    I tried setting the ping_success to true in the python script to get to the next step of the nrfutil dfu process to keep sending the package content, but there seems to be additional errors.

    Am I using a wrong version of nrfutil that is not supported here?  Enclosed are the log from python and SEGGER RTT   

Children
No Data
Related