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

nrfutil having issues with OTA DFU using nRF52 dongle on Ubuntu Server 20.04, perfectly fine on Windows

Might be related to this, which also has no issue yet. 

I am using an MXE-202i mini-PC running Ubuntu Server 20.04 LTS and a nRF52840 dongle to run DFU OTA to program and update nRF52 production devices. I have root access and the port has been added to the dialout group. The command and the error I face is as such:

user@dfuserver:~$ nrfutil -v -v -v -v dfu ble -ic NRF52 -pkg Distribution.zip -p /dev/ttyACM0 -f -cd 30 -n "DfuTarg"
Flashing connectivity firmware...
Connectivity firmware flashed.
2020-07-28 10:17:26,106 Using connectivity board at serial port: /dev/ttyACM0
2020-07-28 10:17:26,125 Sending SoftDevice+Bootloader image.
2020-07-28 10:17:56,565 Successfully opened /dev/ttyACM0. Baud rate: 1000000. Flow control: none. Parity: none.
2020-07-28 10:17:56,566 evt> severity(20) message(Successfully opened /dev/ttyACM0. Baud rate: 1000000. Flow control: none. Parity: none.)
2020-07-28 10:17:56,567 RpcAppStatus.resetPerformed: Target Reset performed
2020-07-28 10:17:56,567 evt> status code(RpcAppStatus.resetPerformed) message(Target Reset performed)
2020-07-28 10:17:58,668 RpcAppStatus.pktSendMaxRetriesReached: No response from device. Tried to send packet 6 times.
2020-07-28 10:17:58,668 evt> status code(RpcAppStatus.pktSendMaxRetriesReached) message(No response from device. Tried to send packet 6 times.)
Traceback (most recent call last):
  File "/usr/local/bin/nrfutil", line 8, in <module>
    sys.exit(cli())
  File "/usr/lib/python3/dist-packages/click/core.py", line 764, in __call__
    return self.main(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/click/core.py", line 717, in main
    rv = self.invoke(ctx)
  File "/usr/lib/python3/dist-packages/click/core.py", line 1137, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/lib/python3/dist-packages/click/core.py", line 1137, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/lib/python3/dist-packages/click/core.py", line 956, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/lib/python3/dist-packages/click/core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "/usr/local/lib/python3.8/dist-packages/nordicsemi/__main__.py", line 1199, in ble
    dfu.dfu_send_images()
  File "/usr/local/lib/python3.8/dist-packages/nordicsemi/dfu/dfu.py", line 115, in dfu_send_images
    self._dfu_send_image(self.manifest.softdevice_bootloader)
  File "/usr/local/lib/python3.8/dist-packages/nordicsemi/dfu/dfu.py", line 88, in _dfu_send_image
    self.dfu_transport.open()
  File "/usr/local/lib/python3.8/dist-packages/nordicsemi/dfu/dfu_transport_ble.py", line 473, in open
    self.dfu_adapter.open()
  File "/usr/local/lib/python3.8/dist-packages/nordicsemi/dfu/dfu_transport_ble.py", line 103, in open
    self.adapter.driver.open()
  File "/usr/local/lib/python3.8/dist-packages/pc_ble_driver_py/ble_driver.py", line 103, in wrapper
    raise NordicSemiException(
pc_ble_driver_py.exceptions.NordicSemiException: Failed to open. Error code: NRF_ERROR_TIMEOUT


However, it runs successfully on my Windows machine with the same dongle, with the exact same command and without any disconnects. Is this a known issue with nrfutil on Linux? 

I am using the latest version(10.9.0) of nRF command line tools and nrfutil as well as Python 3.

Parents Reply Children
No Data
Related