Ring pairs but never connects

I can pair with the ring but when I view it in the system settings it’s never connected. The app says it doesn’t know the firmware version because it hasn’t seen the ring yet. Pressing “connect” in the system settings doesn’t do anything

Following the SOS pattern on the ring does reset it but I don’t see the LED blink like the instructions say it would.

If it matters this is on Android 13

Nevermind the LED does do the blinking it’s just subtle

Hey there, it’s not going to say connected all the time in your Bluetooth settings since it’s not connected like a typical Bluetooth device would be. Does it say that your ring is paired in the Pebble app?

What happens when you press the + under devices in the app and add the Index?

It does say that it’s connected under the devices page but in the index menu it says in the top I need to push the button to sync. In the settings under firmware it says “Not yet seen device”

I’ve been testing it by trying to get it to pause music. Nothing unfortunately. Recordings aren’t coming in either.

I just wiped the app and ring and went through a completely fresh setup sequence as described here. I accepted everything it asked and still nothing.

This is a Unihertz Jelly Star running LineageOS. Bet you didn’t have that in your test suite haha

Could you do me a huge favor and submit a bug report by pressing the orange bug icon at the top of the page? We’ll get you sorted out!

Bug report was submitted about an hour ago

Hey! We are aware of an issue with some Unihertz devices so it’s likely something which can be fixed with an app update, stay tuned!

I’m curious to know what the issue is once you got it figured out.

the issue is that unihertz (and many other Android phone brands) are absolutely terrible at Bluetooth and allowing apps to run in background

I let codex run some adb commands on my phone pertaining to this. Here’s the info it spat out. Not sure how helpful this is:

    1. Unofficial LineageOS 20/TrebleDroid GSI from November 2024
    2. Android 13 system over Android 12 vendor components
    3. Jelly Star vendor build 20240430_1716
    4. MediaTek MT6789 + MT6631 connectivity hardware
    5. Bluetooth/Wi-Fi firmware dated November 2023
    6. Kernel 5.10.198 from January 2024
    7. Bluetooth service is stable and has recorded zero crashes
    8. A2DP hardware offload is already disabled
    9. The Treble “System Wide BT HAL” workaround is enabled
    10. The Treble “Bluetooth workarounds” preference is effectively unset; the MediaTek-specific workaround is not active
    11. The phone is currently using 2.4 GHz Wi-Fi on channel 6. Bluetooth shares that spectrum and radio subsystem, making coexistence a credible contributor

My understanding is I haven’t gotten any kernel updates since I switched this to lineage two years ago. If I’m just running too weird of a setup and need to update let me know.

I hate to be the guy blindly pasting AI slop but I am very much out of my element here. I had codex watch the pairing process and here’s what it found:

• Captured. The failure is specific and repeatable:

  • BLE connection succeeds.
  • Service discovery succeeds.
  • MTU 177 negotiates successfully.
  • The app reaches SUBSCRIBING_TO_TELESTO_CTRL.
  • It remains there with sent=0, recv=0.
  • The ring disconnects about 9–10 seconds later with status 19 (REMOTE_USER_TERMINATED_CONNECTION), or the app times out and cancels locally.

Most suspiciously, the trace shows setCharacteristicNotification() for the Telesto control characteristic, but no successful CCCD descriptor-write callback. That subscription
handshake appears to be where compatibility breaks. This explains why the MediaTek HCI workaround did nothing—the radio and lower-level BLE connection already work.

Android connects successfully and completes GATT discovery, but Haversine LinkTransport stalls in SUBSCRIBING_TO_TELESTO_CTRL for characteristic c0ef558a-2058-fabf-a140-8d5acde50b39. No CCCD write completion is visible, no payload is exchanged, and the peripheral terminates with GATT status 19 after approximately ten seconds.

It generated a larger txt file with logs of the failure:

Jelly Star / Pebble Index 01 BLE failure excerpt
Captured: 2026-08-14 11:43-11:45 America/Denver
Android app: coredevices.coreapp 1.8.0.7 (3673)
Index BLE address: redacted (EA:2D:3D:xx:xx:xx)

Successful lower-level connection and discovery:
11:44:20.227 BluetoothGatt: onClientConnectionState status=0 newState=connected
11:44:20.234 BluetoothGatt: configureMTU mtu=177
11:44:20.239 HS-LinkTransport: enterLinkState DISCOVERING_SERVICES
11:44:20.249 BluetoothGatt: onSearchComplete Status=0
11:44:20.252 HS-LinkTransport: enterLinkState SUBSCRIBING_TO_TELESTO_CTRL
11:44:20.252 BluetoothGatt: setCharacteristicNotification uuid=c0ef558a-2058-fabf-a140-8d5acde50b39 enable=true
11:44:21.128 BluetoothGatt: onConfigureMTU mtu=177 status=0
11:44:21.327 BluetoothGatt: onConnectionUpdated interval=10 latency=0 timeout=125 status=0

The subscription never completes:
11:44:29.048 HS-a: LinkTransport state=SUBSCRIBING_TO_TELESTO_CTRL sent=0 recv=0
11:44:29.933 BluetoothGatt: onClientConnectionState status=19 newState=disconnected
11:44:29.956 HS-by4: HaversineException: Connection failure

Second attempt, same sequence:
11:44:32.795 BluetoothGatt: onClientConnectionState status=0 newState=connected
11:44:32.816 BluetoothGatt: onSearchComplete Status=0
11:44:32.821 HS-LinkTransport: enterLinkState SUBSCRIBING_TO_TELESTO_CTRL
11:44:39.051 HS-a: LinkTransport state=SUBSCRIBING_TO_TELESTO_CTRL sent=0 recv=0
11:44:42.556 BluetoothGatt: onClientConnectionState status=19 newState=disconnected
11:44:42.573 HS-by4: HaversineException: Connection failure

Third attempt was cancelled locally after the same stalled subscription:
11:44:51.808 BluetoothGatt: onClientConnectionState status=0 newState=connected
11:44:51.823 BluetoothGatt: onSearchComplete Status=0
11:44:51.825 HS-LinkTransport: enterLinkState SUBSCRIBING_TO_TELESTO_CTRL
11:45:01.511 BluetoothGatt: cancelOpen
11:45:01.517 BluetoothGatt: onClientConnectionState status=0 newState=disconnected

Other relevant stack warnings:
Bluetooth stack repeatedly logged:
Call back not found for application conn_id=3/4/5/7
disconnect no eatt device found
bta_gattc_mark_bg_conn unable to find the bg connection mask

Interpretation:

  • BLE radio connection succeeds (status 0).
  • Service discovery succeeds (status 0).
  • MTU 177 and connection parameters are negotiated successfully.
  • Failure is during subscription to the Telesto control characteristic.
  • No application payload is sent or received before failure.
  • Two attempts end with GATT status 19 / HCI reason 0x13 (remote user terminated connection).
  • One attempt is cancelled locally by the app/library after approximately ten seconds.

It also generated a zip of a bunch of logs around the time of failure. It contains:

  • Pebble app logs and state transitions
  • Bluetooth service history and configuration
  • Two compressed Bluetooth HCI “btsnooz” packet traces
  • Wi-Fi, cellular, battery, process, package, permission, notification, and activity diagnostics
  • Kernel, HAL, MediaTek vendor-service, and crash information
  • A list of installed applications
  • Build fingerprints and firmware versions

Let me know if you guys want that and I can figure out a way to upload it.

Appreciate it, we do get plenty of info from the bug reports to diagnose such things. If you want more detail, basically many phone vendors use drivers which just lock-up entirely if the app/device times things wrong or data comes in as it tries to configure Bluetooth. This results in it seeming like no communication happens past a certain point when it’s just the OS no longer listening.

The drivers are broken in slightly different ways depending on the phone, but a fix will be released which appear to work at least for some Unihertz phones that have had issues.

Just noting this here for future readers; I was sent an updated version which fixed the issue. Thanks everyone for the quick response.