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

Multiple issues during BLE DFU

Hello everyone,

My current setup:

1.Development Kits = NRF52840

2.Nrfutil Version = 6.0.1

3.Softdevice = S140

4. Operating System = Linux 

In current goal is to perform a DFU over BLE from one device to another. I current experience failures while testing. The failure rate is 4/10 and the order is random. I use the following command to perform DFU:

nrfutil -v -v  dfu ble -ic NRF52 -pkg WSCB_NordicFW_IAR_DFU_TEST_MOTE.zip -p /dev/ttyACM0 -n "MAKE_00"

**Note: The frequency of these error changes with distance but I have set the transmission power to maximum on the device I am performing DFU.

Below are the errors I receive during testing

~/Workspace # nrfutil -v -v  dfu ble -ic NRF52 -pkg WSCB_NordicFW_IAR_DFU_TEST_M
OTE.zip -p /dev/ttyACM0 -n "MAKE_00"
2021-05-21 21:04:45,321 Using connectivity board at serial port: /dev/ttyACM0
2021-05-21 21:04:45,345 Sending Application image.
2021-05-21 21:04:48,766 Successfully opened /dev/ttyACM0. Baud rate: 1000000. Flow control: none. Parity: none.
Traceback (most recent call last):
  File "/usr/bin/nrfutil", line 8, in <module>
    sys.exit(cli())
  File "/usr/lib/python3.6/site-packages/click/core.py", line 1137, in __call__
    return self.main(*args, **kwargs)
  File "/usr/lib/python3.6/site-packages/click/core.py", line 1062, in main
    rv = self.invoke(ctx)
  File "/usr/lib/python3.6/site-packages/click/core.py", line 1668, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/lib/python3.6/site-packages/click/core.py", line 1668, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/lib/python3.6/site-packages/click/core.py", line 1404, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/lib/python3.6/site-packages/click/core.py", line 763, in invoke
    return __callback(*args, **kwargs)
  File "/usr/lib/python3.6/site-packages/nordicsemi/__main__.py", line 1199, in ble
    dfu.dfu_send_images()
  File "/usr/lib/python3.6/site-packages/nordicsemi/dfu/dfu.py", line 127, in dfu_send_images
    self._dfu_send_image(self.manifest.application)
  File "/usr/lib/python3.6/site-packages/nordicsemi/dfu/dfu.py", line 88, in _dfu_send_image
    self.dfu_transport.open()
  File "/usr/lib/python3.6/site-packages/nordicsemi/dfu/dfu_transport_ble.py", line 473, in open
    self.dfu_adapter.open()
  File "/usr/lib/python3.6/site-packages/nordicsemi/dfu/dfu_transport_ble.py", line 125, in open
    BLEConfigConnGap(event_length=5))  # Event length 5 is required for max data length
  File "/usr/lib/python3.6/site-packages/pc_ble_driver_py-0.15.0-py3.6-linux-armv7l.egg/pc_ble_driver_py/ble_driver.py", line 107, in wrapper
    error_code=err_code,
pc_ble_driver_py.exceptions.NordicSemiException: Failed to ble_cfg_set. Error code: NRF_ERROR_SD_RPC_NO_RESPONSE

~/Workspace # nrfutil -v -v dfu ble -ic NRF52 -pkg WSCB_NordicFW_IAR_DFU_TEST_MA
KE.zip -p /dev/ttyACM0 -n "MOTE_00"
2021-05-21 20:33:29,599 Using connectivity board at serial port: /dev/ttyACM0
2021-05-21 20:33:29,623 Sending Application image.
Segmentation fault (core dumped)

~/Workspace # nrfutil -v -v  dfu ble -ic NRF52 -pkg WSCB_NordicFW_IAR_DFU_TEST_M
OTE.zip -p /dev/ttyACM0 -n "MAKE_00"
2021-05-21 17:14:32,021 Using connectivity board at serial port: /dev/ttyACM0
2021-05-21 17:14:32,129 Sending Application image.
2021-05-21 17:14:35,550 Successfully opened /dev/ttyACM0. Baud rate: 1000000. Flow control: none. Parity: none.
2021-05-21 17:14:36,780 BLE: Scanning for MAKE_00
2021-05-21 17:14:36,813 Received advertisement report, address: 0x50B0A6266BE9, device_name:
2021-05-21 17:14:36,818 Received advertisement report, address: 0x52F57F858790, device_name:
2021-05-21 17:14:36,838 Received advertisement report, address: 0x33976524FF2A, device_name:
2021-05-21 17:14:36,867 Received advertisement report, address: 0x725B092DB5BF, device_name:
2021-05-21 17:14:36,891 Received advertisement report, address: 0x0F8743335BF0, device_name:
2021-05-21 17:14:36,896 Received advertisement report, address: 0x5BBC3B9D9F7A, device_name: POCO M3
2021-05-21 17:14:36,898 Received advertisement report, address: 0x5BBC3B9D9F7A, device_name:
2021-05-21 17:14:36,997 Received advertisement report, address: 0x66CB0C922F0C, device_name:
2021-05-21 17:14:37,030 Received advertisement report, address: 0x52F57F858790, device_name:
2021-05-21 17:14:37,078 Received advertisement report, address: 0x725B092DB5BF, device_name:
2021-05-21 17:14:37,098 Received advertisement report, address: 0x66CB0C922F0C, device_name:
2021-05-21 17:14:37,120 Received advertisement report, address: 0xDA15960F4EAF, device_name: MAKE_00
2021-05-21 17:14:37,121 BLE: Found target advertiser, address: 0xDA15960F4EAF, name: MAKE_00
2021-05-21 17:14:37,122 BLE: Connecting to 0xDA15960F4EAF
2021-05-21 17:14:37,125 Unknown address type: {self.addr_type)
2021-05-21 17:14:37,133 Received advertisement report, address: 0xDA15960F4EAF, device_name:
2021-05-21 17:14:37,135 BLE: Found target advertiser, address: 0xDA15960F4EAF, name:
2021-05-21 17:14:37,135 BLE: Connecting to 0xDA15960F4EAF
[  872.644467] BMS: calculate_soc_from_voltage: quectel--voltage_based_soc=52,chip->prev_voltage_based_soc=51
2021-05-21 17:14:38,292 BLE: Connected to [218, 21, 150, 15, 78, 175]
2021-05-21 17:14:38,321 Phy update failed. Exception: Failed to update phy. Error code: 7
2021-05-21 17:14:39,294 Successfully Connected
2021-05-21 17:14:39,296 BLE: Service Discovery
2021-05-21 17:14:49,545 Un-bonded Buttonless characteristic discovered -> Increment target device addr
2021-05-21 17:14:53,828 BLE: Disconnected with reason: BLEHci.connection_timeout
2021-05-21 17:14:53,854 Received advertisement report, address: 0xDA15960F4EB0, device_name: DfuTarg
2021-05-21 17:14:53,855 BLE: Found target advertiser, address: 0xDA15960F4EB0, name: DfuTarg
2021-05-21 17:14:53,855 BLE: Connecting to 0xDA15960F4EB0
2021-05-21 17:14:53,856 Unknown address type: {self.addr_type)
2021-05-21 17:14:53,861 Received advertisement report, address: 0xDA15960F4EB0, device_name:
2021-05-21 17:14:53,862 BLE: Found target advertiser, address: 0xDA15960F4EB0, name:
2021-05-21 17:14:53,862 BLE: Connecting to 0xDA15960F4EB0
2021-05-21 17:14:53,865 Received advertisement report, address: 0x50B0A6266BE9, device_name:
2021-05-21 17:14:53,884 BLE: Connected to [218, 21, 150, 15, 78, 176]
2021-05-21 17:14:54,886 Successfully Connected
2021-05-21 17:14:54,887 BLE: Connected to target
2021-05-21 17:14:55,951 BLE: Enabling longer ATT MTUs
2021-05-21 17:14:56,010 ATT MTU exchanged: conn_handle=0 att_mtu=247
2021-05-21 17:14:56,012 BLE: Enabling longer Data Length
2021-05-21 17:14:56,257 Sending init packet...
2021-05-21 17:14:56,620 Sending firmware file...
[  892.722647] BMS: calculate_soc_from_voltage: quectel--voltage_based_soc=52,chip->prev_voltage_based_soc=51
[  912.803385] BMS: calculate_soc_from_voltage: quectel--voltage_based_soc=52,chip->prev_voltage_based_soc=51
2021-05-21 17:15:18,935 BLE: Disconnected with reason: BLEHci.connection_timeout
Traceback (most recent call last):
  File "/usr/bin/nrfutil", line 8, in <module>
    sys.exit(cli())
  File "/usr/lib/python3.6/site-packages/click/core.py", line 1137, in __call__
    return self.main(*args, **kwargs)
  File "/usr/lib/python3.6/site-packages/click/core.py", line 1062, in main
    rv = self.invoke(ctx)
  File "/usr/lib/python3.6/site-packages/click/core.py", line 1668, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/lib/python3.6/site-packages/click/core.py", line 1668, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/lib/python3.6/site-packages/click/core.py", line 1404, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/lib/python3.6/site-packages/click/core.py", line 763, in invoke
    return __callback(*args, **kwargs)
  File "/usr/lib/python3.6/site-packages/nordicsemi/__main__.py", line 1199, in ble
    dfu.dfu_send_images()
  File "/usr/lib/python3.6/site-packages/nordicsemi/dfu/dfu.py", line 127, in dfu_send_images
    self._dfu_send_image(self.manifest.application)
  File "/usr/lib/python3.6/site-packages/nordicsemi/dfu/dfu.py", line 100, in _dfu_send_image
    self.dfu_transport.send_firmware(data)
  File "/usr/lib/python3.6/site-packages/nordicsemi/dfu/dfu_transport_ble.py", line 572, in send_firmware
    response['crc'] = self.__stream_data(data=data, crc=response['crc'], offset=i)
  File "/usr/lib/python3.6/site-packages/nordicsemi/dfu/dfu_transport_ble.py", line 642, in __stream_data
    self.dfu_adapter.write_data_point(list(to_transmit))
  File "/usr/lib/python3.6/site-packages/nordicsemi/dfu/dfu_transport_ble.py", line 350, in write_data_point
    self.adapter.write_cmd(self.conn_handle, DFUAdapter.DP_UUID, data)
  File "/usr/lib/python3.6/site-packages/pc_ble_driver_py-0.15.0-py3.6-linux-armv7l.egg/pc_ble_driver_py/ble_adapter.py", line 568, in write_cmd
    raise e
  File "/usr/lib/python3.6/site-packages/pc_ble_driver_py-0.15.0-py3.6-linux-armv7l.egg/pc_ble_driver_py/ble_adapter.py", line 554, in write_cmd
    response = self.driver.ble_gattc_write(conn_handle, write_params)
  File "/usr/lib/python3.6/site-packages/pc_ble_driver_py-0.15.0-py3.6-linux-armv7l.egg/pc_ble_driver_py/ble_driver.py", line 107, in wrapper
    error_code=err_code,
pc_ble_driver_py.exceptions.NordicSemiException: Failed to ble_gattc_write. Error code: 12290

~/Workspace # nrfutil -v -v  dfu ble -ic NRF52 -pkg WSCB_NordicFW_IAR_DFU_TEST_M
OTE.zip -p /dev/ttyACM0 -n "MAKE_00"
2021-05-21 21:03:07,907 Using connectivity board at serial port: /dev/ttyACM0
2021-05-21 21:03:07,932 Sending Application image.
2021-05-21 21:03:11,354 Successfully opened /dev/ttyACM0. Baud rate: 1000000. Flow control: none. Parity: none.
2021-05-21 21:03:12,584 BLE: Scanning for MAKE_00
2021-05-21 21:03:12,599 Received advertisement report, address: 0x50F006DB0FE9, device_name:
2021-05-21 21:03:12,705 Received advertisement report, address: 0x50F006DB0FE9, device_name:
2021-05-21 21:03:12,809 Received advertisement report, address: 0x50F006DB0FE9, device_name:
2021-05-21 21:03:12,828 Received advertisement report, address: 0x3D46B5D4DF17, device_name:
2021-05-21 21:03:12,833 Received advertisement report, address: 0x1DA003A919A8, device_name:
2021-05-21 21:03:12,934 Received advertisement report, address: 0x551FBF13201F, device_name: e76a175c
2021-05-21 21:03:12,938 Received advertisement report, address: 0x551FBF13201F, device_name:
2021-05-21 21:03:12,944 Received advertisement report, address: 0x3D46B5D4DF17, device_name:
2021-05-21 21:03:12,947 Received advertisement report, address: 0x1DA003A919A8, device_name:
2021-05-21 21:03:13,138 Received advertisement report, address: 0x3D46B5D4DF17, device_name:
2021-05-21 21:03:13,240 Received advertisement report, address: 0x3D46B5D4DF17, device_name:
2021-05-21 21:03:13,283 Received advertisement report, address: 0xF94773C63E24, device_name:
2021-05-21 21:03:13,287 Received advertisement report, address: 0xF94773C63E24, device_name: Mi Band HRX
2021-05-21 21:03:13,344 Received advertisement report, address: 0x3D46B5D4DF17, device_name:
2021-05-21 21:03:13,447 Received advertisement report, address: 0x50F006DB0FE9, device_name:
2021-05-21 21:03:13,743 Received advertisement report, address: 0xDA15960F4EAF, device_name: MAKE_00
2021-05-21 21:03:13,744 BLE: Found target advertiser, address: 0xDA15960F4EAF, name: MAKE_00
2021-05-21 21:03:13,745 BLE: Connecting to 0xDA15960F4EAF
2021-05-21 21:03:13,746 Unknown address type: {self.addr_type)
2021-05-21 21:03:13,754 Received advertisement report, address: 0xDA15960F4EAF, device_name:
2021-05-21 21:03:13,755 BLE: Found target advertiser, address: 0xDA15960F4EAF, name:
2021-05-21 21:03:13,755 BLE: Connecting to 0xDA15960F4EAF
2021-05-21 21:03:14,705 BLE: Connected to [218, 21, 150, 15, 78, 175]
2021-05-21 21:03:14,852 BLE: Disconnected with reason: BLEHci.conn_failed_to_be_established
2021-05-21 21:03:14,854 Received unexpected disconnect event, trying to re-connect to: DA15960F4EAF
2021-05-21 21:03:15,857 Unknown address type: {self.addr_type)
2021-05-21 21:03:16,820 BLE: Connected to [218, 21, 150, 15, 78, 175]
2021-05-21 21:03:16,848 Phy update failed. Exception: Failed to update phy. Error code: 7
2021-05-21 21:03:17,823 Successfully Connected
2021-05-21 21:03:17,824 BLE: Service Discovery
2021-05-21 21:03:28,578 Un-bonded Buttonless characteristic discovered -> Increment target device addr
2021-05-21 21:03:32,805 BLE: Disconnected with reason: BLEHci.connection_timeout
2021-05-21 21:03:32,829 Received advertisement report, address: 0xDA15960F4EB0, device_name: DfuTarg
2021-05-21 21:03:32,831 BLE: Found target advertiser, address: 0xDA15960F4EB0, name: DfuTarg
2021-05-21 21:03:32,833 BLE: Connecting to 0xDA15960F4EB0
2021-05-21 21:03:32,834 Unknown address type: {self.addr_type)
2021-05-21 21:03:32,842 Received advertisement report, address: 0xDA15960F4EB0, device_name:
2021-05-21 21:03:32,843 BLE: Found target advertiser, address: 0xDA15960F4EB0, name:
2021-05-21 21:03:32,843 BLE: Connecting to 0xDA15960F4EB0
2021-05-21 21:03:32,846 Received advertisement report, address: 0x1DA003A919A8, device_name:
2021-05-21 21:03:32,862 BLE: Connected to [218, 21, 150, 15, 78, 176]
2021-05-21 21:03:33,011 BLE: Disconnected with reason: BLEHci.conn_failed_to_be_established
2021-05-21 21:03:33,013 Received unexpected disconnect event, trying to re-connect to: DA15960F4EB0
2021-05-21 21:03:34,016 Unknown address type: {self.addr_type)
2021-05-21 21:03:34,049 BLE: Connected to [218, 21, 150, 15, 78, 176]
2021-05-21 21:03:35,055 Successfully Connected
2021-05-21 21:03:35,056 BLE: Connected to target
2021-05-21 21:03:36,178 BLE: Enabling longer ATT MTUs
Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/pc_ble_driver_py-0.15.0-py3.6-linux-armv7l.egg/pc_ble_driver_py/ble_adapter.py", line 220, in att_mtu_exchange
    self.driver.ble_gattc_exchange_mtu_req(conn_handle, mtu)
  File "/usr/lib/python3.6/site-packages/pc_ble_driver_py-0.15.0-py3.6-linux-armv7l.egg/pc_ble_driver_py/ble_driver.py", line 107, in wrapper
    error_code=err_code,
pc_ble_driver_py.exceptions.NordicSemiException: Failed to ble_gattc_exchange_mtu_req. Error code: NRF_ERROR_INVALID_PARAM

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/bin/nrfutil", line 8, in <module>
    sys.exit(cli())
  File "/usr/lib/python3.6/site-packages/click/core.py", line 1137, in __call__
    return self.main(*args, **kwargs)
  File "/usr/lib/python3.6/site-packages/click/core.py", line 1062, in main
    rv = self.invoke(ctx)
  File "/usr/lib/python3.6/site-packages/click/core.py", line 1668, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/lib/python3.6/site-packages/click/core.py", line 1668, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/lib/python3.6/site-packages/click/core.py", line 1404, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/lib/python3.6/site-packages/click/core.py", line 763, in invoke
    return __callback(*args, **kwargs)
  File "/usr/lib/python3.6/site-packages/nordicsemi/__main__.py", line 1199, in ble
    dfu.dfu_send_images()
  File "/usr/lib/python3.6/site-packages/nordicsemi/dfu/dfu.py", line 127, in dfu_send_images
    self._dfu_send_image(self.manifest.application)
  File "/usr/lib/python3.6/site-packages/nordicsemi/dfu/dfu.py", line 88, in _dfu_send_image
    self.dfu_transport.open()
  File "/usr/lib/python3.6/site-packages/nordicsemi/dfu/dfu_transport_ble.py", line 476, in open
    target_device_addr = self.target_device_addr)
  File "/usr/lib/python3.6/site-packages/nordicsemi/dfu/dfu_transport_ble.py", line 173, in connect
    self.att_mtu = self.adapter.att_mtu_exchange(self.conn_handle, DFUAdapter.LOCAL_ATT_MTU)
  File "/usr/lib/python3.6/site-packages/pc_ble_driver_py-0.15.0-py3.6-linux-armv7l.egg/pc_ble_driver_py/ble_adapter.py", line 225, in att_mtu_exchange
    "different config tags used in ble_cfg_set and connect.") from ex

Please note in the above error, the device on which the DFU is being performed, stops advertising and now another name called Dfutarg is now seen advertising.

Also when a successful DFU is completed, a small error is noticed of phy update failed:

~/Workspace # nrfutil -v -v  dfu ble -ic NRF52 -pkg WSCB_NordicFW_IAR_DFU_TEST_M
OTE.zip -p /dev/ttyACM0 -n "MAKE_00"
2021-05-21 21:07:22,958 Using connectivity board at serial port: /dev/ttyACM0
2021-05-21 21:07:22,982 Sending Application image.
2021-05-21 21:07:26,402 Successfully opened /dev/ttyACM0. Baud rate: 1000000. Flow control: none. Parity: none.
2021-05-21 21:07:27,630 BLE: Scanning for MAKE_00
2021-05-21 21:07:27,722 Received advertisement report, address: 0x047DFF20C9F1, device_name:
2021-05-21 21:07:27,869 Received advertisement report, address: 0x551FBF13201F, device_name: e76a175c
2021-05-21 21:07:27,871 Received advertisement report, address: 0x551FBF13201F, device_name:
2021-05-21 21:07:27,922 Received advertisement report, address: 0x047DFF20C9F1, device_name:
2021-05-21 21:07:27,934 Received advertisement report, address: 0x3D46B5D4DF17, device_name:
2021-05-21 21:07:27,970 Received advertisement report, address: 0x71E24807CE3C, device_name:
2021-05-21 21:07:28,133 Received advertisement report, address: 0x047DFF20C9F1, device_name:
2021-05-21 21:07:28,345 Received advertisement report, address: 0x3D46B5D4DF17, device_name:
2021-05-21 21:07:28,485 Received advertisement report, address: 0x71E24807CE3C, device_name:
2021-05-21 21:07:28,489 Received advertisement report, address: 0x50652E6F32E4, device_name:
2021-05-21 21:07:28,542 Received advertisement report, address: 0x047DFF20C9F1, device_name:
2021-05-21 21:07:28,552 Received advertisement report, address: 0x3D46B5D4DF17, device_name:
2021-05-21 21:07:28,589 Received advertisement report, address: 0xDA15960F4EAF, device_name: MAKE_00
2021-05-21 21:07:28,589 BLE: Found target advertiser, address: 0xDA15960F4EAF, name: MAKE_00
2021-05-21 21:07:28,590 BLE: Connecting to 0xDA15960F4EAF
2021-05-21 21:07:28,591 Unknown address type: {self.addr_type)
2021-05-21 21:07:28,597 Received advertisement report, address: 0xDA15960F4EAF, device_name:
2021-05-21 21:07:28,598 BLE: Found target advertiser, address: 0xDA15960F4EAF, name:
2021-05-21 21:07:28,598 BLE: Connecting to 0xDA15960F4EAF
2021-05-21 21:07:29,743 BLE: Connected to [218, 21, 150, 15, 78, 175]
2021-05-21 21:07:29,771 Phy update failed. Exception: Failed to update phy. Error code: 7
2021-05-21 21:07:30,746 Successfully Connected
2021-05-21 21:07:30,746 BLE: Service Discovery
2021-05-21 21:07:41,261 Un-bonded Buttonless characteristic discovered -> Increment target device addr
2021-05-21 21:07:45,491 BLE: Disconnected with reason: BLEHci.connection_timeout
2021-05-21 21:07:45,515 Received advertisement report, address: 0x3D46B5D4DF17, device_name:
2021-05-21 21:07:45,533 Received advertisement report, address: 0xDA15960F4EB0, device_name: DfuTarg
2021-05-21 21:07:45,534 BLE: Found target advertiser, address: 0xDA15960F4EB0, name: DfuTarg
2021-05-21 21:07:45,534 BLE: Connecting to 0xDA15960F4EB0
2021-05-21 21:07:45,535 Unknown address type: {self.addr_type)
2021-05-21 21:07:45,540 Received advertisement report, address: 0xDA15960F4EB0, device_name:
2021-05-21 21:07:45,541 BLE: Found target advertiser, address: 0xDA15960F4EB0, name:
2021-05-21 21:07:45,541 BLE: Connecting to 0xDA15960F4EB0
2021-05-21 21:07:45,559 BLE: Connected to [218, 21, 150, 15, 78, 176]
2021-05-21 21:07:46,563 Successfully Connected
2021-05-21 21:07:46,564 BLE: Connected to target
2021-05-21 21:07:47,660 BLE: Enabling longer ATT MTUs
2021-05-21 21:07:47,719 ATT MTU exchanged: conn_handle=0 att_mtu=247
2021-05-21 21:07:47,721 BLE: Enabling longer Data Length
2021-05-21 21:07:47,961 Sending init packet...
2021-05-21 21:07:48,266 Sending firmware file...
2021-05-21 21:08:37,159 Image sent in 49.19837927818298s
2021-05-21 21:08:37,160 BLE: Disconnecting from target
2021-05-21 21:08:37,217 BLE: Disconnected with reason: BLEHci.local_host_terminated_connection
2021-05-21 21:08:37,229 serial port /dev/ttyACM0 closed.
Device programmed.

Please let me know why are these failures occurring and how to solve them. Also let me know if any more information is required.

I am also attaching the files which I use while testing

WSCB_NordicFW_IAR_DFU_TEST_MAKE.zip WSCB_NordicFW_IAR_DFU_TEST_MOTE.zip

Regards, 

Rajas Joshi

Parents
  • Hello Rajas,

    In current goal is to perform a DFU over BLE from one device to another. I current experience failures while testing. The failure rate is 4/10 and the order is random.

    Some of these errors are not expected, though some would be. I would first like to double check that you have disabled the mass storage device on the onboard debugger, as that is known to cause unstable UART communication over the onboard debugger USB-UART bridge. Does that improve the situation?

    Please note in the above error, the device on which the DFU is being performed, stops advertising and now another name called Dfutarg is now seen advertising.

    That is expected if the device is now in DFU mode, as "DfuTarg" is the default device name in the bootloader.

  • Thank your for fast response

    I tried the MSDDisable command but the NO_RESPONSE error still unfortunately occurs. 

    Also I regarding the DfuTarg , My issue was unlike the previous issues i could again program it immediately. But in the DfuTarg mode , I have to reset it to bring it in the original state. So is there a way to avoid it.

    And any solution for the rest issues?

      

Reply Children
  • Hi,

    rajasjoshi said:
    regarding the DfuTarg , My issue was unlike the previous issues i could again program it immediately. But in the DfuTarg mode , I have to reset it to bring it in the original state. So is there a way to avoid it.

    Regarding "DfuTarg" that is separate, and is caused by the device allready being in DFU mode (typically because a previous upgrade did not complete for some reason, or application was signalled to enter DFU mode but afterwards the DFU master did not connect). There should not be a need to reset to continue upgrading in this case, but as you search for a name (-n "MAKE_00") you will not be able to continue as the device does not advertise with this name at this point.

    rajasjoshi said:
    And any solution for the rest issues?

    That depends on what causes this issues, and that is not clear.

    What platform are you using (more detailed that Linux)? Have you tested this setup from a different computer, for instance from a Windows machine? Do you reproduce it there?

Related