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

USB Serial DFU update softdevice fail


Just test SDK17.0.2 serial DFU demo project on Nordic PCA10100 board by USB serial.and use s140_nrf52_7.2.0_softdevice.hex

Got below exception. Any clue for it please?

Thanks.
E:\nrf52833\vota>nrfutil pkg generate --application app_new.hex --application-ve
rsion 2 --hw-version 52 --sd-req 0x0100 --key-file priv.pem SDK172_app_s1
40.zip
Zip created at SDK172_app_s140.zip

E:\nrf52833\vota>nrfutil dfu serial -pkg SDK172_app_s140.zip -p COM13

Traceback (most recent call last):
File "nordicsemi\__main__.py", line 1537, in
File "site-packages\click\core.py", line 764, in __call__
File "site-packages\click\core.py", line 717, in main
File "site-packages\click\core.py", line 1137, in invoke
File "site-packages\click\core.py", line 1137, in invoke
File "site-packages\click\core.py", line 956, in invoke
File "site-packages\click\core.py", line 555, in invoke
File "nordicsemi\__main__.py", line 1056, in serial
File "nordicsemi\__main__.py", line 970, in do_serial
File "nordicsemi\dfu\dfu.py", line 127, in dfu_send_images
File "nordicsemi\dfu\dfu.py", line 95, in _dfu_send_image
File "nordicsemi\dfu\dfu_transport_serial.py", line 256, in send_init_packet
File "nordicsemi\dfu\dfu_transport_serial.py", line 421, in __execute
File "nordicsemi\dfu\dfu_transport_serial.py", line 505, in __get_response
pc_ble_driver_py.exceptions.NordicSemiException: Response Code InvalidObject
[10464] Failed to execute script __main__

  • Hi, 

    Just test SDK17.0.2 serial DFU demo project on Nordic PCA10100 board by USB serial.and use s140_nrf52_7.2.0_softdevice.hex

    I think you use pca10100e_usb or pca10100e_usb_debug. 

    pc_ble_driver_py.exceptions.NordicSemiException: Response Code InvalidObject

    This means that the private key used to sign the image with is not the same private key used to generate the public key found in the bootloader code(dfu_public_key.c)

    When you build a zip file with your own private key, you must also build the bootloader with the public key corresponding to that private key. Otherwise, the checking of the signature of the update will fail. 

    When doing only a SoftDevice update, the SoftDevice must be of the same Major Version as the old bootloader may not be compatible with the new SoftDevice. So if you are doing a SD major version update, you should combine it with a bootloader update. See the DFU package combinations

    -Amanda H.

Related