Не удалось изменить профиль на 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:

  1. Установить ofono:
sudo apt install ofono
  1. Настройте 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>
  1. Предоставлять 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 не обнаружен

Откройте терминал и выполните следующие действия:

  1. Мы будем использовать PPA для добавления Pipewire в Ubuntu 20.04, который регулярно поддерживается:

            sudo add-apt-repository ppa:pipewire-debian/pipewire-upstream
    
  2. Чтобы обновить пакеты PPA в вашей системе, выполните следующие действия:

            sudo apt update
    
  3. Установите пакет:

            sudo apt install pipewire
    
  4. Также необходимо установить зависимость с Pipewire, в противном случае вы столкнетесь с проблемой «Bluetooth-гарнитура не будет подключаться после установки pipewire» . Установите зависимость:

            sudo apt install libspa-0.2-bluetooth
    
  5. Теперь, чтобы установить клиентские библиотеки:

            sudo apt install pipewire-audio-client-libraries
    
  6. Перезагрузите демон:

            systemctl --user daemon-reload
    
  7. Отключить PulseAudio:

            systemctl --user --now disable pulseaudio.service pulseaudio.socket
    
  8. Если вы используете Ubuntu 20.04, вам также необходимо «замаскировать» PulseAudio:

            systemctl --user mask pulseaudio
    

    Я не уверен, но, если возможно, вы можете попробовать запустить это и на других версиях.

  9. После нового обновления Pipewire вам также необходимо включить pipewire-media-session-service:

            systemctl --user --now enable pipewire-media-session.service
    
  10. Вы можете убедиться, что 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) делал.

Другие вопросы по тегам