Wie verwende ich ein Bluetooth-Headset-Mikrofon in Ubuntu?

Wie verwende ich ein Bluetooth-Headset-Mikrofon in Ubuntu?

Ich habe ein Bluetooth-Headset (Sennheiser MM 550-X), das über einen USB-Bluetooth-Dongle (Asus USB-BT400) an meinen Computer angeschlossen ist. Ich verwende Ubuntu 14.10. Ich möchte das Headset sowohl als Ausgabe (Kopfhörer) als auch als Eingabequelle (Mikrofon) konfigurieren.

Zunächst wird das Headset mit dem Computer gekoppelt: Bildbeschreibung hier eingeben

Wenn ich in den Ubuntu-Soundeinstellungen das Headset im Modus „A2DP“ konfiguriere, kann ich den Ton vom Computer an das Headset senden. Wenn ich die Eingangsquelle jedoch als mein Headset konfiguriere, wird der Modus der Ausgabe auf HSP/HFP umgeschaltet und nichts funktioniert mehr (weder die Tonausgabe noch das Mikrofon).

Aus meiner Internetrecherche weiß ich, dass das Mikrofon nur im HSP/HFP-Modus funktioniert. Außerdem verwendet der Dongle einen Broadcom BCM20702A0-Chipsatz und ich habe einige Fehlerberichte darüber gefunden, bin mir aber nicht sicher, ob es mit diesem Chipsatz noch Probleme gibt oder nicht.

Wie bekomme ich das Mikrofon zum Laufen?

Danke !

Bearbeiten: Ausgabe von lsusb hinzufügen:

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: Update zur Antwort von Jeremy31. Mein Headset ist 00:16:94:0F:23:C6

dmesg|Schwanz:

[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

Antwort1

Das Problem liegt beim btusb-Treiber und dem Asus-Dongle USB-BT400. Dieser Dongle benötigt eine Firmware. Um die Firmware zu erhalten, laden Sie hier den neuesten Windows-Treiber herunter (Abschnitt Bluetooth): http://support.asus.com/download.aspx?SLanguage=en&p=1&s=45&m=MAXIMUS+VI+FORMULA&os=30&hashedid=Dbn0i1Jz1yusKO7u

Extrahieren Sie die ZIP-Datei. Es gibt viele Firmwares, also müssen wir die richtige finden. Bearbeiten Sie beispielsweise die Datei bcbtums-win7x86-brcm.inf und suchen Sie den Abschnitt für Ihren Dongle, indem Sie in der Datei nach Ihrer USB-Produkt-ID suchen (Groß-/Kleinschreibung wird nicht beachtet). Der Abschnitt verweist auf eine HEX-Datei, in meinem Fall „BCM20702A1_001.002.014.1315.1347.hex“.

Laden Sie hex2hcd hier herunter:https://github.com/jessesung/hex2hcd Kompilieren Sie es und erstellen Sie aus der zuvor ermittelten .hex-Datei eine .hcd-Datei. Jetzt haben wir die Firmware.

Es sieht so aus, als ob der btusb-Treiber nicht versucht, die Firmware für diesen Dongle zu laden, was wahrscheinlich ein Fehler ist (?). Installieren Sie linux-source-3.16.0, um die Quellen zu erhalten. Nehmen Sie in btusb.c diese kleine Änderung vor:

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

Kompilieren Sie die Module (ich musste den Kernel vorher kompilieren, um einen „Exec-Formatfehler“ beim Laden des neuen Moduls zu umgehen). Sichern Sie das Originalmodul und überschreiben Sie es mit der neuen btusb.ko (in meinem Fall war es in /lib/modules/3.16.0-33-generic/kernel/drivers/bluetooth/btusb.ko)

Legen Sie die .hcd-Datei unter: /lib/firmware/brcm/BCM20702A0-0b05-17cb.hcd ab (passen Sie den Namen bei Bedarf an).

Jetzt können wir den btusb-Treiber neu laden:

modprobe -r btusb; Modprobe BTUSB

dmesg sollte eine Zeile wie die folgende anzeigen:

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

Jetzt funktioniert das HSP/HFP-Profil! Das heißt, das Headset kann für Ein- und Ausgabe verwendet werden.

Antwort2

So erhalten Sie die 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

Dann sehen Sie, ob dmesg zeigt Firmware geladen wird

dmesg | tail

Dann sollten Sie Ihr Headset ausprobieren können

Neue Bearbeitung: Seit einiger Zeit wird Firmware hochgeladen aufhttps://github.com/winterheart/broadcom-bt-firmware/tree/master/brcm Suchen Sie Ihre Firmware in der Liste, klicken Sie mit der rechten Maustaste auf den Namen und wählen Sie „Linkadresse/Speicherort kopieren“. Geben Sie dann im Terminal cd /lib/firmware/brcmFolgendes ein sudo wgetund verwenden Sie Strg + Umschalt + V, um die Linkadresse einzufügen.

verwandte Informationen