Коротко — причина обычно в профиле/модуле звукового сервера: устройство подключается по Bluetooth, но звук идёт в «общий» профиль (или модуль для Bluetooth не установлен), поэтому в списке выводов нет профиля A2DP. Ниже — последовательность действий и команды, которые обычно решают проблему в Ubuntu 24.04.
1) Узнать, какой звуковой сервер у вас сейчас
- Выполните:
pactl info
В поле «Server Name» будет что-то вроде «PulseAudio» или «PulseAudio (on PipeWire)» / «PipeWire». Это определит дальше какие пакеты нужны.
2) Быстрая проверка состояния служб Bluetooth/аудио
- Статус Bluetooth:
sudo systemctl status bluetooth
- Статус PipeWire (если используется):
systemctl --user status pipewire wireplumber pipewire-pulse
- Статус PulseAudio (если используется):
systemctl --user status pulseaudio
3) Посмотреть, как система видит наушники
- Список Bluetooth‑устройств:
bluetoothctl devices
- Информация по конкретному устройству:
bluetoothctl info <MAC_адрес>
- Список «карточек»/профилей в звуковом сервере:
pactl list cards short
pactl list cards (покажет секцию Profiles:)
Если в списке профилей для вашей bluetooth‑карты нет a2dp (A2DP Sink / high fidelity), значит отсутствует поддержка Bluetooth‑аудио в установленной конфигурации.
4) Установка недостающих пакетов
- Если у вас PulseAudio (старый путь):
sudo apt update
sudo apt install pavucontrol pulseaudio-module-bluetooth blueman
- Если у вас PipeWire (современный путь, чаще в 24.04):
sudo apt update
sudo apt install pavucontrol blueman wireplumber pipewire-audio-client-libraries libspa-0.2-bluetooth
Примечание: в репозитории пакет, отвечающий за Bluetooth для PipeWire, может называться libspa-0.2-bluetooth или похожим образом — apt предложит точное имя.
5) Перезапуск служб (после установки)
- Перезапустить Bluetooth:
sudo systemctl restart bluetooth
- Если PipeWire:
systemctl --user restart pipewire pipewire-pulse wireplumber
- Если PulseAudio:
systemctl --user restart pulseaudio
или
pulseaudio -k && pulseaudio --start
6) Принудительно выбрать профиль A2DP
- Посмотреть доступные профили:
pactl list cards
Найдите блок с вашим bluez_card и секцию Profiles.
- Установить профиль (пример):
pactl set-card-profile <имя_карты> a2dp_sink
Если имя профиля другое (например a2dp-sink или a2dp_high_fidelity), используйте то, что показано в выводе list cards.
7) GUI‑вариант: pavucontrol / GNOME Settings / Blueman
- Откройте «Звук» в настройках GNOME или запустите pavucontrol (установленный выше) → вкладка Configuration → выберите профиль High Fidelity (A2DP).
- Blueman (Bluetooth manager) иногда удобнее для переключения профиля/переподключения: Blueman‑manager → устройства → правый клик → Audio Profile.
8) Дополнительные проверки и логирование (если всё равно не работает)
- Посмотреть логи bluetooth:
journalctl -u bluetooth -b --no-pager | tail -n 200
- Посмотреть логи pipewire (пользовательская сессия):
journalctl --user -u pipewire -b --no-pager | tail -n 200
- Выведите результат:
pactl list sinks short
pactl list cards short
bluetoothctl info <MAC>
9) Про микрофон (HFP/HSP): если нужен микрофон через Bluetooth, это отдельный профиль (HFP/HSP) и он хуже по качеству. Для HFP может потребоваться hsphfpd или ofono/оn ofono backend; в большинстве случаев для прослушивания музыки достаточно A2DP.
10) Что делать, если помогают только перезапуски bluetoothd
- Если повторяются проблемы с подключением — проверьте версию BlueZ и обновления системы.
- Можно добавить перезапуск PipeWire/blueetooth в systemd user unit, но лучше сначала понять причину через логи (см. журнал выше).
- Иногда помогает удаление устройства из Bluetooth и повторное сопряжение:
bluetoothctl remove <MAC>
затем снова pair/connect через GUI или bluetoothctl.
Если хотите, я могу помочь дальше — пришлите выводы этих команд:
- pactl info
- pactl list cards short
- bluetoothctl info <MAC>
- journalctl -u bluetooth -b --no-pager | tail -n 100
На их основе подробнее подскажу точную команду/пакет и как переключить профиль.