我有一台Lenovo 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
。然后grep这些inf
文件,以找出哪些人在谈论该设备:
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相匹配。
加载固件的最简单方法是关闭计算机电源,然后重新打开。请注意,应关闭计算机的电源。简单的重启可能不足以重新加载此固件。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句