Вопрос или проблема
Bluetooth работал на моем Lenovo W530 с Xubuntu 20.04. Когда он работал в последний раз, lsusb показывал адаптер как
Bus 001 Device 005: ID 0a5c:21e6 Broadcom Corp. BCM20702 Bluetooth 4.0 [ThinkPad]
но теперь он отсутствует в выводе lsusb.
$ sudo systemctl status bluetooth
[sudo] Passwort für verwalter:
● bluetooth.service - Служба Bluetooth
Loaded: загружен (/lib/systemd/system/bluetooth.service; включен; предустановлен производителем: включен)
Active: неактивен (мертв)
Docs: man:bluetoothd(8)
Nov 15 16:26:49 W530-SSD systemd[1]: Condition check resulted in Bluetooth service being skipped.
$
Глядя на /var/log/syslog
, я нашел
Nov 15 16:26:49 W530-SSD dbus-daemon[1104]: [system] Активация через systemd: служба с именем="org.bluez" unit="dbus-org.bluez.service" запрошена ':1.39' (uid=110 pid=1406 comm="/usr/bin/pulseaudio --daemonize=no --log-target=jo" label="unconfined")
Nov 15 16:26:49 W530-SSD systemd[1]: Condition check resulted in Bluetooth service being skipped.
Nov 15 16:26:49 W530-SSD pulseaudio[1406]: module-rescue-stream устарел и больше не должен загружаться. Удалите его из своей конфигурации.
Поскольку выше ошибка есть что-то связанное с pulseaudio и ниже также есть сообщение об ошибке, связанное с ним, они могут быть как-то связаны.
Где именно я могу найти больше информации о том, какая проверка условия не прошла, чтобы Bluetooth был пропущен и больше не работает?
Как я могу удалить устаревший module-rescue-stream из своей конфигурации?
После поиска этой проблемы в интернете я наткнулся на похожую проблему
Самый популярный ответ там был
sudo apt-get update
sudo apt upgrade
sudo systemctl start bluetooth
sudo rfkill unblock bluetooth # rfkill также требует прав root
В моем случае второе утверждение сначала не сработало в двух последовательных попытках, просто писало “Abgebrochen” (остановлено) после того, как я подтвердил, что хочу установить обновление. Я убедился, что свободное место не является проблемой, нужно было обновить только 14,3 кБ: libssl-dev
, libssl1.1
, openssl
, python3-software-properties
, software-properties-common
, software-properties-gtk
.
Когда мне наконец удалось выполнить обновление, остальные две команды прошли без какого-либо вывода. Bluetooth не работал, и lsusb
не показывал Bluetooth-адаптер.
После еще одного перезагрузки, lsusb
показал адаптер Broadcom:
Bus 001 Device 004: ID 0a5c:21e6 Broadcom Corp. BCM20702 Bluetooth 4.0 [ThinkPad]
Значок Bluetooth снова был на панели задач. Я смог передать несколько фотографий с мобильного телефона на компьютер.
Моя основная проблема решена, но я не понимаю, почему это исправление сработало.
Однако, в /var/log/syslog
все еще появляется строка после последнего процесса загрузки:
Nov 15 20:57:21 W530-SSD pulseaudio[1830]: module-rescue-stream устарел и больше не должен загружаться. Удалите его из своей конфигурации.
что доказывает, что это сообщение не имело отношения к проблеме с Bluetooth.
Поэтому я все еще хочу получить два объяснения:
-
Почему рецепт с другого сайта сработал в моем случае? Что, вероятно, было неправильно до этого?
-
Что мне нужно сделать, чтобы исправить причину другого сообщения об ошибке о module-rescue-stream?
.
Ответ или решение
Конечно, давайте разберём каждую из двух частей вашего запроса более подробно, с акцентом на решение проблемы с Bluetooth и устранение сообщения об ошибке, касающегося module-rescue-stream
в PulseAudio.
Теория
1. Почему инструкция с другого веб-сайта помогла в решении проблемы с Bluetooth?
Для начала, необходимо понять, какие компоненты могли привести к нарушению работы Bluetooth. Обычно это могут быть проблемы с драйверами, наличие аппаратного блокирования, либо неполадки в системных службах. Ваша ситуация может быть связана с тем, что служба Bluetooth была неактивной, что подтверждается выводом команды systemctl status bluetooth
, которая показывает состояние inactive (dead)
.
Процесс обновления и разблокировки модуля Bluetooth через rfkill
мог решить проблему, потому что:
- Обновление пакетов:
sudo apt-get update
иsudo apt upgrade
обновляют ПО до последней версии, устраняя возможные сбои, вызванные устаревшими или несовместимыми версиями пакетов. - Запуск службы:
sudo systemctl start bluetooth
запускает службу Bluetooth, если она была отключена. - Разблокировка на аппаратном уровне:
sudo rfkill unblock bluetooth
снимает аппаратные блокировки, если они имели место быть.
Это кажется наиболее вероятным сценарием, учитывая, что после успешного выполнения команды rfkill
и перезагрузки устройства Bluetooth-адаптер стал видимым в lsusb
.
2. Как устранить сообщение об ошибке о module-rescue-stream
?
PulseAudio использует модули для расширения своего функционала. Со временем некоторые модули становятся устаревшими. Module module-rescue-stream
используемый вами, вероятно, был заменён на другой или же более не поддерживается и должен быть удалён из конфигурации.
В этой ситуации нужно:
- Обновить конфигурацию PulseAudio, чтобы исключить устаревший модуль.
- Понять, какие модули в действительности необходимы для вашего рабочего окружения и заменить отжившую свою функцию.
Пример
Рассмотрим аналогичную ситуацию: пользователь столкнулся с необходимостью разблокировки Wi-Fi на ноутбуке после обновления BIOS. Успешное решение было достигнуто простым выполнением команды rfkill unblock all
, которая сняла все аппаратные блокировки.
Подобное может произойти и с Bluetooth, так как эти устройства также подчиняются общим правилам блокировки/разблокировки в rfkill
.
Применение
Решение вашей проблемы с Bluetooth
-
Регулярное обновление системы: Убедитесь, что все пакеты вашей системы обновлены. Это поможет избежать проблем с несовместимостью программного обеспечения.
-
Проверка аппаратных ключей блокировки:
- Выполните
rfkill list
и проверьте, нет ли каких-либо блокировок для Bluetooth. - Если блокировка активна, выполните
sudo rfkill unblock bluetooth
.
- Выполните
-
Управление службами:
- Выполните
sudo systemctl enable bluetooth
иsudo systemctl start bluetooth
для поддержки автоматического запуска службы.
- Выполните
-
Регулярная проверка состояния адаптера: Периодически используйте
lsusb
для проверки видимости Bluetooth-адаптера.
Устраняем проблему с module-rescue-stream
-
Открываем конфигурацию PulseAudio:
- Найдите файл конфигурации PulseAudio, который обычно находится по пути:
~/.config/pulse/default.pa
или/etc/pulse/default.pa
.
- Найдите файл конфигурации PulseAudio, который обычно находится по пути:
-
Редактируем файл конфигурации:
- Найдите строку с упоминанием
module-rescue-stream
и закомментируйте или удалите её.
- Найдите строку с упоминанием
-
Перезапуск PulseAudio:
- Перезагрузите PulseAudio командой
pulseaudio -k
. PulseAudio автоматически перезапустится.
- Перезагрузите PulseAudio командой
Завершение
Ваш первоначальный вопрос о причине проблемы с Bluetooth, вероятно, был связан с аппаратной блокировкой или сбоем в настройках служб. Использование данных команд восстановления и последующее обновление системы решило этот вопрос, и перезагрузка помогла закрепить изменения.
Что касается PulseAudio, удаление устаревшего модуля module-rescue-stream
из конфигурации устранит постоянное появление этого сообщения об ошибке.
Эти действия помогут поддерживать вашу систему в актуальном и стабильном состоянии, минимизируя риск возникновения подобных проблем в будущем.