You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It generally works OK and can finish DFU:ing our firmware in ~30-45 seconds. However, sometimes it simply goes to Sending firmware to DFU Packet characteristic ... and then nothing happens. Sometimes our bootloader will decide to restart resulting in a full restart of the DFU. Sometimes it suddenly progresses. This can be after anywhere from 30 seconds to 5 minutes. This can happen at any point during the DFU and sometimes multiple times during a single DFU.
What is the reason for it getting stuck at that point? Simply put, what is it waiting for? And is there anything we can do to mitigate this?
We are using your equivalent library for Android and there this never happens.
Logs
DEBUG: OtaService: DFU progress: Sending firmware to DFU Packet characteristic...
DEBUG: OtaService: DFU progress: Writing to characteristic 8EC90001-F315-4F60-9FB8-838830DAEA50...
DEBUG: OtaService: DFU progress: peripheral.writeValue(0x03, for: 8EC90001-F315-4F60-9FB8-838830DAEA50, type: .withResponse)
DEBUG: OtaService: DFU progress: Data written to 8EC90001-F315-4F60-9FB8-838830DAEA50
DEBUG: OtaService: DFU progress: Notification received from 8EC90001-F315-4F60-9FB8-838830DAEA50, value (0x): 60030100b00100d5286317
DEBUG: OtaService: DFU progress: Checksum (Offset = 110592, CRC = 176328D5) received
DEBUG: OtaService: DFU progress: Writing to characteristic 8EC90001-F315-4F60-9FB8-838830DAEA50...
DEBUG: OtaService: DFU progress: peripheral.writeValue(0x04, for: 8EC90001-F315-4F60-9FB8-838830DAEA50, type: .withResponse)
DEBUG: OtaService: DFU progress: Data written to 8EC90001-F315-4F60-9FB8-838830DAEA50
DEBUG: OtaService: DFU progress: Notification received from 8EC90001-F315-4F60-9FB8-838830DAEA50, value (0x): 600401
DEBUG: OtaService: DFU progress: Data object executed
DEBUG: OtaService: DFU progress: Writing to characteristic 8EC90001-F315-4F60-9FB8-838830DAEA50...
DEBUG: OtaService: DFU progress: peripheral.writeValue(0x010200100000, for: 8EC90001-F315-4F60-9FB8-838830DAEA50, type: .withResponse)
DEBUG: OtaService: DFU progress: Data written to 8EC90001-F315-4F60-9FB8-838830DAEA50
DEBUG: OtaService: DFU progress: Notification received from 8EC90001-F315-4F60-9FB8-838830DAEA50, value (0x): 600101
DEBUG: OtaService: DFU progress: Data object 28/29 created
DEBUG: OtaService: DFU progress: Uploading firmware...
DEBUG: OtaService: DFU progress: Sending firmware to DFU Packet characteristic...
--- TWO MINUTES OF SILENCE HERE ---
DEBUG: OtaService: DFU progress: Writing to characteristic 8EC90001-F315-4F60-9FB8-838830DAEA50...
DEBUG: OtaService: DFU progress: peripheral.writeValue(0x03, for: 8EC90001-F315-4F60-9FB8-838830DAEA50, type: .withResponse)
DEBUG: OtaService: DFU progress: Data written to 8EC90001-F315-4F60-9FB8-838830DAEA50
DEBUG: OtaService: DFU progress: Notification received from 8EC90001-F315-4F60-9FB8-838830DAEA50, value (0x): 60030100c00100981dcc7a
DEBUG: OtaService: DFU progress: Checksum (Offset = 114688, CRC = 7ACC1D98) received
DEBUG: OtaService: DFU progress: Writing to characteristic 8EC90001-F315-4F60-9FB8-838830DAEA50...
DEBUG: OtaService: DFU progress: peripheral.writeValue(0x04, for: 8EC90001-F315-4F60-9FB8-838830DAEA50, type: .withResponse)
DEBUG: OtaService: DFU progress: Data written to 8EC90001-F315-4F60-9FB8-838830DAEA50
DEBUG: OtaService: DFU progress: Notification received from 8EC90001-F315-4F60-9FB8-838830DAEA50, value (0x): 600401
DEBUG: OtaService: DFU progress: Data object executed
DEBUG: OtaService: DFU progress: Writing to characteristic 8EC90001-F315-4F60-9FB8-838830DAEA50...
DEBUG: OtaService: DFU progress: peripheral.writeValue(0x010260040000, for: 8EC90001-F315-4F60-9FB8-838830DAEA50, type: .withResponse)
DEBUG: OtaService: DFU progress: Data written to 8EC90001-F315-4F60-9FB8-838830DAEA50
DEBUG: OtaService: DFU progress: Notification received from 8EC90001-F315-4F60-9FB8-838830DAEA50, value (0x): 600101
DEBUG: OtaService: DFU progress: Data object 29/29 created
DEBUG: OtaService: DFU progress: Uploading firmware...
DEBUG: OtaService: DFU progress: Sending firmware to DFU Packet characteristic...
DEBUG: OtaService: DFU progress: Writing to characteristic 8EC90001-F315-4F60-9FB8-838830DAEA50...
The text was updated successfully, but these errors were encountered:
Thank you for creating the issue. This looks like an iOS issue...? Have you experienced it before? Did you try on a phone with older iOS version?
I'll try to replicate the issue, but I need to finish few other tasks before resuming work on the DFU library.
I did a lot of testing using the Test App and could not replicate the issue. I used iPhone 11 and iPhone Xs for tests, iOS 16 and 17. Do you know how can I reproduce the issue?
DFU Bootloader version (please complete the following information):
Device information (please complete the following information):
Describe the bug
We initiate a DFU to a our peripheral device using this code
It generally works OK and can finish DFU:ing our firmware in ~30-45 seconds. However, sometimes it simply goes to
Sending firmware to DFU Packet characteristic ...
and then nothing happens. Sometimes our bootloader will decide to restart resulting in a full restart of the DFU. Sometimes it suddenly progresses. This can be after anywhere from 30 seconds to 5 minutes. This can happen at any point during the DFU and sometimes multiple times during a single DFU.What is the reason for it getting stuck at that point? Simply put, what is it waiting for? And is there anything we can do to mitigate this?
We are using your equivalent library for Android and there this never happens.
Logs
The text was updated successfully, but these errors were encountered: