DFU process gets stuck after a few retries
juliansteenbakker opened this issue · 0 comments
juliansteenbakker commented
DFU Bootloader version
- SDK version: SDK 15.2.0
- Bonding used: No
- Library version: 4.13.0 and master
Device information
- Device: iPad 2019
- OS: iOS 16.2
Describe the bug
I've created a plugin for Flutter which uses this pod. If a DFU has failed, i retry it up to 10 times. On Android with the android pod, this works without a problem, however on the iOS pod the process gets stuck after 2, 3 or sometimes 4 retries. Below you can see the log. It seems like it gets stuck after D: centralManager.cancelPeripheralConnection(peripheral)
. I've searched through the code and saw it gets printed here:
I've tried searching why it hangs on this point after the second time, but i couldn't find the source of the problem. I hope someone else has a clue as to what happens here.
Logs
(first retry)
D: [Callback] Central Manager did update state to: Powered ON
V: Connecting to device...
D: centralManager.connect(peripheral, options: nil)
W: Connection timeout!
D: centralManager.cancelPeripheralConnection(peripheral)
E: [Callback] Central Manager failed to connect to peripheral (timeout)
flutter: PlatformException(201, DFU FAILED: Device failed to connect, Address: (removed), Error type 201, null)
(second retry)
D: [Callback] Central Manager did update state to: Powered ON
V: Connecting to device...
D: centralManager.connect(peripheral, options: nil)
W: Connection timeout!
D: centralManager.cancelPeripheralConnection(peripheral)
(stops working from here)