Tengo un auricular bluetooth (Sennheiser MM 550-X) conectado a mi computadora a través de un dongle USB bluetooth (Asus USB-BT400). Estoy ejecutando Ubuntu 14.10. Me gustaría configurar los auriculares como salida (auriculares) y como fuente de entrada (el micrófono).
En primer lugar, los auriculares se emparejan con la computadora:
En la configuración de sonido de Ubuntu, si configuro el auricular en modo "A2DP", puedo enviar el sonido de la computadora al auricular. Pero configurar la fuente de entrada como mi auricular 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 solo el modo HSP / HFP puede hacer que el micrófono funcione. Además, el dongle utiliza un conjunto de chips Broadcom BCM20702A0 y encontré algunos informes de errores al respecto, pero no estoy seguro de si todavía hay problemas o no con este conjunto de chips.
¿Cómo hacer funcionar 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 a la respuesta 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
fuente
lsusb
tu pregunta? Creo que el BCM20702A0 es uno de los dispositivos bluetooth que necesitan firmware de patchram para usar HSP / HFPRespuestas:
Para obtener el firmware
Luego vea si dmesg muestra que el firmware se está cargando
Entonces deberías poder probar tus auriculares
fuente
Bluetooth: hci0: BCM: firmware hci_ver=06 hci_rev=153a lmp_ver=06 lmp_subver=220e
con el kernel 3.16.0-33El problema es con el controlador btusb y el dongle asus 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
Extrae el archivo .zip. Hay muchos firmwares, así que tenemos que encontrar el correcto. Edite el archivo bcbtums-win7x86-brcm.inf (por ejemplo), ubique la sección de su dongle buscando su ID de producto usb en el archivo (sin distinción 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 identificado previamente. Ahora tenemos el firmware.
Parece que el controlador btusb no intenta cargar el firmware para este dongle, que probablemente sea un error (?). Instale linux-source-3.16.0 para obtener las fuentes. En btusb.c realiza esta pequeña modificación:
Compile los módulos (tuve que compilar el núcleo 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:
dmesg debería mostrar una línea como:
¡Ahora el perfil HSP / HFP está funcionando! Lo que significa que el auricular se puede usar en entrada y salida.
fuente
cp /boot/config-$(uname -r) .config
, ycp /usr/src/linux-headers-$(uname -r)/Module.symvers Module.symvers
entonces usted puede hacer sus módulos Bluetooth conmake -C /lib/modules/$(uname -r)/build M=$PWD modules
Si actualiza el kernel, y luego cambiar en el directorio de origen bluetooth ymake -C /lib/modules/$(uname -r)/build M=$PWD clean