Вопрос или проблема
Я использую ядро Linux v4.4.0-148 и bluez v5.36.
Я не могу подключить или соединиться с моими bluetooth наушниками Muse “M-260 BT” с bluetoothctl
:
$ bluetoothctl
[NEW] Controller 34:E6:AD:A1:9B:8A seb-C70D-B-311 [default]
[bluetooth]# power on
[CHG] Controller 34:E6:AD:A1:9B:8A Class: 0x00010c
Changing power on succeeded
[CHG] Controller 34:E6:AD:A1:9B:8A Powered: yes
[bluetooth]# scan on
Discovery started
[CHG] Controller 34:E6:AD:A1:9B:8A Discovering: yes
[NEW] Device 00:13:09:01:19:61 M-260 BT
[bluetooth]# scan off
[CHG] Device 00:13:09:01:19:61 RSSI is nil
[CHG] Controller 34:E6:AD:A1:9B:8A Discovering: no
Discovery stopped
[bluetooth]# pair 00:13:09:01:19:61
Attempting to pair with 00:13:09:01:19:61
[CHG] Device 00:13:09:01:19:61 Connected: yes
[CHG] Device 00:13:09:01:19:61 Connected: no
[CHG] Device 00:13:09:01:19:61 UUIDs: 00001108-0000-1000-8000-00805f9b34fb
[CHG] Device 00:13:09:01:19:61 UUIDs: 0000110b-0000-1000-8000-00805f9b34fb
[CHG] Device 00:13:09:01:19:61 UUIDs: 0000110c-0000-1000-8000-00805f9b34fb
[CHG] Device 00:13:09:01:19:61 UUIDs: 0000110e-0000-1000-8000-00805f9b34fb
[CHG] Device 00:13:09:01:19:61 UUIDs: 0000111e-0000-1000-8000-00805f9b34fb
[CHG] Device 00:13:09:01:19:61 Paired: yes
Pairing successful
[CHG] Device 00:13:09:01:19:61 Connected: no
[bluetooth]# paired-devices
Device 00:13:09:01:19:61 M-260 BT
[bluetooth]# connect 00:13:09:01:19:61
Attempting to connect to 00:13:09:01:19:61
Failed to connect: org.bluez.Error.Failed
[bluetooth]# quit
[DEL] Controller 34:E6:AD:A1:9B:8A seb-C70D-B-311 [default]
Bluetooth сервис запущен :
$ sudo initctl status bluetooth
bluetooth start/spawned, process 1628
Но syslog говорит bluetoothd[1628]: a2dp-sink profile connect failed for 00:13:09:01:19:61: Protocol not available
, хотя пакет pulseaudio-module-bluetooth
уже установлен:
$ grep bluetoothd /var/log/syslog | tail -5
Jun 30 17:25:31 seb-C70D-B-311 bluetoothd[1628]: Failed to obtain handles for "Service Changed" characteristic
Jun 30 17:53:44 seb-C70D-B-311 bluetoothd[1628]: a2dp-sink profile connect failed for 00:13:09:01:19:61: Protocol not available
Jun 30 17:53:52 seb-C70D-B-311 bluetoothd[1628]: a2dp-sink profile connect failed for 00:13:09:01:19:61: Protocol not available
Jun 30 18:01:57 seb-C70D-B-311 bluetoothd[1628]: Failed to confirm name for hci0: Failed (0x03)
Jun 30 18:08:20 seb-C70D-B-311 bluetoothd[1628]: a2dp-sink profile connect failed for 00:13:09:01:19:61: Protocol not available
$ dpkg -l pulseaudio-module-bluetooth
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-===============================-====================-====================-===================================================================
ii pulseaudio-module-bluetooth 1:4.0-0ubuntu11 amd64 Bluetooth module for PulseAudio sound server
EDIT0: Обнаружил, что module-bluetooth-discover
не загружен, поэтому я попробовал загрузить его, но это не удалось :
$ pactl list modules short | grep module-bluetooth-discover
$ pactl load-module module-bluetooth-discover
Failure: Module initialization failed
Можете мне помочь?
Я решил свою проблему, обновив пакет pulseaudio-module-bluetooth
из Launchpad ppa:tigerite/bluez5 PPA :
$ wget -nv https://launchpad.net/~tigerite/+archive/ubuntu/bluez5/+files/pulseaudio-module-bluetooth_6.0-0ubuntu6ppa4_amd64.deb
2020-08-30 00:23:20 URL:https://launchpad.net/~tigerite/+archive/ubuntu/bluez5/+files/pulseaudio-module-bluetooth_6.0-0ubuntu6ppa4_amd64.deb [112370/112370] -> "pulseaudio-module-bluetooth_6.0-0ubuntu6ppa4_amd64.deb" [1]
$ sudo gdebi -n pulseaudio-module-bluetooth_6.0-0ubuntu6ppa4_amd64.deb
Reading package lists... Done
Building dependency tree
Reading state information... Done
Building data structures... Done
Building data structures... Done
(Reading database ... 588813 files and directories currently installed.)
Preparing to unpack pulseaudio-module-bluetooth_6.0-0ubuntu6ppa4_amd64.deb ...
Unpacking pulseaudio-module-bluetooth (1:6.0-0ubuntu6ppa4) over (1:4.0-0ubuntu11) ...
Setting up pulseaudio-module-bluetooth (1:6.0-0ubuntu6ppa4) ...
$ pactl load-module module-bluetooth-discover
39
$ pactl list modules short | grep module-bluetooth
38 module-bluetooth-policy
39 module-bluetooth-discover
Теперь все работает нормально :
$ bluetoothctl
[NEW] Controller 34:E6:AD:A1:9B:8A seb-C70D-B-311 [default]
[NEW] Device 00:13:09:01:19:61 M-260 BT
[bluetooth]# connect 00:13:09:01:19:61
Attempting to connect to 00:13:09:01:19:61
[CHG] Device 00:13:09:01:19:61 Connected: yes
Connection successful
[M-260 BT]#
Ответ или решение
Если вы сталкиваетесь с проблемой подключения ваших Bluetooth наушников к системе на базе Linux и получаете ошибку "Failure: Module initialization failed", данная ситуация может возникнуть по нескольким причинам. В этой статье, мы подробно разберем шаги по устранению этой неисправности с учетом вашей конкретной конфигурации: Linux kernel v4.4.0-148 и BlueZ v5.36.
Обзор ситуации
Ваша текущая проблема заключается в том, что хотя ваш контроллер Bluetooth и наушники обнаруживаются без проблем, попытка подключения завершается ошибкой с сообщением "org.bluez.Error.Failed". Более того, в системном журнале указывается, что подключение профиля a2dp-sink завершилось неудачно с причиной "Protocol not available", несмотря на то, что пакет pulseaudio-module-bluetooth
установлен.
Решение проблемы
1. Проверка модуля PulseAudio
Вы упомянули, что module-bluetooth-discover
не был загружен и его попытка загрузки завершилась с ошибкой. Вероятно, причина заключается в несовместимости пакета pulseaudio-module-bluetooth
с вашей версией BlueZ.
2. Обновление пакета
Как вы указали в обновленной версии вашего описания проблемы, решение заключалось в обновлении пакета pulseaudio-module-bluetooth
до более свежей версии из PPA-репозитория launchpad.net/~tigerite/bluez5
:
wget -nv https://launchpad.net/~tigerite/+archive/ubuntu/bluez5/+files/pulseaudio-module-bluetooth_6.0-0ubuntu6ppa4_amd64.deb
sudo gdebi -n pulseaudio-module-bluetooth_6.0-0ubuntu6ppa4_amd64.deb
Это обновление исправляет проблемы совместимости и позволяет успешно загрузить необходимые модули Bluetooth PulseAudio. После этого наушники подключаются без проблем.
3. Профилактические шаги
- Проверка версии Bluetooth и PulseAudio: Убедитесь в совместимости текущих версий программного обеспечения. Иногда, решение может требовать обновления как BlueZ, так и PulseAudio.
- Мониторинг системных обновлений: Следите за актуальностью пакетов вашего дистрибутива Linux, так как периодические обновления могут содержать исправления для известных багов.
- Работа с PPA: Всегда учитывайте потенциальные риски, связанные с использованием сторонних репозиториев PPA, особенно если существуют официальные обновления.
Заключение
Обновление пакета pulseaudio-module-bluetooth
до совместимой версии оказалось ключевым шагом в вашем решении. Это подчеркивает важность поддержания актуальности программного обеспечения, особенно когда дело касается модулей аудио и Bluetooth. Если у вас возникают подобные проблемы, данный алгоритм может быть полезен и в других аналогичных сценариях, что позволит быстро восстановить функциональность вашей системы.
Повышение производительности вашей системы всегда требует внимания к деталям, и уверенность в том, что все подключаемое оборудование будет работать как должно, существенно влияет на общее впечатление от работы с вашей Linux-машиной.