InfiniTimeOrg / InfiniTimeOrg/InfiniTime

Watch bond removed/overwritten

Open
#2,295 7 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug needs more info
Dominant language
C
Stars
3.4k
Forks
1.1k
PR merge metrics
No merged PRs in 30d

Description

When pairing a watch with an encrypted connection (you can use an ANCS build to create one), the watch often deletes/overwrites the bond it has with my iPhone.

Let's say I pair my watch (without a previous bond) with all the persisted data removed from InfiniLink. When I connect, iOS will ask for the passkey to be inputted. I enter the passkey, and a bond is created. The next time the watch disconnects/reconnects, I get an error saying "There was an error connecting to the peripheral because the bond has been removed." To fix this, I have to delete the bond iOS saved, and pair again using the code.

This behavior is pretty unpredictable--sometimes it happens, sometimes it doesn't. And it's not an issue with InfiniLink; all the pairing stuff is handled by iOS.

I'm not sure if it has something to do with the ANCS implementation, but I don't recall it happening when just encrypting the battery characteristic, although I could be wrong.

Can anyone using iOS reproduce this?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the failure with an ANCS build and a freshly cleared InfiniLink state. Compare encrypted ANCS pairing with encryption of the battery characteristic, focusing on the disconnect/reconnect flow and when the bond is stored or replaced. Done means the watch reconnects without requiring the iOS bond to be deleted and pairing to be repeated.

Written by the indexing model from the issue text.

Assessment

Tech stack
ios
Domain
embedded-iot, security
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.