We're building a Connect IQ **data field** (BluetoothLowEnergy, central role) on a **Forerunner 245** (fw 13.70, CIQ 3.3.6, SDK 9.3.0). It connects to our own BLE peripheral (nRF52840, Zephyr/NCS). The peripheral advertises connectable ADV_IND from a **random static** address.
Some of the time it works well: `pairDevice()` connects in 1–6 s, and we stream data for 10+ minutes.
But for periods of **~3–35 minutes** the watch **can't connect at all**:
- `pairDevice()` returns a Device, but `onConnectedStateChanged` never fires, even if we wait 3 minutes.
- A Windows PC connects to the same peripheral first time during these periods... its not an issue in our device.
We captured it with an nRF Sniffer. During a failing period the FR245 sends:
`CONNECT_IND InitA=D2:7C:91:C1:D0:37 (TxAdd=Random) → AdvA=F8:47:22:14:6A:1C RxAdd=Public` (CRC OK)
The same CONNECT_IND also has an unusual **Channel Map of 0x1800000000**: only 2 of 37 data channels. A phone connecting to this watch at about the same time used 0x1f7f000000. Interval 7.5 ms, timeout 4 s.
…while every ADV_IND from the peripheral has **TxAdd=Random**. The address matches, but the address *type* is wrong, so the peripheral's controller ignores the request, as the spec requires.
Patterns so far:
- The periods seem to start after the watch has been connected to a PC (USB mass storage) and/or after a phone app has connected to the peripheral.
- They clear by themselves.
- A watch reboot doesn't help, and nor does a peripheral reboot.
- When a link drops mid-session, the system's own auto-reconnect works fine.
**Questions:**
1. Is this a known issue on the FR245 or the CIQ 3.x BLE stack?
2. Is there anything an app can do to influence the peer address type used by `pairDevice()`? For example, would re-using a previously stored ScanResult help? We see no API for it before CIQ 5.1.
3. Is the recommendation for peripherals to use a **public** address with Garmin watches?
Screenshots of the CONNECT_IND and an ADV_IND are attached; a 37 KB pcap excerpt is here: <LINK>.
Thanks!