It looks like the data you are sending for the write request is different sizes/lengths between the two logs; Is it supposed to be different sizes? (I would expect you to be testing uploading the same image from each phone IOS test...)
If the OTA bootloader is expecting a full flash row, but is only receiving the x-number of bytes, then it could be waiting for more data.
It looks like the bootloader is being stopped by the phone after ~8 seconds, I would assume it is you clicking the stop button.
Try getting the write request to be the same length/data and go from there
The data source are the same and we did not click on stop button. We just did everything the same in iOS 8,9,10,11. But we can do the update in iOS 8,11 but not 9,10.
We have implemented the OTA function with the source code provided in the Cypress web site, and we found the OTA function can not be executed in iOS 9 and iOS 10, and then we used the official CYSMART app to do counter checking with the OTA function, and found it is the similar problem in iOS 9 and iOS 10 with CYSMART app. we have used the same firmware application file, which is can do OTA successfully in iOS 8 and 11 either our customer APP or CYSMART APP, but failure with iOS 9 and iOS 10.
And above screen shot of the log messages of failure and success are come from CYSMART APP. And we certain not to press STOP button to stop the OTA process.
Hmmmmm; Yeah, I don't know why there would be a difference in operation between the iOS 8,9,10,11 versions when running the same source code, application, and firmware hex image.
Potentially, there is an iOS operation/function being called in the code that has different behavior between the different versions.
The Bluetooth library being used would be the largest suspect for that kind of behavior.
Knowing that you aren't pressing the stop/cancel, then based on the logs, it looks like the software is timing out or ending the OTA attempt on its own. Looking into what/why the OTA update ends early might be a good direction to take. Otherwise, checking out the changes between version 8,9 and 10,11 of the iOS to see what was removed/re-added again that would affect Bluetooth or calculations for the OTA update software.
Sorry I'm not very helpful, I don't work with Apple products
Thanks Epratt for your supporting, actually we only fail for OTA function with iOS9 only, and we are still looking for the solution on this, thanks anyway.
That's good it is only failing on one version
Looking into the iOS version notes might be useful to determine what is different to cause the OTA to fail.
Good luck though, and God Bless