Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

updateFirmware invokes multiple factory resets on iOS #521

Open
2 of 10 tasks
korzonkiee opened this issue Dec 9, 2024 · 8 comments · May be fixed by #523
Open
2 of 10 tasks

updateFirmware invokes multiple factory resets on iOS #521

korzonkiee opened this issue Dec 9, 2024 · 8 comments · May be fixed by #523
Labels
bug Something isn't working

Comments

@korzonkiee
Copy link
Contributor

Platform on which you observed the bug:

  • Android
  • iOS
  • Other
  • Platform is not relevant for this bug

Device on which you observed the bug:

  • Polar OH1
  • Polar Verity Sense
  • Polar H10
  • Polar H9
  • Other
  • Device is not relevant for this bug

Describe the bug

While reviewing the iOS implementation, I noticed that a factory reset is performed before each file is written to the device (link), followed by an additional reset after all the files have been written (link). So for example, when updating Polar 360 from version 1.1.0 to 1.1.24, two firmware files—SYSUPDAT.IMG and BTUPDAT.BIN—are involved, resulting in a total of three factory resets during the update process.

I wanted to confirm if this is the intended behavior. On Android, the factory reset is performed only once, after all files have been written to the device.

Could you please clarify if this discrepancy is expected, or if any adjustments are necessary?

@korzonkiee korzonkiee added the bug Something isn't working label Dec 9, 2024
korzonkiee added a commit to korzonkiee/polar-ble-sdk that referenced this issue Dec 9, 2024
…rform factory reset before each firmware file write operation polarofficial#521
@korzonkiee
Copy link
Contributor Author

Fixed in #523

@jimmyzumthurm
Copy link
Member

jimmyzumthurm commented Dec 9, 2024

Steps should be :

  1. Factory defaults, device reboots
  2. SDK connect to device, send all firmware images to device -> device auto reboots and upgrade itself, and boot
  3. SDK connects to device when it come back alive -> factory defaults
  4. Backup sync

It is expected to have 2 factory defaults command then, but having 1 for each file seems like a bug.

@korzonkiee
Copy link
Contributor Author

Thanks for clarifying @jimmyzumthurm. With this PR: #523, iOS will behave exactly as you described. However, on Android currently implementation performs only one factory reset before writing the files: see here. I will open a PR soon that aligns that.

@korzonkiee
Copy link
Contributor Author

Fixed in #525

@ClemDelb
Copy link

@korzonkiee Hi, can u please show your implementation to perform the firmware update ? i always get "Error during firmware update: serviceNotFound" when i try. Thank you by advance

@korzonkiee
Copy link
Contributor Author

@korzonkiee Hi, can u please show your implementation to perform the firmware update ? i always get "Error during firmware update: serviceNotFound" when i try. Thank you by advance

Here is the Android & iOS implementation of the updateFirmware method from our own fork of Polar SDK.

@pth-pe-gh
Copy link
Contributor

FLOW-61158

@ClemDelb
Copy link

@korzonkiee Is there a minimum firmware version for updating H10 sensors? And is there any configuration to be added in the SDK initialisation or any other prerequisites?
I always get ‘serviceNotFound’ with all my H10 when i tried to call the function.

Here is my implementation : #504

Thank you by advance !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
4 participants