Hi, devzone
I tested nrfutil6.1.0 dfu ble feature and pca10040 as host board to upgrade another board pca10040, successful!
when test nrf connect desktop v3.6.0 and pca10059 as host board to upgrade another board pca10040, successful!
But, when test nrfutil6.1.0 and pca10059 as host board to upgrade another board pca10040 , result fail(BLE Connection failed due to 0x3e)
Env:
PC:WIN10, python3.8, installed nrfutil 6.1.0 and pc-ble-driver-py 0.15.0
Hardware: PCA10059 and PCA10040
Connectivity Firmware: connectivity_4.1.2_usb_with_s132_3.1.0_dfu_pkg.zip
pca10040 dfu package: SDK15.3\..ble_app_buttonless_dfu_without_bonds_s132.zip
bootloader: SDK15.3\..open_bootloader\pca10059_usb_debug
First, Test with nRF_Connect_desktop v3.6.0
erase pca10059 and programe open usb bootloader. Result is OK, dfu successful and stable.
nRF Connect Desktop 3.6.0 log:
14:13:26.926 Device setup completed 14:13:26.932 Connectivity firmware version: ble-connectivity 4.1.2+Jul-14-2020-05-48-48. SoftDevice API version: 5. Baud rate: 1000000. 14:13:26.973 Opening adapter connected to COM3 14:13:27.944 Successfully opened COM3. Baud rate: 1000000. Flow control: none. Parity: none. 14:13:27.946 Reset performed on adapter COM3 14:13:29.032 Adapter connected to COM3 opened
Then, Test with nrfutil v6.1.0 :
1>erase pca10059 and program usb bootloader
2>change nrfutil python code where https://github.com/NordicSemiconductor/pc-nrfutil/blame/v6.1/nordicsemi/__main__.py#L1177 to select connectivity usb firmware pkg v4.1.2
python driver that comes with nrfutil_v6.1.0 is pc-ble-driver-py(v0.15.0), inside folder has hex/sd_api_v3 and sd_api_v5, all firmware file is version 4.1.2, not 4.1.1.
I also tested tconnectivity firmware v4.1.1, Fail, there are a lot of other error that I forget to record , and, this should not be the point of this problem
PS: I had been report a issue on nrfutil github here https://github.com/NordicSemiconductor/pc-nrfutil/issues/341
3>run cmd: nrfutil dfu ble <...> -f
PS C:\Users\Administrator> nrfutil dfu ble -ic NRF52 -pkg "E:\nrfutil_DFU_test\ble_app_buttonless_dfu_without_bonds_s132.zip" -n Nordic_Buttonless -f Please select connectivity serial port: 0 : COM4 - C13C3EDEBED8 Enter your choice: : 0 Flashing connectivity firmware... Connectivity firmware flashed. PS C:\Users\Administrator> nrfutil dfu ble -ic NRF52 -pkg "E:\nrfutil_DFU_test\ble_app_buttonless_dfu_without_bonds_s132.zip" -n Nordic_Buttonless -p COM3 Traceback (most recent call last): File "C:\Python38\Scripts\nrfutil-script.py", line 11, in <module> load_entry_point('nrfutil==6.1.0', 'console_scripts', 'nrfutil')() File "c:\python38\lib\site-packages\click\core.py", line 829, in __call__ return self.main(*args, **kwargs) File "c:\python38\lib\site-packages\click\core.py", line 782, in main rv = self.invoke(ctx) File "c:\python38\lib\site-packages\click\core.py", line 1259, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "c:\python38\lib\site-packages\click\core.py", line 1259, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "c:\python38\lib\site-packages\click\core.py", line 1066, in invoke return ctx.invoke(self.callback, **ctx.params) File "c:\python38\lib\site-packages\click\core.py", line 610, in invoke return callback(*args, **kwargs) File "c:\python38\lib\site-packages\nordicsemi\__main__.py", line 1197, in ble dfu.dfu_send_images() File "c:\python38\lib\site-packages\nordicsemi\dfu\dfu.py", line 127, in dfu_send_images self._dfu_send_image(self.manifest.application) File "c:\python38\lib\site-packages\nordicsemi\dfu\dfu.py", line 88, in _dfu_send_image self.dfu_transport.open() File "c:\python38\lib\site-packages\nordicsemi\dfu\dfu_transport_ble.py", line 474, in open self.target_device_name, self.target_device_addr = self.dfu_adapter.connect( File "c:\python38\lib\site-packages\nordicsemi\dfu\dfu_transport_ble.py", line 153, in connect self.verify_stable_connection() File "c:\python38\lib\site-packages\nordicsemi\dfu\dfu_transport_ble.py", line 257, in verify_stable_connection raise Exception("Failure - Connection failed due to 0x3e") Exception: Failure - Connection failed due to 0x3e
Similar problem in thread nrfutil dfu random failures
Hope someone can figure out,and let me know,any point will be appreciated