Сделайте постоянное подключение Bluetooth-динамика UE BOOM

Сделайте постоянное подключение Bluetooth-динамика UE BOOM

Я могу добавить и подключить Bluetooth-динамик в Linux (динамик UE BOOM; некоторые подробности в этом ответездесь). На этом этапе он сопряжен, надежен и работает идеально.

Проблема в том, что почти после каждого выхода из системы и после каждой перезагрузки динамик Bluetooth отсутствует в списке устройств вывода, которые можно выбрать в pavucontrolили впанельный апплеткоторый я установил в этом Mint Xfce.

То же самое происходит, если динамик был отключен и использован другим устройством или телефоном.

Он по-прежнему присутствует в списке устройств в настройках Bluetooth, но отключен и не может быть включен.

введите описание изображения здесь

В редких случаях устройство помечается как «мягко заблокированное» в sudo rfkill list. В таких случаях я могу разблокировать его с помощью sudo rfkill unblock bluetooth, чего иногда бывает достаточно, но в большинстве случаевтеслучаев недостаточно (приходится подключать вручную). Но в большинстве случаеввсеслучаях (то есть, когда устройство видно, но не подключается), этонетзаблокирован.


Что работает во всех случаях

(но я бы хотел избежать этого после каждого перезапуска/входа в систему):

  • полное удаление устройства из настроек Bluetooth Xfce,
  • нажатие кнопки Bluetooth на динамике (изображение),
  • позвольте ноутбуку снова найти динамик UE BOOM. (В большинстве случаев этого достаточно, чтобы динамик подключился автоматически и появился в pavucontrolапплете панели. В некоторых случаях команда sudo rfkill unblock bluetoothнеобходима, прежде чем компьютер сможет увидеть динамик.)

Таким образом, здесь, по-видимому, есть две проблемы, которые могут возникнуть или не возникнуть одновременно:

  • динамик «мягко заблокирован»

  • говорящий виден, но без связи

Эта проблема не является специфичной для Ubuntu, Xfce или ядра, я наблюдал ее в том же виде в Ubuntu Gnome, KDE-neon и в Solus (Gnome и Budgie).


Изменение #AutoEnable=falseна AutoEnable=trueне /etc/bluetooth/main.confпомогает.


Системы, в которых я столкнулся с этой проблемой:

  • Linux Mint 18.2 Xfce

  • Ubuntu-Gnome 17.04

  • KDE-neon (на базе Ubuntu-16.04),

  • Солус (Гном и волнистый попугайчик)

  • Кубунту 17.10

решение1

Прежде всего убедитесь, что к тому же внешнему USB-устройству не подключены другие устройства, например смартфоны или ноутбуки.


Я думаю, будет нормально упомянуть в этом вопросе практическое решение, которое я нашел, или, вернее, практические обстоятельства, при которых проблема исчезла, и это может пролить свет на то, в чем на самом деле заключается проблема (или нет).

Итак, после того, как я увидел эту проблему в Linux Mint 18.2 Xfce, Ubuntu-Gnome (17.04, если я не ошибаюсь), KDE-neon (на основе Ubuntu-16.04, я думаю) и в Solus (Gnome и Budgie, скользящий релиз), я могу подтвердить, чтоUbuntu 16.04 («Ubuntu Desktop», он же Unity) не подвержен этой уязвимости..

После добавления и подключения динамик Bluetooth-устройства запоминается и автоматически подключается при включении питания без предварительного или дальнейшего вмешательства.

Его нужно только выбрать в настройках звука.

введите описание изображения здесь

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


ОБНОВЛЕНИЕ ~ Другие системы, на которые эта проблема не влияет:

  • Linux Mint 18.3 KDE

  • Linux Mint 18.3 Mate


Что работает в системах, где возникает эта проблема:

В таких случаях запуск sudo rfkill listдает Soft blocked: yes, который можно разблокировать с помощью sudo rfkill unblock bluetoothили даже rfkill unblock bluetooth.

Если это не поможет разблокировать (или вообще не поможет), возможно, стоит сделать следующее:

systemctl enable bluetooth.service
systemctl start bluetooth.service

(как указаноздесь; первая команда запросит пароль несколько раз)


Устройство UE BOOM2 может бытьперезагрузитьс длительным нажатием одновременно накнопка питания и кнопка уменьшения громкости(пока не раздастся звук и устройство не выключится), что может быть полезно в сочетании с вышеизложенным.

решение2

Динамик UE Boom 2 использует технологию Bluetooth Low Energy (LE) для периодического оповещения об уровне заряда батареи и позволяет осуществлять дистанционное включение питания с помощью приложения для мобильного телефона, даже если он выключен.

Испытав ту же проблему, что и OP, я считаю, что это причина проблемы... По какой-то причине Bluez пытается подключиться к динамику, используя LE вместо BR/EDR (обычный Bluetooth), и тут же терпит неудачу. Сообщения журнала обычно относятся к GATT, и в качестве дополнительного доказательства, когда устройство выключено, оно все равно попытается подключиться, но не вернет ожидаемое сообщение «хост отключен», потому что LE всегда включен и доступен. На самом деле он не подключается к аудиоприемнику и большую часть времени сообщает «ресурс недоступен».

Итак... Во время процесса сопряжения файл конфигурации записывает, что устройство поддерживает LE. Чтобы решить проблему, я просто удалил этот атрибут поддержки. У меня не было проблем с подключением с тех пор(за исключением случаев, когда динамик уже подключен к моему телефону, но это уже другая проблема)даже при перезагрузке или выходе из системы.

После сопряжения динамика выключите Bluetooth с помощью:

sudo rfkill block bluetooth

Откройте файл в редакторе (nano/vim) как root:

/var/lib/bluetooth/<bluetooth-adapter-mac-address>/<speaker-mac-address>/info

Если вы не знаете MAC-адрес вашего Bluetooth-адаптера или MAC-адрес динамика, то запуск sudo grep -rnw '/var/lib/bluetooth/' -e 'UE'должен дать вам подсказку. Если вы переименовали свой динамик, то замените строку «UE» на имя.

В этом файле вы должны увидеть строку:

SupportedTechnologies=BR/EDR;LE;

Замените на:

SupportedTechnologies=BR/EDR;

Сохраните файл. Убедитесь, что динамик выключен. Включите Bluetooth. Желательно перезагрузить компьютер, но перезапуск службы Bluetooth, вероятно, сработает:

sudo rfkill unblock bluetooth
sudo systemctl restart bluetooth

Теперь он больше никогда не должен подключаться с помощью LE, даже при перезагрузке и выходе из системы. Если вы по какой-либо причине повторно подключите устройство, то это изменение будет потеряно. Дайте его назад, я надеюсь, что это также сработает для тех, кто ищет решение этой проблемы...

Альтернативой try и , которую я использовал до того, как внес изменения с помощью файла выше, но это гораздо менее эффективное решение, — отключение LE на адаптере с помощью команды: sudo btmgmt le off — что дало тот же результат.

Связанный контент