Не удалось изменить профиль на headset_head_unit
Я подключил Sony MDR-ZN770BN к ПК через Bluetooth. Но я могу использовать только A2DP. Когда я переключаю его на HSP, я получаю сообщение "Не удалось сменить профиль на headset_head_unit", поэтому звонки по Skype невозможны. Любая помощь, ребята?:/
5 ответов
У меня была аналогичная проблема с Galaxy Earbuds+, и вот как я ее решил:
Мои профили наушников были A2DP, AVRCP и HFP и не поддерживали HSP. Pulseaudio поддерживает только HSP из коробки. Вот почему я не мог переключиться на HSP/HFP. Чтобы заставить HSP / HFP работать, вы должны включить HFP на pulseaudio, который требует ofono. Вот как я это сделал в Ubuntu 18.04:
- Установить
ofono
:
sudo apt install ofono
- Настройте pulseaudio для использования ofono:
- Перейти к
/etc/pulse/default.pa
найди линиюload-module module-bluetooth-discover
и измените это вload-module module-bluetooth-discover headset=ofono
. - Добавить пользователя
pulse
группироватьbluetooth
для предоставления разрешения:sudo usermod -aG bluetooth pulse
(наверное уже правильно) - ОЧЕНЬ ВАЖНО: чтобы предоставить разрешение, добавьте это в
/etc/dbus-1/system.d/ofono.conf
(до</busconfig>
):
<policy user="pulse">
<allow send_destination="org.ofono"/>
</policy>
- Предоставлять
phonesim
кofono
. Для того, чтобы офоно заработало, вам необходимо установить к нему модем! Вы можете установить эмулятор модема под названием phonesim (реализованный компанией ofono), чтобы он работал:
- установить
ofono-phonesim
(в некоторых дистрибутивах это называетсяphonesim
). в Ubuntu 18.04 (для Ubuntu 20.04 перейдите по этой ссылке):
sudo apt install ofono-phonesim
- Настройте phoneim, добавив следующие строки в
/etc/ofono/phonesim.conf
:
[phonesim]
Driver=phonesim
Address=127.0.0.1
Port=12345
- Рестарт
ofono
:
sudo systemctl restart ofono.service
- Начало
phonesim
:
ofono-phonesim -p 12345 /usr/share/phonesim/default.xml
Обратите внимание, что команда может быть
phonesim
. Чтобы убедиться, что phoneim запущен правильно, вы можете клонировать репозиторий ofono и использовать их тестовые сценарии:
cd /tmp
git clone git://git.kernel.org/pub/scm/network/ofono/ofono.git
cd ofono/test
./list-modems
В результате вы должны увидеть модем. Возможно, вам придется сначала включить модем, выполнив
enable-modem
и
online-modem
скрипты в том же каталоге.
- После включения модема вы сможете включить профиль HFP.
4. автозапуск phoneim. Поскольку вы выполнили phoneim вручную, после каждого перезапуска вы должны выполнять его снова. Вместо этого вы можете установить
ofono-phonesim-autostart
который запустит phoneim как службу.
Ссылки:
Я столкнулся с той же проблемой с выпуском Oneplus Wireless Z Bass. Микрофон моей гарнитуры не был обнаружен PulseAudio, и проблема в том, что мои наушники не имеют профиля HSP, а только профиль HFP. Пробуя 2 дня, я пришел к решению заменить PulseAudio звуковым сервером Pipewire, который сам по себе поддерживает HSP, HFP и A2DP. Таким образом, не будет необходимости устанавливать какую-либо другую утилиту, например,
phonesim
. Также следует отметить, что моя проблема не была решена даже после выполнения всех шагов по настройке в PulseAudio. Поэтому я придумал шаги по замене PulseAudio на PipeWire.
Вот подробная статья, которую я написал для решения этой проблемы, шаги которой я также добавляю сюда. Вы можете следовать ему и, скорее всего, сможете решить свою проблему.
Микрофон гарнитуры Bluetooth не обнаружен
Откройте терминал и выполните следующие действия:
Мы будем использовать PPA для добавления Pipewire в Ubuntu 20.04, который регулярно поддерживается:
sudo add-apt-repository ppa:pipewire-debian/pipewire-upstream
Чтобы обновить пакеты PPA в вашей системе, выполните следующие действия:
sudo apt update
Установите пакет:
sudo apt install pipewire
Также необходимо установить зависимость с Pipewire, в противном случае вы столкнетесь с проблемой «Bluetooth-гарнитура не будет подключаться после установки pipewire» . Установите зависимость:
sudo apt install libspa-0.2-bluetooth
Теперь, чтобы установить клиентские библиотеки:
sudo apt install pipewire-audio-client-libraries
Перезагрузите демон:
systemctl --user daemon-reload
Отключить PulseAudio:
systemctl --user --now disable pulseaudio.service pulseaudio.socket
Если вы используете Ubuntu 20.04, вам также необходимо «замаскировать» PulseAudio:
systemctl --user mask pulseaudio
Я не уверен, но, если возможно, вы можете попробовать запустить это и на других версиях.
После нового обновления Pipewire вам также необходимо включить
pipewire-media-session-service
:systemctl --user --now enable pipewire-media-session.service
Вы можете убедиться, что Pipewire теперь работает через:
pactl info
Эта команда выдаст следующий вывод, в поле «Имя сервера» вы можете увидеть:
PulseAudio (on PipeWire 0.3.28)
Теперь все должно работать, и вы можете видеть свой микрофон.
Если он не отображается, попробуйте перезапустить Pipewire с помощью этой команды:
systemctl --user restart pipewire
Также необходимо удалить
ofono
а также
ofono-phonesim
если они у вас установлены.
sudo apt remove ofono
sudo apt remove ofono-phonesim
Если он по-прежнему не показывает ваш микрофон, вы можете попробовать перезагрузить его один раз, удалить и снова подключить устройство Bluetooth, чтобы проверить, работает ли оно сейчас.
Надеюсь, я помог вам решить вашу проблему.
Если вы хотите отменить все сделанные нами изменения, вы можете сделать это, используя:
systemctl --user --now disable pipewire-media-session.service
systemctl --user unmask pulseaudio
systemctl --user --now enable pulseaudio.service pulseaudio.socket
Скопировано из комментариев, в случае ошибки "Сбой подключения: Отказ в подключении":
сделать этот шаг:
systemctl --user restart pipewire-pulse
Первоначально я разместил это как редактирование сообщения @alisabzevari, но редактирование было отклонено :( Я все еще думаю, что информация очень ценна, и я не хотел бы ее потерять, поэтому я публикую ее как ответ:
По состоянию на 17 октября 2020 г. в Ubuntu 20.04
ofono-phonesim-autostart
не доступен. Что вы можете сделать, так это создать следующие модули, чтобы запустить его как демон при запуске:
Бежать
ofono-phonesim -p 12345 /usr/share/phonesim/default.xml
при запуске в качестве системного модуля создайте файл
/etc/systemd/system/ofono-phonesim.service
(как root) со следующим содержимым:
[Unit]
Description=Run ofono-phonesim in the background
[Service]
ExecStart=ofono-phonesim -p 12345 /usr/share/phonesim/default.xml
Type=simple
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
После прогонов вам также нужно будет включить и поставить
phonesim
модем онлайн. Я (@Zoltán) сделал это, создав еще один юнит-файл, который зависит от приведенного выше
ofono-phonesim
systemd
Ед. изм. Поместите следующее содержимое в
/etc/systemd/system/phonesim-enable-modem.service
:
[Unit]
Description=Enable and online phonesim modem
Requires=ofono-phonesim.service
[Service]
ExecStart=/<path-to-cloned-ofono-git-repo>/test/enable-modem /phonesim
ExecStart=/<path-to-cloned-ofono-git-repo>/test/online-modem /phonesim
Type=oneshot
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
Затем выполните следующие команды, чтобы запустить оба демона:
sudo systemctl daemon-reload
sudo systemctl enable ofono-phonesim.service
sudo systemctl enable phonesim-enable-modem.service
sudo service phonesim-enable-modem start
Проверьте, работает ли служба с
sudo service phonesim-enable-modem status
Наконец, перезапустите
pulseaudio
с
pulseaudio -k
. Теперь вы сможете переключить профиль на
headset_head_unit
.
Я пробовал все, что мог, даже ответы выше. Но я не мог использовать микрофон своей гарнитуры. Итак, я нашел другой способ использовать микрофон.
Все, что вам нужно, это телефон Android с bluetooth.
Во-первых, зайдите в магазин Google Play на свой телефон и загрузите приложение для микрофона Bluetooth.
Я использовал этот (простой Bluetooth-микрофон): https://play.google.com/store/apps/details?id=com.app.google.chrischan.simplebluetoothmic
В качестве альтернативы вы можете использовать это: https://play.google.com/store/apps/details?id=wimlog.com.myandroidtest4.
Подключите bluetooth телефона к компьютеру.
Теперь подключите bluetooth-гарнитуру к ПК. (Оба устройства должны быть подключены одновременно)
Откройте на телефоне приложение Simple Bluetooth Mic, нажмите "Говорить".
Вуаля, вот и все.
В основном вы используете микрофон своего телефона, потому что мы не можем использовать bluetooth-гарнитуру как для ввода, так и для вывода звука (переход с A2DP на HSP каждый раз, когда вам нужно использовать микрофон гарнитуры, раздражает f)
Если это не сработает, перейдите в настройки звука и выберите устройство ввода как bluetooth вашего телефона.
НАДЕЮСЬ ЭТО ПОМОЖЕТ:)
Обнаружил эту проблему после некоторого приличного времени безотказной работы (260 дней или около того),pulseaudio -k
не помогло, как и переключение аудиопрофиля в положение «выкл.».
Перезапуск Bluetooth (systemctl restart bluetooth
) делал.