Hello.
I looked for an existing post about my issue and didn’t find any.
I have the regular FP6 (not /e/OS) and I can’t pair the Garmin vivo move HR smartwatch.
Problem description
When attempting to pair the watch — either via Garmin Connect or directly through Android Bluetooth settings — a PIN code window appears briefly then closes after a few seconds with a “pairing failed, incorrect code” message, even when the correct code is entered in time. The behavior is identical whether pairing is initiated from Garmin Connect or from the system Bluetooth settings.
Key observation: The same watch pairs immediately and correctly with a Samsung S10e running /e/OS, which rules out a hardware defect on the watch side.
Hypotheses investigated
Android 16 SSP vs Legacy PIN protocol conflict — The vivomove HR uses Bluetooth Classic with Legacy PIN pairing. Recent Android versions prioritize SSP (Secure Simple Pairing) and may abort the Legacy PIN negotiation before the user can enter the code.
Android System Intelligence (ASI) interference — ASI in Android 15/16 analyses notifications for OTP codes and can redact or suppress them. The 6-digit PIN displayed by the watch closely resembles an OTP, potentially causing ASI to block the pairing notification. ASI was disabled for testing — no change in behavior. ASI was also crashing at the same time as the pairing attempt, which may or may not be coincidental.
Bluetooth cache corruption — Clearing the Bluetooth cache was attempted, though the cache clear buttons were greyed out in Settings, suggesting the cache may be managed differently in Android 16.
Garmin account/watch state — The watch was fully reset to factory settings and removed from the Garmin Connect online portal before re-attempting pairing. No change.
Third-party Bluetooth stack (Gadgetbridge) — Gadgetbridge manages Bluetooth independently from the Android system layer and officially supports the vivomove HR. It was tested as an alternative to Garmin Connect. The exact same behavior was observed, which strongly suggests the issue lies at the low-level Bluetooth firmware/kernel layer of the Fairphone 6 itself, not at the application or Android framework level.
Conclusion
Since both Garmin Connect and Gadgetbridge (which bypasses the Android Bluetooth framework) fail identically, the root cause appears to be in the Fairphone 6’s Bluetooth chip firmware or kernel driver, specifically in how it handles Legacy PIN pairing requests. The Samsung S10e running /e/OS succeeds, likely due to a different Bluetooth chipset with more permissive Legacy PIN handling.
Has anyone experienced this and found a workaround? Is this a known issue with the FP6 Bluetooth stack?