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

connectivity Firmware - SDK 17.0.2

Hi,

I am trying to to adjust the connectivity Firmware, so our own firmware update tool can talk to it, but I can't even get the example to work.

I am developing on a nRF52840-DK so I tried the example from examples/connectivity/ble_connectivity/pca10056/ser_s140_uart. In the Future the connectivity FW will run on a custom hardware, where the nRF52 is connected to the PC over UART<->FTDI<->USB - that should be pretty similiar to UART<->SEGGER<->USB.

On the Software side I am on Ubuntu 18.04, nrfutil 6.1.0, nRF Connect v3.6.0 and nRF5 SDK 17.0.2. The toolchain is armgcc.

When I flash the connectivity firmware that comes with nrfutil (nrfutil dfu ble -f ...) the OTA update works just fine, the same goes for nRF Connect. But with the connectivity Firmware from the SDK I can't perform a DFU update. The output is as follows:

> nrfutil -v -v -v -v dfu ble -pkg dfu-Beacon_XS.zip -ic NRF52 --port /dev/ttyACM0

No target selected. Default device name: DfuTarg is used.
2020-11-25 12:00:22,200 Using connectivity board at serial port: /dev/ttyACM0
2020-11-25 12:00:22,202 Sending Application image.
2020-11-25 12:00:25,604 Successfully opened /dev/ttyACM0. Baud rate: 1000000. Flow control: none. Parity: none.
2020-11-25 12:00:25,604 evt> severity(20) message(Successfully opened /dev/ttyACM0. Baud rate: 1000000. Flow control: none. Parity: none.)
2020-11-25 12:00:25,604 RpcAppStatus.resetPerformed: Target Reset performed
2020-11-25 12:00:25,604 evt> status code(RpcAppStatus.resetPerformed) message(Target Reset performed)
2020-11-25 12:00:27,705 RpcAppStatus.pktSendMaxRetriesReached: No response from device. Tried to send packet 6 times.
2020-11-25 12:00:27,705 evt> status code(RpcAppStatus.pktSendMaxRetriesReached) message(No response from device. Tried to send packet 6 times.)
Traceback (most recent call last):
  File "/home/bob/.local/bin/nrfutil", line 8, in <module>
    sys.exit(cli())
  File "/home/bob/.local/lib/python3.6/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/home/bob/.local/lib/python3.6/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/home/bob/.local/lib/python3.6/site-packages/click/core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/bob/.local/lib/python3.6/site-packages/click/core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/bob/.local/lib/python3.6/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/bob/.local/lib/python3.6/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/home/bob/.local/lib/python3.6/site-packages/nordicsemi/__main__.py", line 1199, in ble
    dfu.dfu_send_images()
  File "/home/bob/.local/lib/python3.6/site-packages/nordicsemi/dfu/dfu.py", line 127, in dfu_send_images
    self._dfu_send_image(self.manifest.application)
  File "/home/bob/.local/lib/python3.6/site-packages/nordicsemi/dfu/dfu.py", line 88, in _dfu_send_image
    self.dfu_transport.open()
  File "/home/bob/.local/lib/python3.6/site-packages/nordicsemi/dfu/dfu_transport_ble.py", line 473, in open
    self.dfu_adapter.open()
  File "/home/bob/.local/lib/python3.6/site-packages/nordicsemi/dfu/dfu_transport_ble.py", line 103, in open
    self.adapter.driver.open()
  File "/home/bob/.local/lib/python3.6/site-packages/pc_ble_driver_py/ble_driver.py", line 107, in wrapper
    error_code=err_code,
pc_ble_driver_py.exceptions.NordicSemiException: Failed to open. Error code: NRF_ERROR_TIMEOUT

The connectivity firmware flashed with nrfutil/nRF Connect referes itself as "Connectivity firmware version: 4.1.2. SoftDevice API version: 5. Baud rate: 1000000." with Softdevice S132 v5.1.0. The Firmware in the SDK has the same version, but with S140 v7.2.0. I also tried with S132 v7.2.0 but that didn't help.

Am I using the right example, I couldn't find documentation to the connectivity firmware in the infocenter explaining the different versions of the example?

If the example I selected is the right one, what else am I doing wrong?

Thanks
Bob

Related