I'm writing a Connect IQ app that connects directly to a Meshtastic radio over BLE. Everything works when the radio has PIN pairing disabled.
With a six-digit PIN enabled, Garmin never shows a passkey prompt. The first protected GATT operation just fails with STATUS_GATT_INSUFFICIENT_AUTHENTICATION_FAIL (status 18).
I tried CONNECTION_STRATEGY_SECURE_PAIR_BOND, but that reliably reboots my Venu 3S on firmware 17.05. A minimal default-strategy control connects normally; changing only to the secure strategy produces an RTL Trap. requestBond() also rebooted a D2 Mach 2, and I haven't managed to get a PIN prompt on a fēnix 8 either.
Has anyone successfully paired a generic BLE peripheral requiring a six-digit passkey from a Connect IQ app? If so, which watch/firmware and API sequence did you use? I'm trying to establish whether generic passkey entry is actually supported or whether I'm hitting firmware bugs.
I've submitted the Venu crash as a separate bug report: Venu 3S secure-pair/bond RTL Trap (currently awaiting moderation).