如何在 Ubuntu 中使用藍牙耳機麥克風?

如何在 Ubuntu 中使用藍牙耳機麥克風?

我有一個藍牙耳機 (Sennheiser MM 550-X) 透過 USB 藍牙適配器 (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 驅動程式和華碩適配器 USB-BT400 上。該加密狗需要韌體。若要取得固件,請在此處下載最新的 Windows 驅動程式(藍牙部分): 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 產品 ID(不區分大小寫)找到加密狗的部分。該部分引用了一個 .hex 文件,在我的例子中為「BCM20702A1_001.002.014.1315.1347.hex」。

在這裡下載 hex2hcd:https://github.com/jessesung/hex2hcd 編譯它並從先前識別的 .hex 檔案產生 .hcd 檔案。現在我們有了韌體。

看起來 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; modprobe btusb

dmesg 應顯示如下行:

[52.121571]藍牙: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 貼上連結地址

相關內容