¿Cómo usar un micrófono con auricular bluetooth en Ubuntu?

¿Cómo usar un micrófono con auricular bluetooth en Ubuntu?

Tengo unos auriculares bluetooth (Sennheiser MM 550-X) conectados a mi computadora a través de un dongle bluetooth USB (Asus USB-BT400). Estoy ejecutando Ubuntu 14.10. Me gustaría configurar los auriculares como salida (auriculares) y fuente de entrada (el micrófono).

En primer lugar, los auriculares se emparejan con la computadora: ingrese la descripción de la imagen aquí

En la configuración de sonido de Ubuntu, si configuro los auriculares en modo "A2DP", puedo enviar el sonido desde la computadora a los auriculares. Pero al configurar la fuente de entrada como mis auriculares cambia el modo de salida a HSP/HFP y ya nada funciona (ni salida de sonido ni micrófono)

Según mi investigación en Internet, entiendo que sólo el modo HSP/HFP puede hacer que el micrófono funcione. Además, el dongle utiliza un chipset Broadcom BCM20702A0 y encontré algunos informes de errores al respecto, pero no estoy seguro de si todavía hay problemas o no con este chipset.

¿Cómo hacer que funcione el micrófono?

gracias !

Editar: agregar salida de 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: actualización de la respuesta de Jeremy31. Mi auricular es 00:16:94:0F:23:C6

dmesg|cola:

[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

Respuesta1

El problema está en el controlador btusb y el asus dongle USB-BT400. Este dongle necesita un firmware. Para obtener el firmware, descargue el controlador de Windows más reciente aquí (sección Bluetooth): http://support.asus.com/download.aspx?SLanguage=en&p=1&s=45&m=MAXIMUS+VI+FORMULA&os=30&hashedid=Dbn0i1Jz1yusKO7u

Extraiga el archivo .zip. Hay muchos firmwares por lo que tenemos que encontrar el correcto. Edite el archivo bcbtums-win7x86-brcm.inf (por ejemplo), localice la sección de su dongle buscando el ID de su producto USB en el archivo (no distingue entre mayúsculas y minúsculas). La sección hace referencia a un archivo .hex, en mi caso "BCM20702A1_001.002.014.1315.1347.hex".

Descargue hex2hcd aquí:https://github.com/jessesung/hex2hcd Compílelo y cree un archivo .hcd a partir del archivo .hex previamente identificado. Ahora tenemos el firmware.

Parece que el controlador btusb no intenta cargar el firmware para este dongle, lo que probablemente sea un error (?). Instale linux-source-3.16.0 para obtener las fuentes. En btusb.c haz esta pequeña modificación:

@@ -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 */

Compile los módulos (tuve que compilar el kernel antes para evitar un "error de formato Exec" al cargar el nuevo módulo). Haga una copia de seguridad del módulo original y sobrescríbalo con el nuevo btusb.ko (en mi caso estaba en /lib/modules/3.16.0-33-generic/kernel/drivers/bluetooth/btusb.ko)

Coloque el archivo .hcd en: /lib/firmware/brcm/BCM20702A0-0b05-17cb.hcd (adapte el nombre si es necesario).

Ahora podemos recargar el controlador btusb:

modprobe -r btusb; modprobe btusb

dmesg debería mostrar una línea como:

[52.121571] Bluetooth: hci0: BCM: firmware hci_ver=06 hci_rev=1543 lmp_ver=06 lmp_subver=220e

¡Ahora el perfil HSP/HFP está funcionando! Lo que significa que los auriculares se pueden utilizar en entrada y salida.

Respuesta2

Para obtener el firmware

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

Luego vea si dmesg muestra que se está cargando el firmware

dmesg | tail

Entonces deberías poder probar tus auriculares.

Nueva edición: desde hace un tiempo se ha subido el firmware ahttps://github.com/winterheart/broadcom-bt-firmware/tree/master/brcm Encuentre su firmware en la lista, haga clic derecho en el nombre y elija copiar dirección/ubicación del enlace, luego en la terminal, cd /lib/firmware/brcmescriba sudo wgety luego use ctrl + shift + v para pegar la dirección del enlace.

información relacionada