Как использовать микрофон Bluetooth-гарнитуры в Ubuntu?

Как использовать микрофон Bluetooth-гарнитуры в Ubuntu?

У меня есть bluetooth-гарнитура (Sennheiser MM 550-X), подключенная к моему компьютеру через USB-адаптер bluetooth (Asus USB-BT400). Я использую Ubuntu 14.10. Я хотел бы настроить гарнитуру и как выход (наушники), и как вход (микрофон).

Прежде всего, гарнитура сопрягается с компьютером: введите описание изображения здесь

В настройках звука Ubuntu, если я настраиваю гарнитуру в режиме "A2DP", я могу отправить звук с компьютера на гарнитуру. Но настройка источника ввода как гарнитуры переключает режим вывода на HSP/HFP и больше ничего не работает (ни вывод звука, ни микрофон)

Из моих исследований в интернете я понял, что только режим HSP/HFP может заставить микрофон работать. Более того, донгл использует чипсет Broadcom BCM20702A0, и я нашел несколько отчетов об ошибках, связанных с ним, но я не уверен, есть ли еще проблемы с этим чипсетом или нет.

Как заставить микрофон работать?

Спасибо !

Редактировать: добавить вывод 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

Edit2: обновление ответа Jeremy31. Моя гарнитура 00:16:94:0F:23:C6

dmesg|хвост:

[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

решение1

Проблема с драйвером btusb и asus dongle USB-BT400. Для этого dongle нужна прошивка. Чтобы получить прошивку, скачайте последнюю версию драйвера windows здесь (раздел Bluetooth): http://support.asus.com/download.aspx?SLanguage=en&p=1&s=45&m=MAXIMUS+VI+FORMULA&os=30&hashedid=Dbn0i1Jz1yusKO7u

Извлеките файл .zip. Существует много прошивок, поэтому нам нужно найти нужную. Отредактируйте файл bcbtums-win7x86-brcm.inf (например), найдите раздел для вашего донгла, выполнив поиск идентификатора вашего продукта usb в файле (без учета регистра). Раздел ссылается на файл .hex, в моем случае "BCM20702A1_001.002.014.1315.1347.hex".

Загрузите hex2hcd здесь:https://github.com/jessesung/hex2hcd Скомпилируйте его и создайте файл .hcd из ранее идентифицированного файла .hex. Теперь у нас есть прошивка.

Похоже, что драйвер btusb не пытается загрузить прошивку для этого донгла, что, вероятно, является ошибкой (?). Установите linux-source-3.16.0, чтобы получить исходники. В btusb.c сделайте следующее небольшое изменение:

@@ -106,7 +106,7 @@ static const struct usb_device_id btusb_table[] = {
        { USB_DEVICE(0x0489, 0xe042) },
        { USB_DEVICE(0x04ca, 0x2003) },
        { USB_DEVICE(0x0b05, 0x17b5) },
-       { USB_DEVICE(0x0b05, 0x17cb) },
+       { USB_DEVICE(0x0b05, 0x17cb), .driver_info = BTUSB_BCM_PATCHRAM },
        { USB_DEVICE(0x413c, 0x8197) },

        /* Foxconn - Hon Hai */

Скомпилируйте модули (мне пришлось скомпилировать ядро ​​перед этим, чтобы обойти «Ошибку формата Exec» при загрузке нового модуля). Сделайте резервную копию оригинального модуля и перезапишите его новым btusb.ko (в моем случае он был в /lib/modules/3.16.0-33-generic/kernel/drivers/bluetooth/btusb.ko)

Поместите файл .hcd в: /lib/firmware/brcm/BCM20702A0-0b05-17cb.hcd (при необходимости измените имя).

Теперь мы можем перезагрузить драйвер btusb:

modprobe -r btusb; модпробе btusb

dmesg должен показать строку вроде:

[ 52.121571] Bluetooth: hci0: BCM: прошивка hci_ver=06 hci_rev=1543 lmp_ver=06 lmp_subver=220e

Теперь профиль HSP/HFP работает! Это значит, что гарнитуру можно использовать как для ввода, так и для вывода.

решение2

Чтобы получить прошивку

wget https://www.dropbox.com/s/hjd2uvnkki5i0f8/fw-0b05_17cb.hcd
sudo cp fw-0b05_17cb.hcd /lib/firmware/
sudo cp fw-0b05_17cb.hcd /lib/firmware/brcm/BCM20702A0-0b05-17cb.hcd
sudo modprobe -r btusb
sudo modprobe btusb
pactl load-module module-bluetooth-discover

Затем посмотрите, показывает ли dmesg загрузку прошивки.

dmesg | tail

Тогда вы сможете попробовать свою гарнитуру.

Новое редактирование: Некоторое время назад прошивка была загружена наhttps://github.com/winterheart/broadcom-bt-firmware/tree/master/brcm Найдите свою прошивку в списке, щелкните правой кнопкой мыши по названию и выберите «Копировать адрес/расположение ссылки», затем в терминале cd /lib/firmware/brcmвведите sudo wgetи используйте Ctrl + Shift + V, чтобы вставить адрес ссылки.

Связанный контент