InfiniTimeOrg / InfiniTimeOrg/InfiniTime
BLE bond deleted after 2 reboots without connectivity to central
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 3.4k
- Forks
- 1.1k
- PR merge metrics
- No merged PRs in 30d
Description
Verification
- I searched for similar bug reports (including closed issues) and found none was relevant.
What happened?
After 2 reboots bond was deleted
What should happen instead?
Bond is preserved after any number of reboots
Reproduction steps
- Turn off bluetooth on the central (phone etc.)
- Reboot PineTime
- Reboot PineTime
- Bond now is deleted on the watch
More details?
This behavior is counter-intuitive and likely most InfiniTime users are not aware of this behavior.
Likely this might also have negative impact on security - at least some companion apps (e.g. Gadgetbridge 0.79) will continue to function as before after the bond is deleted on the watch (whether any encrypted pairing is done in this case or all data is transferred unencrypted is an open question).
This is by design (see #796 and 51f62ad096024d45c0274267a90d6adfe58c7c6d ), but why the bond is removed after 2 reboots?
Does existence of the bond have any negative effects? Maybe this could/should be converted into a button under Bluetooth settings (or something like that)?
@evergreen22 Thanks for the BLE bonding functionality! Maybe you know answers to the questions above?
Version
1.14.0
Companion app
Gadgetbrigle, but this will also apply to others
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the behavior with Bluetooth disabled on the central and two PineTime reboots. Review issue #796 and commit 51f62ad096024d45c0274267a90d6adfe58c7c6d to understand the existing bonding behavior and why it is removed; done means the intended behavior is established and verified, either by preserving the bond or clearly documenting the design decision.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- embedded-iot, security
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100