Skip to content

feat(ble): distribute a unique per-device local IRK on the central#902

Open
hdwong wants to merge 1 commit into
HaoboGu:mainfrom
hdwong:main
Open

feat(ble): distribute a unique per-device local IRK on the central#902
hdwong wants to merge 1 commit into
HaoboGu:mainfrom
hdwong:main

Conversation

@hdwong

@hdwong hdwong commented Jul 3, 2026

Copy link
Copy Markdown
Contributor

Without a configured local IRK, trouble-host distributes an all-zero IRK during pairing that is identical on every device. Hosts that key bonds by identity (notably Windows) then collapse multiple RMK keyboards into a single device and reject the second one. macOS keys by address and is unaffected.

Derive a stable, unique, non-zero IRK from the device's BLE address and enable privacy with it on the host-facing central. Split peripherals pass None to keep their fixed address so the central can still find them.

Without a configured local IRK, trouble-host distributes an all-zero IRK
during pairing that is identical on every device. Hosts that key bonds by
identity (notably Windows) then collapse multiple RMK keyboards into a
single device and reject the second one. macOS keys by address and is
unaffected.

Derive a stable, unique, non-zero IRK from the device's BLE address and
enable privacy with it on the host-facing central. Split peripherals pass
`None` to keep their fixed address so the central can still find them.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant