Совместное использование Bluetooth-устройств между операционными системами
Моя среда:
Ubuntu : Ubuntu 24.04 Desktop
Windows : Windows 11
Суть в том, чтобы получить MAC-адрес, LTK, IRK Bluetooth-устройства, которое уже сопряжено в одной системе, и записать эту информацию в реестр другой системы.
Сначала сопрягите Bluetooth-устройство в Ubuntu, затем в Windows, чтобы обе системы сохранили информацию об устройстве (после этого нам нужно будет изменить только Address, LTK, IRK), и чтобы Windows могла использовать это устройство.
Настройка Windows
Скачайте https://learn.microsoft.com/zh-cn/sysinternals/downloads/psexec?ref=xavier.wang
После скачивания откройте PowerShell с правами администратора и в каталоге этой программы выполните команду, чтобы открыть реестр
.\\PsExec.exe -s -i regeditПерейдите в раздел реестра
HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\services\\BTHPORT\\Parameters\\Keys\\<MAC-адрес компьютера>/<MAC-адрес Bluetooth-устройства>Запишите LTK, IRK и адрес Bluetooth-устройства.
Настройка Ubuntu
На Ubuntu:
При этом адрес Bluetooth-устройства близок к адресу, который вы нашли в Windows (так как после каждого сброса устройства его адрес меняется, обычно увеличивается на единицу).
cd /var/lib/bluetooth/<MAC-адрес хоста>/<адрес Bluetooth-устройства>Просмотрите inf-файл
[General]Name=ERGO M575Appearance=0x03c2AddressType=staticSupportedTechnologies=LE;Trusted=trueBlocked=falseServices=00001800-0000-1000-8000-00805f9b34fb;00001801-0000-1000-8000-00805f9b34fb;0000180a-0000-1000-8000-00805f9b34fb;0000180f-0000-1000-8000-00805f9b34fb;00001812-0000-1000-8000-00805f9b34fb;00010000-0000-1000-8000-011f2000046d;
[IdentityResolvingKey]Key=8FC6396AB31C0E6AB68E37ED5BB7CC72
[SlaveLongTermKey]Key=313498DE3D05749C6B20D393BEF36FB1Authenticated=2EncSize=16EDiv=0Rand=0
[ConnectionParameters]MinInterval=6MaxInterval=9Latency=44Timeout=216
[DeviceID]Source=2Vendor=1133Product=45095Version=9
[ServiceChanged]CCC_LE=2Обратите внимание на изменение IdentityResolvingKey (IRK) и SlaveLongTermKey (STK).
После изменения переименуйте <адрес Bluetooth-устройства> в <адрес Bluetooth-устройства в Windows> и перезагрузите систему.
Ссылки:
https://www.insanelymac.com/forum/topic/268837-dual-boot-bluetooth-pairing-solved/page/2/
https://www.insanelymac.com/forum/topic/318483-keep-bluetooth-devices-paired-once-between-macwindows/page/2/
https://bbs.pcbeta.com/viewthread-1034129-1-1.html
https://github.com/digitalbirdo/BT-LinkkeySync/tree/master
https://ubuntuforums.org/showthread.php?t=1479056