Ubuntu bluetooth headset microphone

Enable bluetooth headset microphone on Ubuntu 20.04

After months and months dealing with this freaking issue that has become a pain in the ass, for real, there is this article:

That made things working again. I just cannot believe how much effort is needed to make a simple bluetooth headset work on Ubuntu. It still doesn’t work great, but it is fine.

In short what you need to do is:

Enable Bluetooth headset microphone

Before installing pipewire, please make sure that your issue is the same as mine.

First, type this command in Terminal

It should show something like this:

Where BOLTT BH1300 is my device name. type info and you will see info about your headset:

Device 07:F8:87:8F:B9:ED (public) Name: BOLTT BH1300 Alias: BOLTT BH1300 Class: 0x00340404 Icon: audio-card Paired: yes Trusted: yes Blocked: no Connected: yes LegacyPairing: no UUID: Serial Port (00001101-0000-1000-8000-00805f9b34fb) UUID: Audio Sink (0000110b-0000-1000-8000-00805f9b34fb) UUID: A/V Remote Control Target (0000110c-0000-1000-8000-00805f9b34fb) UUID: Advanced Audio Distribu.. (0000110d-0000-1000-8000-00805f9b34fb) UUID: A/V Remote Control (0000110e-0000-1000-8000-00805f9b34fb) UUID: Handsfree (0000111e-0000-1000-8000-00805f9b34fb) UUID: PnP Information (00001200-0000-1000-8000-00805f9b34fb) Modalias: bluetooth:v05D6p000Ad0240

Notice Audio Sink which is necessary to make sure the headset’s microphone is detected. Type quit to exit from bluetoothctl .

Now run pacmd list-cards to show all connected devices.

It should show all the devices. Locate your bluetooth headset and look for the profiles key like below. headset_head_unit available no means that HSP/HFP is not enabled.

profiles: a2dp_sink: High Fidelity Playback (A2DP Sink) (priority 40, available: unknown) headset_head_unit: Headset Head Unit (HSP/HFP) (priority 30, available: no) off: Off (priority 0, available: yes) active profile:

As pulseaudio does not support HSP/HFP by default, we can override it with the pipewire library.

Installing Pipewire in ubuntu 20.04

To Install pipewire, you need to add a pipewire repository. Type the following command in Terminal:

sudo add-apt-repository ppa:pipewire-debian/pipewire-upstream sudo apt update sudo apt install pipewire sudo apt install libspa-0.2-bluetooth sudo apt install pipewire-audio-client-libraries

Once updated, you will need to reload bluetooth services and mask pulseaudio.

systemctl --user daemon-reload systemctl --user --now disable pulseaudio.service pulseaudio.socket systemctl --user mask pulseaudio systemctl --user --now enable pipewire-media-session.service

If you run into some issues in the last command, which I did too. The best way is to restart pipewire or reboot your system.

systemctl --user restart pipewire sudo reboot # make sure eveything is working pactl info

I don’t know why but for me, it never worked straight and I always had to choose the Headset in Microphone settings manually as shown below.

Читайте также:  Windows mobile device center bluetooth

Источник

PulseAudio + Bluetooth-наушники: не используется микрофон

Lenovo V510, Calculate Linux, PulseAudio, JBL E45BT. При Bluetooth-подключении (профиль «Гарнитура HSP/HFP») микрофон не воспринимается, т.е. Audacity не начинает запись вовсе — не просто тишина, а линия времени не удлиняется.

Обматерить поттеринга с его пульсаудио и авторов bluez заодно. Блюпуп-наушники в линуксе работают как попало.

Потом выложи выхлоп pactl list sources

Уже много раз обсуждали. Значит твоя гарнитура поддерживает только один из профилей (hsp или hpf, я забыл какой именно). А pulseaudio на данный момент поддерживает только другой из них.

Самый лёгкий способ — сменить наушники (если есть возможность в магазине проверить). Либо искать костыльные решения (не знаю, насколько они работоспособны, у меня в своё время получилось завести, но очень коряво).

Хотя конкретно твоя модель, если верить офсайту, поддерживает и hsp, и hfp. По логике должна работать.

pavucontrol что показывает? Ты в нём переключаешь на hsp/hfp?

  1. Проверить что микрофон точно работает.
  2. Покрутить всё что можно при включении соответствующего профиля в pavucontrol.

Ну и да, что-то такое, надеюсь, у тебя уже установлено pulseaudio-bluetooth.

А вообще, гуглить. Проблема стара как мир, никто и не собирается её нормально решать в ближайшее время. Кучи инструкций и доков в Сети.

Микрофон работает: при использовании с Windows. Со смартфоном. В pavucontrol «Гарнитура HSP/HFP».

А где смотреть ошибки в данном случае?

В pavucontrol «Гарнитура HSP/HFP».

А где смотреть ошибки в данном случае?

Для начала посмотри, что на вкладке Input devices.

Завтра сделаю скриншоты, но, как я уже сказал, в устройствах ввода наушники есть (вместе с качелькой уровня усиления, но без индикации уровня входящего звука), а во вкладке «Конфигурация» режим «Гарнитура HSP/HFP».

kuraga ( 05.01.20 03:45:47 MSK )
Последнее исправление: kuraga 05.01.20 03:46:20 MSK (всего исправлений: 1)

А ты поставил это устройство как устройство по умолчанию?

Да. Для верности даже, в последствии отключил все остальные устройства вообще.

А в других приложениях, кроме audacity, проверял? Желательно тех, у кого нативная поддержка pulseaudio (если правильно помню, в audacity только через маршрутизацию в alsa).

Нет, только ещё в Скайпе. Спасибо, погуглю, посмотрю.

Что-то я ничего не добился.

Учитывая, что у меня еще шум вместо звука с микрофона ноутбука, то решил попытаться перейти на Alsa.

В дополнение к моему комментарию. Документация ещё говорит, что ofono добавляет в pulseaudio поддержку HFP, но как-то у меня оно не добавило. Т.е. профиль так и остался недоступен, хотя пульса ofono вроде как признала.

UPD: а нет, шума с микрофона ноутбука нет.

Думаю проблема в том, что он цепляет не тот профиль. У меня такая же проблема, но я забил, т.к. микрофон на компе не особо нужен, а с телефоном оно работает.

Читайте также:  Блютуз штатной магнитолы солярис

О, спасибо, а я оригинальные пытался портировать. Может с этими более удачно выйдет. Возможно, что надо «headset» option of module-bluetooth-discover подправить. Эффектом от патча должно быть «available: yes» в выводе (при подключенном устройстве):

Напротив headset_head_unit: (или аналогичное название).

надо «headset» option of module-bluetooth-discover подправить

Кстати, у меня там были ошибки в /var/log/messages , которых, кажется, раньше не было… Кажется, kernel: Bluetooth: unknown opcode <. >.

А не подскажите, как/где смотреть более подробный логи bluetoothd и bluealsa?

P.S. А еще не подскажите, где в коде поменять написание версии ( pulseaudio —version )? Чтобы мне понимать, что патчи точно применились…

Та у меня 9.0, т.е. это бэкпорт и оригиналы мне и нужны. Я думал, что патчи старее. Может поэтому с трудом накладывается.

как/где смотреть более подробный логи bluetoothd и bluealsa?

Если запускать руками в консоли, то bluealsa всё туда и выводит. bluetoothd надо для этого передать -nd . Я так делал.

Найти строчку с module-bluetooth-discover в /etc/pulse/defaults.pa и дописать headset=native в конец. Хотя, может оно и не надо, вроде патчи меняют значение этой опции по умолчанию.

kernel: Bluetooth: unknown opcode

У меня hci0: hardware error какой-то есть, но я игнорирую.

где в коде поменять написание версии

Вообще оно там генерируется (в configure.ac прописан вызов git-version-gen ), но можно попробовать в src/pulse/version.h после конфигурирования.

как/где смотреть более подробный логи bluetoothd и bluealsa ?

Если запускать руками в консоли, то bluealsa всё туда и выводит. bluetoothd надо для этого передать -nd . Я так делал.

Ой, имел ввиду PulseAudio, а не Bluealsa 🙂 Ну оно log-level в /etc/pulse/daemon.conf .

Ну, A2DP работает, как и раньше. Но не HSP, HFP…

  1. Без патча, headset=native .
  2. Без патча, headset=ofono .
  3. С патчем.
  4. С патчем, headset=ofono .
  5. С патчем, headset=native .
  6. С патчем, отключенным при компиляции ofono, headset=native . Это добавляет режим Headset (HFP) . При подключении — ошибка (полный лог):
Jan 13 12:52:24 node-calculate2 pulseaudio[5755]: [pulseaudio] protocol-native.c: Application "Blueman" requests card profile change. card = bluez_card.5C_FB_7C_6A_01_38, profile = handsfree Jan 13 12:52:24 node-calculate2 pulseaudio[5755]: [pulseaudio] module-bluez5-device.c: Refused to switch profile to handsfree: Not connected 
  1. С патчем, отключенным при компиляции ofono, headset=native , enable_native_hfp_hf=false (тык). Это добавляет режим Headset (HSP) . Подключение происходит. Звука нет. Лог.

P.S. А вот даже любопытно, в Ubuntu работает.

Чтоб его… А pactl list | grep -C2 A2DP хоть начало правильный вывод давать? Я когда ofono тыкал пытался разобраться почему профиль всё ещё available: no . Если с патчем оно yes , то это хоть что-то.

Полагаю, A2DP и без патча был.

Звуковая плата №4 Имя: bluez_card.5C_FB_7C_6A_01_38 Драйвер: module-bluez5-device.c Модуль-владелец: 39 Свойства: device.description = "JBL E45BT" device.string = "5C:FB:7C:6A:01:38" device.api = "bluez" device.class = "sound" device.bus = "bluetooth" device.form_factor = "headset" bluez.path = "/org/bluez/hci0/dev_5C_FB_7C_6A_01_38" bluez.class = "0x240404" bluez.alias = "JBL E45BT" device.icon_name = "audio-headset-bluetooth" device.intended_roles = "phone" Профили: headset_head_unit: Headset (HSP) (аудиоприёмников: 1, источников: 1, приоритет: 40, доступен: да) a2dp_sink: Воспроизведение высокого качества (приёмник A2DP) (аудиоприёмников: 1, источников: 0, приоритет: 60, доступен: да) off: Выключено (аудиоприёмников: 0, источников: 0, приоритет: 0, доступен: да) Активный профиль: a2dp_sink Порты: headset-output: Гарнитура (priority: 0, latency offset: 0 usec) Входит в профиль(и): headset_head_unit, a2dp_sink headset-input: Гарнитура (priority: 0, latency offset: 0 usec) Входит в профиль(и): headset_head_unit 

Да, a2dp нативный и должен всегда быть, если устройство его поддерживает.

module-bluez5-device.c: Refused to switch profile to handsfree: Not connected 
 if (!d->transports[*p] || d->transports[*p]->state  

Т.е. транспорт либо отсутствует, либо не подключён. Но выше по логу:

Jan 13 12:51:15 node-calculate2 pulseaudio[5755]: [pulseaudio] bluez5-util.c: Transport /org/bluez/hci0/dev_5C_FB_7C_6A_01_38/fd38 state: disconnected -> idle 

Источник

How to use a bluetooth headset mic in Ubuntu?

enter image description here

I have a bluetooth headset (Sennheiser MM 550-X) connected to my computer through a USB bluetooth dongle (Asus USB-BT400). I'm running Ubuntu 14.10. I would like to configure the headset both as output (headphone) and input source (the mic). First of all, the headset pairs with the computer: In the Ubuntu sound settings, if i configure the headset in mode "A2DP", i can send the sound from the computer to the headset. But configuring the input source as my headset switches the mode of the output to HSP/HFP and nothing works anymore (neither sound output or mic) From my research on the internet i understand that only the HSP/HFP mode can get the mic working. Moreover the dongle uses a Broadcom BCM20702A0 chipset and i found some bug reports about it but i'm not sure whether there is still problems or not with this chipset. How to get the mic working ? thanks ! Edit: add output of lsusb:

Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 003 Device 002: ID 0d3d:0040 Tangtop Technology Co., Ltd Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 003: ID 0b05:17cb ASUSTek Computer, Inc. Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub 
[35677.706802] usbcore: deregistering interface driver btusb [35677.709252] Bluetooth: hci0 urb ffff8800d5ec6840 failed to resubmit (2) [35690.999061] usbcore: registered new interface driver btusb 

Can you add the result of lsusb to your question? I think the BCM20702A0 is one of the bluetooth devices that need patchram firmware to use HSP/HFP

Источник

Оцените статью
Adblock
detector