Наушники микрофон не работает

Я пытаюсь использовать свои наушники с Ubuntu 13.10. Мои наушники - Nokia BH-905i, которые можно подключить через Bluetooth или зеленые + розовые провода.

Если я использую Bluetooth, качество голоса ужасное или микрофон не работает. Если я попытаюсь выбрать параметр «Гарнитура» на вкладках «Вход» и «Выход» в настройках звука, они будут отключены вместе.

На вкладке «Выход» я использую «Высокое качество звука A2DP», поскольку оно улучшает качество голоса.

Как мне заставить работать мой микрофон? Звук работает отлично.

42
задан 6 October 2013 в 17:12

11 ответов

По конструкции профиль Bluetooth A2DP является однонаправленным. Мы можем использовать микрофон только в том случае, если наша гарнитура и адаптер могли быть сопряжены одновременно и с HSP, и с протоколом A2DP, или если приложение переключается с A2DP на HSP по запросу.

См. также эту поучительную дискуссию об ошибке #508522.

13
ответ дан 6 October 2013 в 17:12

Я только что установил решение для Bluetooth, не выбирая микрофон на моем Bose QC35 II на Ubuntu 16.04 LTS .

Поскольку внутренний микрофон на моем ноутбуке Samsung расположен слишком близко к вентилятору, звук звучит как внутри самолета для всех участников видеозвонка.

Решение - Blueman , которое добавляет функциональность для Bluetooth.

Установите его: sudo apt-get install blueman

Мне пришлось перезапустить сетевой менеджер ( sudo service network-manager restart ) после того, как WiFi перестал работать (это могло быть не связано, но лучше возьмите его на всякий случай).

Blueman GUI

Теперь я могу переключиться на Головное устройство (HSP / HFP) и выбрать микрофон гарнитуры в Настройки звука

Sound settings - input

Еще немного хлопот, когда он не переключается автоматически (как это делает Android), но это все же лучше, чем в хранилище Jumbojet!

6
ответ дан 6 October 2013 в 17:12

Как уже отмечалось, A2DP является однонаправленным, вам нужно переключаться на профиль HSP каждый раз, когда вам нужно использовать микрофон. Но делать это вручную не идеально,и если приложение не установит для потока media.role = phone (в большинстве приложений, не поддерживающих VoIP), pulseaudio не будет переключать его автоматически по умолчанию.

Но начиная с Pulseaudio v .11.0 , можно автоматически переключать профиль всякий раз, когда приложение запрашивает доступ к микрофону, но по умолчанию он отключен.

  1. Найдите строку load-module module-bluetooth-policy в ] /etc/pulse/default.pa
  2. Измените его на load-module module-bluetooth-policy auto_switch = 2

Теперь pulseaudio переключает профиль устройства на HSP всякий раз, когда запрашивается доступ к микрофону, и изменяет его обратно в A2DP после закрытия потока.

Вам необходимо перезагрузить модуль pulseaudio, чтобы изменения вступили в силу:

  1. pulseaudio -k
  2. pulseaudio -D
22
ответ дан 6 October 2013 в 17:12

Выше уже отмечалось, что HFP является двусторонним, а A2DP - односторонним.

Но они также используют разные ссылки: https://stackoverflow.com/questions/40033827/what-is-the-difference-between-acl-and-sco-link-in-bluetooth ( или обновленные версии тех)

0
ответ дан 6 October 2013 в 17:12

Вместе с описанными выше шагами @Glub, то есть

  1. Найти модуль загрузки-bluetooth-policy в строке /etc/tc/pulse/default. pa
  2. Измените его на модуль-загрузчик-bluetooth-policy auto_switch=2

Мне пришлось сбросить конфигурацию Pulseaudio и перезапустить модуль Pulseaudio на

mv ~/.config/pulse/ ~/.config/pulse.old
systemctl --user restart pulseaudio
0
ответ дан 5 January 2021 в 23:18

В Zoom, рядом с кнопкой включения / выключения звука, есть стрелка вверх. Когда вы щелкнете по нему, вы увидите параметры для устройства ввода (динамика) и устройства вывода (микрофон). В нем выберите «Как система», чтобы он соответствовал всем другим приложениям. В противном случае вы можете выбрать нужное устройство в этих параметрах - он предоставляет все параметры, такие как «Встроенное аналоговое стерео», «JBL Go», «boAt Rockerz» и т. Д. В зависимости от подключенных звуковых устройств. У меня это сработало, когда я использовал наушники bluetooth.

0
ответ дан 5 January 2021 в 23:18

Основываясь на ответе IvanTheFirst , я создал сценарий, который будет подключаться к моим наушникам Bluetooth с включенным микрофоном. Мне также пришлось скомпилировать Phonesim, поскольку я не смог найти пакет с ним. и, чтобы сэкономить вам время, мне пришлось установить эти пакеты qtdeclarative5-dev, qt5-default .

#!/bin/bash

# https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/Bluetooth/#index5h2
# https://git.kernel.org/pub/scm/network/ofono/phonesim.git
# to compile phonesim project, install these packages 'qtdeclarative5-dev,qt5-default'
# enable job control
set -m

# retrieve process in the form "7260/phonesim"
PHONESIM=$(netstat -antp 2>/dev/null | grep phonesim | awk '{print $7}')

# extract process id
PHONESIM="${PHONESIM/\/phonesim/}"
if [ -n "$PHONESIM" ]; then
  echo killing old phonesim process [$PHONESIM] 
  kill -9 $PHONESIM
fi

echo "starting phonesim on port 12345"
phonesim -p 12345 /usr/share/phonesim/default.xml&

echo "enable modem"
exit_status=1
while [ $exit_status -ne 0 ]; do
  sudo dbus-send --print-reply --system --dest=org.ofono /phonesim org.ofono.Modem.SetProperty string:"Powered" variant:boolean:"true"
  exit_status=$?
done

echo "restart bluetooth"
sudo service bluetooth restart

# MAC_ADDRESS=$(hcitool scan | grep "Galaxy Buds" | awk '{print $1}')
MAC_ADDRESS=D8:55:75:67:D1:68

while [ -z $MAC_ADDRESS ]; do   
  MAC_ADDRESS=$(hcitool scan | grep "Galaxy Buds" | awk '{print $1}')
done

sleep 5
echo "connect to Galaxy Buds [$MAC_ADDRESS]"
bluetoothctl <<< "connect $MAC_ADDRESS
                  quit"

echo "reattach to phonesim process"
fg
1
ответ дан 5 January 2021 в 23:18

Это - https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/Bluetooth/#index5h2 помог мне. Не забудьте установить ofono и ofono -phonesim и запустить службу.

Необходимость предоставить модем для oFono делает настройку гарнитуры довольно громоздкий. Если у вас нет GSM / UMTS-модема, подключенного к ваша система (как и в большинстве настольных сред), вам нужен модем эмулятор. К сожалению, oFono не позволяет использовать мобильный телефон (hfp модем, см. ниже) в качестве модема для поддержки гарнитур.

Лучший выбор эмулятора - "phonesim ", потому что есть версия, поддерживается вместе с офоно. Большинство дистрибутивов содержат пакет ofono -phonesim или аналогичный, пока можно найти версию git на git: //git.kernel.org/pub/scm/network/ofono/phonesim.git.

Чтобы настроить phoneim, сначала создайте или отредактируйте файлphonesim.conf в / etc / ofono. Он должен содержать следующие строки:

  [phonesim]
Драйвер =phonesim
Адрес = 127.0.0.1
Порт = 12345
 

Перезапустите oFono и проверьте с помощью list-modems, был ли модем phoneim найденный. Запустите phoneim с помощью

 ofono -phonesim -p 12345 /usr/share/phonesim/default.xml&
 

Пути к файлам phoneim.conf и default.xml могут отличаться, если вы скомпилировано офоно и / или телефоном из исходников. Теперь вы можете включить модем либо с помощью сценария enable-modem, либо с помощью команды следующая команда:

 dbus-send --print-reply --system --dest = org.ofono /phonesim org.ofono.Modem.SetProperty string: "Powered" вариант: boolean: "true"
 

list-modems должен показывать, что модем включен и находится в сети. если ты хотите поиграть с эмулятором модема, вы можете добавить параметр -gui в командаphonesim. Затем появится графический интерфейс, как только вы включите модем.

После правильной настройки модема вы можете подключить гарнитуру и профиль "Головное устройство гарнитуры (HSP / HFP)" должен быть доступен в pulseaudio.

1
ответ дан 5 January 2021 в 23:18

Используйте исправление от Yurri S , которое также работает с наушниками Bluetooth:

Итак, после возникновения этой проблемы с красивой, но уже раздражающей, 20.04, Я нашел решение в другом посте на SuperUser. В моем случае мне помогло следующее:

  1. Используйте следующую команду, чтобы получить Аудиокодек для вашей модели машины:

     cat / proc / asound / card * / codec * | grep Codec 
     

    В моем случае я видел следующие аудио- и видеокодеки:

     Кодек: Realtek ALC233 
    Кодек: Nvidia GPU 94 HDMI / DP 
     
  2. Перейдите на www.kernel.org , найдите версию кодека и получите его полное имя. В моем случае для Realtek ALC233 это alc233-eapd .

  3. Создайте / обновите файл /etc/modprobe.d/alsa-base.conf и добавьте эту строку, заменив модель своей собственной:

     options snd-hda-intel model = alc233-eapd 
     
  4. Перезагрузите машину.

После этого загрузите blueman с помощью:

sudo apt-get install blueman

Затем перейдите к устройствам Bluetooth , щелкните правой кнопкой мыши на гарнитуре, к которой вы подключены, наведите указатель мыши на Профиль аудио и выберите Головное устройство гарнитуры .

0
ответ дан 28 July 2021 в 15:41

Для решения всех проблем с HFP см. Ссылку ниже. Я выполнил процедуру ниже, а затем изменил профиль на HSP / HFP, кодек CSVD, и мой настоящий беспроводной микрофон для наушников начал работать отлично.

https://atish3604.medium.com/solved-bluetooth-headset-mic-not-working-detected-in-ubuntu-20-04-86a5236444d0

0
ответ дан 28 July 2021 в 15:41

Немного опоздал на вечеринку, но так как этот материал все еще не работает из коробки в Linux. Я добавлю свой опыт и здесь.

Я купил ключ Asus BT400, он использует чип Broadcom BCM20702A1 (USB-устройство 0b05:17cb). У меня была та же проблема, что и описанная в OP. A2DP работает нормально (т.е. только выход), HSP/HFP ни выход, ни вход.

Я читал о старых ошибках:

И связанный обходной путь/исправлениедля подключаемого ключа (он использует тот же чип).

Мое понимание проблемы не улучшилось, и я загрузил произвольную прошивку для несколько связанного продукта, со случайного сервера AWS казался немного сомнительным.

Наконец я наткнулся на эту суть GitHub, описывающую, как использовать прошивку из драйвера Asus Windows:

Затем она, наконец, «щелкнула» для меня: Эти Bluetooth-ключи не полностью функциональны, как поставляются, и они требуютобновлений прошивки для полной работы. Драйвер Windows содержит множество файлов встроенного ПО для всех вариантов, поддерживаемых драйвером. Я действительно не знаю, как MacOS делает это, но я предполагаю, что это работает аналогично.

Таким образом, просто загрузив последнюю версию драйвера со страницы загрузки , а затем извлекнув нужный файл прошивки и поместив его (с правильным именем) в /lib/firmware/brcm/, устранена проблема.

TL;DR Драйвер Windows содержит файл встроенного ПО .

1
ответ дан 14 December 2021 в 10:36

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

Похожие вопросы: