如何讓藍牙在聯想 Yoga 3 上正常工作?
我有一台聯想 Yoga 3,它顯然有一個新的 Broadcom 藍牙設備。
在啟動時檢測到藍牙,當我嘗試在 gnome 中配對某個東西時,我可以看到一個設備列表,但沒有一個配對。
我怎樣才能讓這個設備工作?
lsusb Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 004: ID 048d:8386 Integrated Technology Express, Inc. Bus 001 Device 003: ID 5986:0535 Acer, Inc Bus 001 Device 002: ID 0489:e07a Foxconn / Hon Hai Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
usb-devices T: Bus=01 Lev=01 Prnt=01 Port=03 Cnt=02 Dev#= 2 Spd=12 MxCh= 0 D: Ver= 2.00 Cls=ff(vend.) Sub=01 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=0489 ProdID=e07a Rev=01.12 S: Manufacturer=Broadcom Corp S: Product=BCM20702A0 S: SerialNumber=38B1DBE337E4 C: #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr=0mA I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb I: If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb I: If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) I: If#= 3 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=01 Driver=(none)
從 3.19 版本開始,Linux 核心支持此設備,但您需要手動將設備的韌體提供給核心。
查找韌體:
您可以在設備的 Windows 驅動程序中找到韌體,您可以從 Lenovo(或您的電腦製造商的網站)下載該驅動程序。許多驅動程序可以直接解壓縮,但對於這台特定的電腦,驅動程序是一個
.exe
文件,必須使用wine
.wine 4ab802rf.exe
按照“安裝”說明進行操作。嚮導將提取
.exe
文件,並在最後一步要求安裝它。取消選中“立即安裝 Broadcom 藍牙驅動程序”:驅動文件已經解壓到
~/.wine/driver_c/drivers/Broadcom Bluetooth Driver/
辨識正確的文件
在我的例子中,解壓包中有 20 - 30 個韌體文件。哪一個與您的設備相對應在驅動程序
inf
文件之一中顯示。從 的輸出中查找您的設備 ID,lsusb
或者如果不清楚,usb-devices
。在這種情況下,它是e07a
. 然後 grepinf
文件以找出哪一個在談論該設備:grep -c E07A -r --include \*.inf Win32/LD/bcbtumsLD-win7x86.inf:0 Win32/bcmhidnossr.inf:0 Win32/btwl2cap.inf:0 Win32/btwavdt.inf:0 Win32/btwrchid.inf:0 Win32/bcbtums-win8x86-brcm.inf:17 Win32/btwaudio.inf:0 Win64/LD/bcbtumsLD-win7x64.inf:0 Win64/bcmhidnossr.inf:0 Win64/btwl2cap.inf:0 Win64/btwavdt.inf:0 Win64/btwrchid.inf:0 Win64/bcbtums-win8x64-brcm.inf:17 Win64/btwaudio.inf:0 Autorun.inf:0
因此,在此驅動程序中,您可以查看
Win32/bcbtums-win8x86-brcm.inf
或Win64/bcbtums-win8x64-brcm.inf
。查看文件並找到附近提到的十六進製文件E07A
:;;;;;;;;;;;;;RAMUSBE07A;;;;;;;;;;;;;;;;; [RAMUSBE07A.CopyList] bcbtums.sys btwampfl.sys BCM20702A1_001.002.014.1443.1496.hex
因此韌體位於同一目錄中並命名為
BCM20702A1_001.002.014.1443.1496.hex
.轉換和放置韌體
下載並編譯該
hex2hcd
工具。git clone https://github.com/jessesung/hex2hcd.git cd hex2hcd make
將韌體轉換為
hcd
:hex2hcd BCM20702A1_001.002.014.1443.1496.hex firmware.hcd
重命名韌體並將其移動到系統的韌體子目錄:
su -c 'mv firmware.hcd /lib/firmware/brcm/BCM20702A0-0489-e07a.hcd'
這個文件的名字很關鍵。在這種情況下,兩組四個字元
0489-e07a
應與您設備的供應商 ID 和產品 ID 匹配。載入韌體
載入韌體最簡單的方法是關閉電腦並重新打開。注意電腦要關機;簡單的重啟可能不足以重新載入此韌體。