Protocol
macOS and the "Mouse"·
Why macOS bonds the ring as a Mouse, why that breaks phones, and why it is the fastest transport on a Mac.
In 10 seconds
macOS bonds the ring as a HID Mouse within minutes of any session and then holds the link — phones can no longer
see it, but ring-cli attaches in ~10 ms without a scan. Decide per ring: phone or Mac, never both.
Hand it back: System Settings → Bluetooth → ⓘ → Forget This Device.
Why: the ring advertises HID 0x1812 with Apple PnP ids (05AC:0220) and itself sends an SMP Security Request;
bluetoothd pairs Just-Works and auto-connects it whenever it advertises. The driver cannot avoid it.
Consequences·
| field | value |
|---|---|
| phones go blind | LoraFit and the tiny app scan into silence. Forget the device in System Settings, then keep CoreBluetooth apps off it. blueutil cannot remove LE bonds; read them with /usr/sbin/system_profiler SPBluetoothDataType |
| the Mac gets a gift | retrieveConnectedPeripheralsWithServices([56FF]) returns the held ring; BleakClient(device).connect() attaches in ~10 ms — ring-cli battery end-to-end in 0.28 s instead of ~10 s. Several processes can attach at once; detaching keeps the system link. Ring.__aenter__ tries this first (ring.transport.system_connected_rings()) |
| bridges never reconnect | the bonded ring stays connected on and off the charger while in range |
Policy: the phone (tiny iOS/Android gateway) is the default owner of the link; the Mac driver is the reference and capture toolkit, and the bridge is for a ring that lives at a desk.