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

Performing DFU with nRF Connect v1.8 Fails to Switch from App to Bootloader - Worked on 1.7.5

Since upgrading to nRF Connect on my IOS device the DFU won't reconnect to the BLE in the boot-loader after initiation from the application.

The device will migrate to the boot-loader and begin advertising but nRF connect doesn't seem to find it when attempting to reconnect. In the scanner both the application and boot-loader show. DFU can then be performed by connecting to the boot-loader.

Using nRF Connect 1.7.5 I was able to switch between application and boot-loader seamlessly (and autonomously) when performing DFU. I'm running S110 and SDK10.

Any help would be great.

The application section of the dfu came from the ble_hrs example and the bootloader is from the ble_dfu example. The other services are similar to the gls example. (gls, bas, dis).

nRF Connect log file:

09:01:24.340 Connecting Ble_gls
09:01:24.340 [MethodCall]connectPeripheral
09:01:27.165 [Callback]Successful connect to peripheral Ble_gls
09:01:27.165 Status changed: Connected to Ble_gls
09:01:27.624 [Callback]Successful discover service 1808
09:01:27.624 [Callback]Successful discover service 180F
09:01:27.625 [Callback]Successful discover service 180A
09:01:27.626 [Callback]Successful discover service 00001530-1212-EFDE-1523-785FEABCD123
09:01:27.742 [Callback]Successful discover charact. for service 1808
09:01:27.743 [MethodCall]readCharacteristicValue 2A18
09:01:27.743 [MethodCall]discoverDescriptorsForCharact. 2A18
09:01:27.743 [Callback]Successful discover charact. for service 1808
09:01:27.743 [MethodCall]readCharacteristicValue 2A51
09:01:27.743 [MethodCall]discoverDescriptorsForCharact. 2A51
09:01:27.744 [Callback]Successful discover charact. for service 1808
09:01:27.744 [MethodCall]readCharacteristicValue 2A34
09:01:27.744 [MethodCall]discoverDescriptorsForCharact. 2A34
09:01:27.744 [Callback]Successful discover charact. for service 1808
09:01:27.744 [MethodCall]readCharacteristicValue 2A52
09:01:27.744 [MethodCall]discoverDescriptorsForCharact. 2A52
09:01:27.809 [Callback]Successful discover charact. for service 180F
09:01:27.809 [MethodCall]readCharacteristicValue 2A19
09:01:27.809 [MethodCall]discoverDescriptorsForCharact. 2A19
09:01:27.922 [Callback]Successful discover charact. for service 180A
09:01:27.923 [MethodCall]readCharacteristicValue 2A29
09:01:27.923 [MethodCall]discoverDescriptorsForCharact. 2A29
09:01:27.923 [Callback]Successful discover charact. for service 180A
09:01:27.923 [MethodCall]readCharacteristicValue 2A24
09:01:27.923 [MethodCall]discoverDescriptorsForCharact. 2A24
09:01:27.924 [Callback]Successful discover charact. for service 180A
09:01:27.924 [MethodCall]readCharacteristicValue 2A27
09:01:27.924 [MethodCall]discoverDescriptorsForCharact. 2A27
09:01:27.924 [Callback]Successful discover charact. for service 180A
09:01:27.924 [MethodCall]readCharacteristicValue 2A26
09:01:27.925 [MethodCall]discoverDescriptorsForCharact. 2A26
09:01:28.163 [Callback]Successful discover charact. for service 00001530-1212-EFDE-1523-785FEABCD123
09:01:28.164 [MethodCall]readCharacteristicValue 00001532-1212-EFDE-1523-785FEABCD123
09:01:28.164 [MethodCall]discoverDescriptorsForCharact. 00001532-1212-EFDE-1523-785FEABCD123
09:01:28.165 [Callback]Successful discover charact. for service 00001530-1212-EFDE-1523-785FEABCD123
09:01:28.165 [MethodCall]readCharacteristicValue 00001531-1212-EFDE-1523-785FEABCD123
09:01:28.165 [MethodCall]discoverDescriptorsForCharact. 00001531-1212-EFDE-1523-785FEABCD123
09:01:28.165 [Callback]Successful discover charact. for service 00001530-1212-EFDE-1523-785FEABCD123
09:01:28.166 [MethodCall]readCharacteristicValue 00001534-1212-EFDE-1523-785FEABCD123
09:01:28.166 [MethodCall]discoverDescriptorsForCharact. 00001534-1212-EFDE-1523-785FEABCD123
09:01:28.222 [System]Error update value for charact. 2A18 Reading is not permitted.
09:01:29.693 [Callback]Successful update value for charact. 2A51
09:01:29.843 [System]Error update value for charact. 2A34 Reading is not permitted.
09:01:29.963 [System]Error update value for charact. 2A52 Reading is not permitted.
09:01:30.083 [Callback]Successful update value for charact. 2A19
09:01:30.143 [Callback]Successful discover descriptors for charact. 2A19
09:01:30.203 [Callback]Successful update value for charact. 2A29
09:01:30.263 [Callback]Successful update value for charact. 2A24
09:01:30.324 [Callback]Successful update value for charact. 2A27
09:01:30.383 [Callback]Successful update value for charact. 2A26
09:01:30.443 [System]Error update value for charact. 00001532-1212-EFDE-1523-785FEABCD123 Reading is not permitted.
09:01:30.533 [System]Error update value for charact. 00001531-1212-EFDE-1523-785FEABCD123 Reading is not permitted.
09:01:30.653 [Callback]Successful update value for charact. 00001534-1212-EFDE-1523-785FEABCD123
09:01:30.833 [Callback]Successful update value for descriptor 2902
09:02:04.404 [MethodCall]cancelPeripheralConnection
09:02:04.564 [Callback]Successful disconnect from peripheral Ble_gls
09:02:04.565 Status changed: Disconnected from Ble_gls
09:02:15.706 [MethodCall]connectPeripheral
09:02:15.707 Connecting to Ble_gls...
09:02:15.707 centralManager.connect(peripheral, options: nil)
09:02:15.712 [Callback]State changed to Connecting
09:02:24.862 [Callback] Central Manager did connect peripheral
09:02:24.862 Connected to Ble_gls
09:02:24.863 Discovering services...
09:02:24.863 peripheral.discoverServices(nil)
09:02:25.379 Services discovered
09:02:25.380 Starting Legacy DFU...
09:02:25.382 Connected to Ble_gls
09:02:25.383 Services discovered
09:02:25.383 Legacy DFU Service found
09:02:25.384 Discovering characteristics in DFU Service...
09:02:25.385 peripheral.discoverCharacteristics(nil, for: 00001530-1212-EFDE-1523-785FEABCD123)
09:02:25.650 DFU characteristics discovered
09:02:25.651 Reading DFU Version number...
09:02:25.651 peripheral.readValue(00001534-1212-EFDE-1523-785FEABCD123)
09:02:25.709 Read Response received from 00001534-1212-EFDE-1523-785FEABCD123, value (0x): 0100
09:02:25.710 Version number read: 0.1
09:02:25.710 Enabling notifications for 00001531-1212-EFDE-1523-785FEABCD123...
09:02:25.711 peripheral.setNotifyValue(true, for: 00001531-1212-EFDE-1523-785FEABCD123)
09:02:25.718 [Callback]State changed to Starting
09:02:25.859 Notifications enabled for 00001531-1212-EFDE-1523-785FEABCD123
09:02:25.860 DFU Control Point notifications enabled
09:02:25.860 Application with buttonless update found
09:02:25.861 Writing to characteristic 00001531-1212-EFDE-1523-785FEABCD123...
09:02:25.862 peripheral.writeValue(0x0104, for: 00001531-1212-EFDE-1523-785FEABCD123, type: .withResponse)
09:02:25.880 [Callback]State changed to Enabling DFU Mode
09:02:25.918 Data written to 00001531-1212-EFDE-1523-785FEABCD123
09:02:25.919 Jump to bootloader (Op Code = 1, Upload Mode = 4) request sent
09:02:26.148 [Callback] Central Manager did disconnect peripheral
09:02:26.148 Disconnected by the remote device
09:02:26.148 Connecting to Ble_gls...
09:02:26.149 centralManager.connect(peripheral, options: nil)
Related