Сопряжение Bluetooth в Windows и двойной загрузке Manjaro/Arch

Переверните файл, запомните первую строку и напечатайте ее после последней строки , затем повторно -переверните файл:

tac file | awk 'FNR == 1 {last=$0} {print} END {print last}' | tac
# or
tac file | sed -n '1h; p; ${x;p}' | tac
0
21.04.2021, 00:43
1 ответ

Во-первых, многие ответы советуют заменить ключ в секции [linkKey]файла /var/lib/bluetooth/<ADAPTOR_MAC_ADDRESS>/<DEVICE_MAC_ADDRESS>/info. Этот раздел теперь, кажется, называется [LongTermKey]. Кроме того, [LocalSignatureKey]теперь кажется [IdentityResolvingKey].В некоторых ответах упоминается только изменение ключа в [linkKey], но вам также нужны записи Enc, Edivи Randи ключ для [IdentityResolvingKey].

Во-вторых, MAC-адрес устройства может быть непостоянным. В случае моего Logitech G604 он увеличивается на единицу при каждом сопряжении. Я обновил эти сценарии здесь , чтобы решить эту проблему.

Инструкции

  1. Загрузитесь в Linux и подключите устройство Bluetooth (к ). Вам понадобятся вновь сгенерированные файлы infoи attributesв /var/lib/bluetooth/<ADAPTOR_MAC_ADDRESS>/<DEVICE_MAC_ADDRESS>/.
  2. Перезагрузитесь в Windows и подключите устройство Bluetooth (к ).
  3. Загрузите PSExec и выполните следующую команду из командной строки, запущенной в режиме администратора:
PsExec64.exe -s -i regedit /e C:\BTKeys.reg HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\BTHPORT\Parameters\Keys
  1. Скопируйте файл C:\BTKeys.regна USB-ключ (или оставьте на диске C:, если он доступен из ОС Linux ).
  2. Выключите устройство Bluetooth (s )и снова загрузитесь в Linux. Не связывайте устройство снова в Linux. Это может сгенерировать новый MAC-адрес, который нарушит сопряжение Windows. (Я не знаю, нормально ли это, но именно это происходит с моим Logitech G604 ).
  3. Скопируйте файл BTKeys.regв файловую систему Linux.
  4. Запустите clean_reg_file.py --file_path BTKeys.reg --output clean.regдля очистки файла (преобразует кодировку в UTF8 и удаляет кавычки ).
  5. Выполнить bluetooth_fix.py --reg_path clean.reg.
  6. Из терминала с sudoперейдите к /var/lib/bluetooth/<ADAPTOR_MAC_ADDRESS>/.
  7. Создайте новый каталог, соответствующий MAC-адресу устройства из BTKeys.reg.
  8. Скопируйте infoи attributesиз старого каталога MAC-адресов в новый.
  9. Откройте /var/lib/bluetooth/<ADAPTOR_MAC>/<NEW_DEVICE_MAC>/infoи измените значения в соответствии с выходными данными шага 8.
  10. Перезапустите Bluetooth с помощью sudo systemctl restart bluetooth.
0
28.04.2021, 22:51

Теги

Похожие вопросы