NordicSemiconductor / IOS-DFU-Library

OTA DFU Library for Mac and iOS, compatible with nRF5x SoCs
http://www.nordicsemi.com
BSD 3-Clause "New" or "Revised" License
525 stars 214 forks source link

nRF52840 DFU cannot find service #526

Closed duansenlin123 closed 8 months ago

duansenlin123 commented 9 months ago

question

When upgrading to nRF52840, an error message appears indicating that the service cannot be found

Logs

0gWith ld: [Callback] Central Manager did update state to: Powered ON
1gWith ld: Connecting to Matter25Q...
0gWith ld: centralManager.connect(peripheral, options: nil)
0gWith ld: [Callback] Central Manager did connect peripheral
5gWith ld: Connected to Matter25Q
1gWith ld: Discovering services...
0gWith ld: peripheral.discoverServices(nil)
5gWith ld: Services discovered
24gWith ld: DFU Service not found
0gWith ld: The following services were discovered:
0gWith ld:  - 00010203-0405-0607-0809-0A0B0C0D1910
0gWith ld:  - 8D53DC1D-1DB7-4CD3-868B-8A527460AA84
0gWith ld: Did you connect to the correct target? It might be that the previous services were cached: toggle Bluetooth from iOS settings to clear cache. Also, ensure the device contains the Service Changed characteristic
1gWith ld: Disconnecting...
0gWith ld: centralManager.cancelPeripheralConnection(peripheral)
0gWith ld: [Callback] Central Manager did disconnect peripheral
5gWith ld: Disconnected
dinesharjani commented 9 months ago

Dumb question but, did you follow what the logs themselves suggest? That you clear the iPhone's Bluetooth cache by going to Settings -> Bluetooth -> Off and then On? Using Control Panel does not work, because it doesn't turn Bluetooth off but just stop advertising instead.

duansenlin123 commented 9 months ago

Dumb question but, did you follow what the logs themselves suggest? That you clear the iPhone's Bluetooth cache by going to Settings -> Bluetooth -> Off and then On? Using Control Panel does not work, because it doesn't turn Bluetooth off but just stop advertising instead.

All done, it doesn't work

philips77 commented 8 months ago

Well... looks like your device does not support Legacy or Secure DFU or the UUID aren't standard. Using the UuidHelper it is possible to change the service UUIDs if necessary.