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

Issue in nrfutil to execute thread DFU on raspberry Pi3

Hello,

I am using "nRF5_SDK_for_Thread_and_Zigbee_v3.1.0_c7c4730" for NCP as well as other thread devices.
nrfutil version: 5.2.0
RPI3 image: RaspPi_OT_Border_Router_Demo_v3.1.0-1.alpha.img

I am using nRF52840 dongle for NCP device  which i attach with my RPI3.

I want to perform the DFU keeping the existing thread network working.

I have tried to do the thread DFU using nRF util in raspberry PI.

I get following output:

$ sudo python2.7 nordicsemi/__main__.py dfu thread -pkg ../../app_dfu_package.zip -p /dev/ttyACM1 --channel 24 --panid 4396
Address not specified. Using ff03::1 (all Thread nodes)
Using connectivity board at serial port: /dev/ttyACM1
2019-12-09 15:14:01,632 Failed to reset NCP. Please flash connectivity firmware.
Traceback (most recent call last):
  File "nordicsemi/__main__.py", line 1375, in thread
    transport.open()
  File "/usr/local/lib/python2.7/dist-packages/nordicsemi/thread/tncp.py", line 224, in open
    raise Exception('Failed to reset NCP. Please flash connectivity firmware.')
Exception: Failed to reset NCP. Please flash connectivity firmware.

Meanwhile i have tried adding one more USB dongle and the same process but the result is same.

Note: NCP firmware is correct as well as i have double checked the Com port for USB dongles.

Do you have any documentation explaining the Thread DFU process using nrfutil also the implementation notes on thread COAP server will be very helpul.

Parents
  • Hi,

    Sorry for the late reply. Are you running the unmodified NCP code from the SDK examples? I am afraid this example does not include any DFU code.

    Take a look at the Thread Secure OTA DFU example if you want to test Thread DFU. You will need a nRF52840 DK to run the DFU server using nrfutil.

    Best regards,

    Marjeris

  • Hello Marjeris,

    Thanks for the response.

    Yes i am using unmodified NCP hex (Path/To/SDK/examples/thread/ncp/ftd/usb/hex/nrf52840_xxaa_mbr_pca10059.hex) 

    for nRF52840 Dongle PCA10059 (NCP device) with RPI to act as NCP host.

    Question: is it necessary to use only devkit as a NCP for the OTA?

    I do not require to do the OTA in the NCP itself. I just wanted to perform the OTA of other nodes in the network. 

    Question: Do i still need to integrate DFU code in NCP ?

    I have taken exactly the same example Thread Secure OTA DFU example you are talking about for the Thread DFU client.

    Just for a note I faced many issues installing pc-ble-driver on RPI3 which i resolved somehow but it was very tricky. Any set-up guide will be helpful for future set-up.

Reply
  • Hello Marjeris,

    Thanks for the response.

    Yes i am using unmodified NCP hex (Path/To/SDK/examples/thread/ncp/ftd/usb/hex/nrf52840_xxaa_mbr_pca10059.hex) 

    for nRF52840 Dongle PCA10059 (NCP device) with RPI to act as NCP host.

    Question: is it necessary to use only devkit as a NCP for the OTA?

    I do not require to do the OTA in the NCP itself. I just wanted to perform the OTA of other nodes in the network. 

    Question: Do i still need to integrate DFU code in NCP ?

    I have taken exactly the same example Thread Secure OTA DFU example you are talking about for the Thread DFU client.

    Just for a note I faced many issues installing pc-ble-driver on RPI3 which i resolved somehow but it was very tricky. Any set-up guide will be helpful for future set-up.

Children
No Data
Related