Вопрос или проблема
У меня установлена Windows 11 в режиме двойной загрузки с Ubuntu 22.04.
У меня есть беспроводные наушники (Sony 1000XM3), и я их уже связывал с Windows, что работало нормально. Но если я переключаюсь на Linux, я могу спарить и подключить наушники без проблем, но если я снова перехожу в Windows, Bluetooth начинает делать проблемы.
Сначала наушники не подключаются автоматически при запуске операционной системы, а когда я пытаюсь подключить их вручную, они соединяются всего на короткое время и снова отключаются.
Таким образом, единственное, что у меня работает, это то, что я должен заново связывать наушники каждый раз, когда решаю войти в Windows, но это, очевидно, огромная морока.
Существует ли какой-либо способ обойти эту проблему? Не уверен, насколько это распространено на самом деле.
-
Спарьте ваши Bluetooth-устройства в Linux.
-
Перезагрузитесь в Windows и спарьте те же Bluetooth-устройства в Windows.
-
Запустите regedt32.exe. Перейдите к “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters\Keys”
-
Щелкните правой кнопкой мыши на папке “Keys” в левом окне указанного пути и выберите “Экспорт”. В появившемся диалоговом окне измените “Сохранить как тип” на “Текстовые файлы”, убедитесь, что радиокнопка “Выбранная ветка” выбрана, и сохраните файл с нужным именем и в нужном месте.
- Заметка 1. Для этой цели удобно, если у вас уже сконфигурирован раздел диска, общий для обеих ОС, но это не абсолютно необходимо, так как вы можете использовать флешку для передачи файла.
- Заметка 2: Если у вас возникли проблемы с экспортом папки, щелкните правой кнопкой мыши на папке, выберите “Разрешения” и добавьте пользователей в группы, которые могут читать и редактировать папку.
П.С. Если вы не видите ключей, то перейдите в папку [HKLM\SYSTEM\ControlSet001\Services\BTHPORT\Parameters\Keys], щелкните правой кнопкой мыши и нажмите “Разрешения”, добавьте своего пользователя Windows и дайте ему “Полный доступ”. Тогда вы сможете увидеть ключи спаривания.
-
Теперь перезагрузитесь в Linux.
-
Откройте командную строку в Linux и введите sudo caja (если вы не используете Linux с MATE, у вас может быть другой файловый менеджер; замените по необходимости) и введите свой пароль на запрос. Это откроет файловый менеджер с правами SU, так что обращайтесь с ним осторожно… я не несу ответственности, если вы “убьете” свою систему!
-
Перейдите к /var/lib/bluetooth. Внутри этой папки вы увидите одну или обе вещи: либо одну папку с единственным MAC-адресом (вашего Bluetooth-адаптера компьютера), либо несколько папок, каждая из которых имеет свой собственный MAC-адрес для каждого спаренного Bluetooth-устройства (MAC-адрес будет в формате XX:XX:XX:XX:XX:XX). Если вы найдете только единственную папку, папки с индивидуальными MAC-адресами будут внутри первой папки адаптера.
-
Откройте папку, содержащую MAC-адрес устройства, которое вы хотите спарить в режиме двойной загрузки. Внутри этой папки будет один или два файла … файл, который вам нужен, называется “info”. Дважды щелкните по нему, и он откроется в текстовом редакторе с правами SU — то есть, вы сможете редактировать его и сохранять изменения. (кстати, если вы не уверены, какое устройство ищете, файл “info” содержит имя устройства на понятном языке, так что просто откройте каждый по очереди, пока не найдете нужное).
-
Откройте отдельный (без SU) экземпляр вашего файлового менеджера и используйте его для открытия текстового файла, который вы сохранили из Windows, в другой панели. Когда вы дважды щелкнете по этому файлу, Linux может спросить, хотите ли вы выполнить его или отредактировать … выберите редактирование.
-
Экспорт реестра 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)©§
-
Найдите строфу, содержащую значение на строке “Name:”, которая соответствует MAC-адресу файла, открытого в первой (SU) панели. Обратите внимание, что в файлах Windows формат MAC-адреса использует строчные буквы вместо прописных, и двоеточия отсутствуют.
-
Ваш ключ спаривания Bluetooth — это строка в строке, которая начинается с “00000000” и заканчивается множеством непонятных символов. Не копируйте ни нули, ни непонятные символы, просто строку между ними, содержащую 16 шестнадцатеричных кодов со знаком минус посередине.
-
Вставьте этот ключ в строку “Key=” в вашем файле “info”. Вы можете скопировать и вставить, если хотите (я это сделал), но вам нужно изменить строчные буквы на верхние и удалить все пробелы и дефисы. В приведенном выше примере результирующая строка будет выглядеть так:
Key=31C008FA4F7BD24C6FE17DBA3229A9A7
- Теперь сохраните файл, повторите для любых дополнительных устройств. Перезагрузитесь в 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 без необходимости повторного спаривания.
В основном, вам не нужно переходить от одной ОС к другой.
- В Linux спарьте устройства, которые хотите синхронизировать.
- Войдите в Windows и спарьте устройства.
- Войдите в Linux.
- Подмонтируйте раздел Windows или используйте опцию
--win MOUNT
- Запустите
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, вы сталкиваетесь с проблемами, такими как неавтоматическое подключение, частые отключения или необходимость повторного паринга.
Решение проблемы
Существуют несколько подходов для устранения данной проблемы, и мы рассмотрим каждый из них.
-
Обновление ключей Bluetooth:
-
На Windows 11:
- Откройте редактор реестра, введя
regedt32.exe
. - Перейдите по пути
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters\Keys
. - Правильно найдите и экспортируйте ключи, связанные с вашим устройством.
- Обратите внимание, что необходимо добавить права пользователю для доступа к ключам, если они не отображаются.
- Откройте редактор реестра, введя
-
На Ubuntu:
- Найдите папку с адресом
/var/lib/bluetooth
. - Здесь находятся файлы, содержащие информацию о подключенных устройствах. Найдите вашу гарнитуру по адресу MAC.
- Отредактируйте файл
info
, добавив экспортированный ключ из Windows.
- Найдите папку с адресом
-
-
Использование Bluetooth USB-адаптера:
- В случае если решение с ключами слишком сложно, вы можете использовать Bluetooth USB-адаптер. Выключите встроенный Bluetooth в операционной системе, обмениваясь идентификаторами, чтобы каждая ОС обнаруживала свою уникальную Bluetooth-установку. Убедитесь, что:
- В Linux отключен встроенный Bluetooth.
- В Windows отключен Bluetooth USB-адаптер.
- В случае если решение с ключами слишком сложно, вы можете использовать Bluetooth USB-адаптер. Выключите встроенный Bluetooth в операционной системе, обмениваясь идентификаторами, чтобы каждая ОС обнаруживала свою уникальную Bluetooth-установку. Убедитесь, что:
-
Применение утилиты
bt-dualboot
:- Этот инструмент стал популярным благодаря своей простоте и эффективности. Он позволяет синхронизировать Bluetooth-устройства между двумя операционными системами.
- Установите утилиту на Ubuntu и выполните все шаги по настройке.
- Запустите команду
sudo bt-dualboot -b --sync-all
, чтобы синхронизировать все устройства без необходимости повторного паринга.
- Этот инструмент стал популярным благодаря своей простоте и эффективности. Он позволяет синхронизировать Bluetooth-устройства между двумя операционными системами.
-
Изменение 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 может показаться сложной, но, следуя вышеперечисленным шагам, вы сможете успешно настроить одновременное использование гарнитуры без постоянного перепаринга. Изучив каждый подход, вы сможете выбрать наиболее подходящий для вашей ситуации метод.