nRF Desktop Programmer Tool always fails to flash nRF52840 dongle

Hi,

I can't program nRF52840 dongle using Programmer Tool on Linux.

Dongle is visible, can be selected and memory content read without any problems but file write attempt fails just after upload stage with message:
Failed with exit code 1. One or more program tasks failed: * EB0C69E9C501: requestSelect failed (Generic) Message: Failed, requestSelect failed.

Link to the screencast video: https://nextcloud.andrzejskiba.com/index.php/s/YFTzBQc6xwNDM7S

  • I have created firmware package to try nrfutil directly via commad line:
    nrfutil dfu usb-serial -pkg deploy/central_pca10059_1.8.1-8.zip -p /dev/ttyACM0

    It also fails but with two different results, first error message:

    [########################------------] 68% 00:00:15
    Traceback (most recent call last):
    File "nordicsemi/dfu/dfu_transport_serial.py", line 301, in send_firmware
    File "nordicsemi/dfu/dfu_transport_serial.py", line 475, in __stream_data
    File "nordicsemi/dfu/dfu_transport_serial.py", line 451, in validate_crc
    nordicsemi.dfu.dfu_transport_serial.ValidationException: Failed CRC validation.
    Expected: 1882036456 Received: 3434675894.

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
    File "nordicsemi/__main__.py", line 1555, in <module>
    File "click/core.py", line 1137, in __call__
    File "click/core.py", line 1062, in main
    File "click/core.py", line 1668, in invoke
    File "click/core.py", line 1668, in invoke
    File "click/core.py", line 1404, in invoke
    File "click/core.py", line 763, in invoke
    File "nordicsemi/__main__.py", line 1032, in usb_serial
    File "nordicsemi/__main__.py", line 988, in do_serial
    File "nordicsemi/dfu/dfu.py", line 127, in dfu_send_images
    File "nordicsemi/dfu/dfu.py", line 100, in _dfu_send_image
    File "nordicsemi/dfu/dfu_transport_serial.py", line 304, in send_firmware
    pc_ble_driver_py.exceptions.NordicSemiException: Failed to send firmware
    [154067] Failed to execute script '__main__' due to unhandled exception!

    and second try error:

    [########################------------] 68% 00:00:15
    Traceback (most recent call last):
    File "nordicsemi/__main__.py", line 1555, in <module>
    File "click/core.py", line 1137, in __call__
    File "click/core.py", line 1062, in main
    File "click/core.py", line 1668, in invoke
    File "click/core.py", line 1668, in invoke
    File "click/core.py", line 1404, in invoke
    File "click/core.py", line 763, in invoke
    File "nordicsemi/__main__.py", line 1032, in usb_serial
    File "nordicsemi/__main__.py", line 988, in do_serial
    File "nordicsemi/dfu/dfu.py", line 127, in dfu_send_images
    File "nordicsemi/dfu/dfu.py", line 100, in _dfu_send_image
    File "nordicsemi/dfu/dfu_transport_serial.py", line 301, in send_firmware
    File "nordicsemi/dfu/dfu_transport_serial.py", line 474, in __stream_data
    File "nordicsemi/dfu/dfu_transport_serial.py", line 412, in __calculate_checksum
    pc_ble_driver_py.exceptions.NordicSemiException: 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
    [154370] Failed to execute script '__main__' due to unhandled exception!

  • Does the device run or not? The normal sequence is that the programmer exits the DFU as as soon as the programming is completed and this unfortunately triggers an error message on the PC side.

  • Considering your logs showing progress with the upload, it seems you have remembered to press the button and put the device into bootloader mode, so I will rule out this most common issue.

    I will relay your logs to our Programmer app developers and seek input from them.

  • I got some new findings about this issue: programming always fails when dongle is connected to USB hub.

    Tested with two of them one USB 2.0 and the other 3.0, on both there is alwyas the same issue. Strange part is that I'm using those hubs daily with two JLinks, one STLink even Saleae Logic analyzer without any issues.

    BUT connecting the dongle directly to the host PC USB port is not solving this issue in 100%, flashing still fails from time to time, fail rate is like 1:5 - 1 error every 5 tries.

    Looks like USB issue but why upload never fails, also tested 2 dongles and there is the same problem with them?

Related