Невозможно подключить одни и те же наушники одновременно к Windows 11 и Ubuntu.

Вопрос или проблема

У меня установлена Windows 11 в режиме двойной загрузки с Ubuntu 22.04.

У меня есть беспроводные наушники (Sony 1000XM3), и я их уже связывал с Windows, что работало нормально. Но если я переключаюсь на Linux, я могу спарить и подключить наушники без проблем, но если я снова перехожу в Windows, Bluetooth начинает делать проблемы.

Сначала наушники не подключаются автоматически при запуске операционной системы, а когда я пытаюсь подключить их вручную, они соединяются всего на короткое время и снова отключаются.

Таким образом, единственное, что у меня работает, это то, что я должен заново связывать наушники каждый раз, когда решаю войти в Windows, но это, очевидно, огромная морока.

Существует ли какой-либо способ обойти эту проблему? Не уверен, насколько это распространено на самом деле.

  1. Спарьте ваши Bluetooth-устройства в Linux.

  2. Перезагрузитесь в Windows и спарьте те же Bluetooth-устройства в Windows.

  3. Запустите regedt32.exe. Перейдите к “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters\Keys”

  4. Щелкните правой кнопкой мыши на папке “Keys” в левом окне указанного пути и выберите “Экспорт”. В появившемся диалоговом окне измените “Сохранить как тип” на “Текстовые файлы”, убедитесь, что радиокнопка “Выбранная ветка” выбрана, и сохраните файл с нужным именем и в нужном месте.

    • Заметка 1. Для этой цели удобно, если у вас уже сконфигурирован раздел диска, общий для обеих ОС, но это не абсолютно необходимо, так как вы можете использовать флешку для передачи файла.
    • Заметка 2: Если у вас возникли проблемы с экспортом папки, щелкните правой кнопкой мыши на папке, выберите “Разрешения” и добавьте пользователей в группы, которые могут читать и редактировать папку.

П.С. Если вы не видите ключей, то перейдите в папку [HKLM\SYSTEM\ControlSet001\Services\BTHPORT\Parameters\Keys], щелкните правой кнопкой мыши и нажмите “Разрешения”, добавьте своего пользователя Windows и дайте ему “Полный доступ”. Тогда вы сможете увидеть ключи спаривания.

  1. Теперь перезагрузитесь в Linux.

  2. Откройте командную строку в Linux и введите sudo caja (если вы не используете Linux с MATE, у вас может быть другой файловый менеджер; замените по необходимости) и введите свой пароль на запрос. Это откроет файловый менеджер с правами SU, так что обращайтесь с ним осторожно… я не несу ответственности, если вы “убьете” свою систему!

  3. Перейдите к /var/lib/bluetooth. Внутри этой папки вы увидите одну или обе вещи: либо одну папку с единственным MAC-адресом (вашего Bluetooth-адаптера компьютера), либо несколько папок, каждая из которых имеет свой собственный MAC-адрес для каждого спаренного Bluetooth-устройства (MAC-адрес будет в формате XX:XX:XX:XX:XX:XX). Если вы найдете только единственную папку, папки с индивидуальными MAC-адресами будут внутри первой папки адаптера.

  4. Откройте папку, содержащую MAC-адрес устройства, которое вы хотите спарить в режиме двойной загрузки. Внутри этой папки будет один или два файла … файл, который вам нужен, называется “info”. Дважды щелкните по нему, и он откроется в текстовом редакторе с правами SU — то есть, вы сможете редактировать его и сохранять изменения. (кстати, если вы не уверены, какое устройство ищете, файл “info” содержит имя устройства на понятном языке, так что просто откройте каждый по очереди, пока не найдете нужное).

  5. Откройте отдельный (без SU) экземпляр вашего файлового менеджера и используйте его для открытия текстового файла, который вы сохранили из Windows, в другой панели. Когда вы дважды щелкнете по этому файлу, Linux может спросить, хотите ли вы выполнить его или отредактировать … выберите редактирование.

  6. Экспорт реестра Windows будет содержать несколько строф (по одной для каждого устройства), которые выглядят так (не беспокойтесь, я изменил MAC и ключ на вымышленные):

Value 1 Name: 0008e024d45e Type:
REG_BINARY Data: 00000000 31 c0 08 fa 4f 7b d2 4c

  • 6f e1 7d ba 32 29 a9 a7 1À.ïO{ÒLoá}ºQ)©§
  1. Найдите строфу, содержащую значение на строке “Name:”, которая соответствует MAC-адресу файла, открытого в первой (SU) панели. Обратите внимание, что в файлах Windows формат MAC-адреса использует строчные буквы вместо прописных, и двоеточия отсутствуют.

  2. Ваш ключ спаривания Bluetooth — это строка в строке, которая начинается с “00000000” и заканчивается множеством непонятных символов. Не копируйте ни нули, ни непонятные символы, просто строку между ними, содержащую 16 шестнадцатеричных кодов со знаком минус посередине.

  3. Вставьте этот ключ в строку “Key=” в вашем файле “info”. Вы можете скопировать и вставить, если хотите (я это сделал), но вам нужно изменить строчные буквы на верхние и удалить все пробелы и дефисы. В приведенном выше примере результирующая строка будет выглядеть так:

Key=31C008FA4F7BD24C6FE17DBA3229A9A7

  1. Теперь сохраните файл, повторите для любых дополнительных устройств. Перезагрузитесь в Windows, ваше устройство теперь должно работать. Перезагрузитесь в Linux, оно также должно работать.

Удачи!

Есть довольно простое решение этой проблемы.
Проблема в том, что Windows связывается с этим Bluetooth-устройством, так как она является менеджером внутреннего Bluetooth-модуля вашего ноутбука, однако Linux тоже так считает.

У них разные подписи спаривания.

Легкое решение: измените Bluetooth-MAC-адрес в Linux

sudo hciconfig hci0 down
sudo bluemoon -A
sudo hciconfig hci0 up
sudo systemctl restart bluetooth.service

Теперь у вас новая идентичность в Linux.
Спарьте с вашим устройством, обратите внимание, что вам нужно делать это при каждой перезагрузке.
Когда вы вернетесь в Windows, вам снова не придется делать спаривание.

Проблема в том, что у вашего Bluetooth-устройства разные подписи спаривания между Linux и Windows.

Самый простой способ – купить Bluetooth USB-донгл, отключить внутренний Bluetooth в Linux и отключить Bluetooth USB-донгл в Windows.

Отключение внутреннего Bluetooth в Linux:

  • lsusb
  • В моем случае мой внутренний Bluetooth это Bus 003 Device 008: ID 8087:0026 Intel Corp. AX201 Bluetooth
  • sudo vim /etc/udev/rules.d/81-bluetooth-hci.rules
  • SUBSYSTEM=="usb", ATTRS{idVendor}=="8087", ATTRS{idProduct}=="0026", ATTR{authorized}="0"

Отключение Bluetooth USB-донгла в Windows:

  • Перейдите в Диспетчер устройств
  • Разверните раздел “Bluetooth”
  • Подключите/отключите ваш Bluetooth USB-донгл, чтобы определить его в списке
  • Щелкните правой кнопкой мыши и отключите устройство

Теперь у вас разные MAC-адреса Bluetooth в Windows/Linux, и автоматическое спаривание должно работать без проблем.

Этот пост на community.frame.work указывает на автоматическое решение с использованием библиотеки bt-dualboot.
С главной страницы библиотеки:

Удобный инструмент, позволяющий вашим Bluetooth-устройствам работать как в
Windows, так и в Linux без необходимости повторного спаривания.

В основном, вам не нужно переходить от одной ОС к другой.

  1. В Linux спарьте устройства, которые хотите синхронизировать.
  2. Войдите в Windows и спарьте устройства.
  3. Войдите в Linux.
  4. Подмонтируйте раздел Windows или используйте опцию --win MOUNT
  5. Запустите sudo bt-dualboot -b --sync-all из терминала.

Опция -b создает резервную копию реестра и по умолчанию сохраняет в /var/backup/bt-dualboot.

Очень просто, это сработало на моем устройстве.

Ответ или решение

Проблема совместного использования Bluetooth на Windows 11 и Ubuntu: Решение

Имея установленную двойную загрузку с Windows 11 и Ubuntu 22.04, пользователям может встретиться проблема с использованием Bluetooth-гарнитур, таких как Sony WH-1000XM3. При подключении к одной операционной системе возникает проблема с отключением или невозможностью повторного подключения к другой системе. Это происходит из-за того, что Windows и Linux используют разные механизмы и ключи для обработки свободного подключения Bluetooth-устройств. В этой статье рассмотрим возможные решения данной проблемы.

Основная проблема

Когда вы подключаете свои Bluetooth-гарнитуры к Windows, операционная система отдает команду на паринг с определенными ключами. В то же время, когда вы переключаетесь на Linux, система может создать свои собственные уникальные ключи паринга. Вернувшись в Windows, вы сталкиваетесь с проблемами, такими как неавтоматическое подключение, частые отключения или необходимость повторного паринга.

Решение проблемы

Существуют несколько подходов для устранения данной проблемы, и мы рассмотрим каждый из них.

  1. Обновление ключей Bluetooth:

    • На Windows 11:

      1. Откройте редактор реестра, введя regedt32.exe.
      2. Перейдите по пути HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters\Keys.
      3. Правильно найдите и экспортируйте ключи, связанные с вашим устройством.
      4. Обратите внимание, что необходимо добавить права пользователю для доступа к ключам, если они не отображаются.
    • На Ubuntu:

      1. Найдите папку с адресом /var/lib/bluetooth.
      2. Здесь находятся файлы, содержащие информацию о подключенных устройствах. Найдите вашу гарнитуру по адресу MAC.
      3. Отредактируйте файл info, добавив экспортированный ключ из Windows.
  2. Использование Bluetooth USB-адаптера:

    • В случае если решение с ключами слишком сложно, вы можете использовать Bluetooth USB-адаптер. Выключите встроенный Bluetooth в операционной системе, обмениваясь идентификаторами, чтобы каждая ОС обнаруживала свою уникальную Bluetooth-установку. Убедитесь, что:
      • В Linux отключен встроенный Bluetooth.
      • В Windows отключен Bluetooth USB-адаптер.
  3. Применение утилиты bt-dualboot:

    • Этот инструмент стал популярным благодаря своей простоте и эффективности. Он позволяет синхронизировать Bluetooth-устройства между двумя операционными системами.
      1. Установите утилиту на Ubuntu и выполните все шаги по настройке.
      2. Запустите команду sudo bt-dualboot -b --sync-all, чтобы синхронизировать все устройства без необходимости повторного паринга.
  4. Изменение MAC-адреса Bluetooth:

    • Этот метод более сложный, но возможный:
      sudo hciconfig hci0 down
      sudo bluemoon -A
      sudo hciconfig hci0 up
      sudo systemctl restart bluetooth.service
    • Этот процесс делает ваш Lenovo Bluetooth-адаптер "невидимым" для Windows, тем самым устраняя конфликты.

Заключение

Проблема конфликта паринга Bluetooth-устройств в Windows 11 и Ubuntu может показаться сложной, но, следуя вышеперечисленным шагам, вы сможете успешно настроить одновременное использование гарнитуры без постоянного перепаринга. Изучив каждый подход, вы сможете выбрать наиболее подходящий для вашей ситуации метод.

Оцените материал
Добавить комментарий

Капча загружается...