旧笔记本安装ArchLinux后发现蓝牙无法使用,记录一下解决办法。
笔记本的无线网卡和蓝牙是一起的,lspci
命令查看网卡型号
08:00.0 Network controller: Broadcom Inc. and subsidiaries BCM43142 802.11b/g/n (rev 01)
以上可以看到是博通(Broadcom) BCM43142这一个系列型号的网卡
使用dmesg查看蓝牙相关信息
$ sudo dmesg | grep -i bluetooth
...
[ 6.688643] Bluetooth: hci0: BCM: chip id 70
[ 6.690787] Bluetooth: hci0: BCM: features 0x06
[ 6.706677] Bluetooth: hci0: BCM43142A0 (001.001.011) build 0000
[ 6.710354] Bluetooth: hci0: BCM: firmware Patch file not found, tried:
[ 6.710938] Bluetooth: hci0: BCM: 'brcm/BCM43142A0-04ca-2009.hcd'
[ 6.711451] Bluetooth: hci0: BCM: 'brcm/BCM-04ca-2009.hcd'
[ 7.389596] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 7.389602] Bluetooth: BNEP filters: protocol multicast
[ 7.389606] Bluetooth: BNEP socket layer initialized
[ 8.910445] Bluetooth: hci0: command 0x1003 tx timeout
[ 8.910448] Bluetooth: hci0: Opcode 0x1003 failed: -110
...
发现一个Bluetooth: hci0: BCM: firmware Patch file not found的错误。
然后在网上一通寻找,最终在github上找到一个仓库:https://github.com/winterheart/broadcom-bt-firmware,里面描述的错误类似。
按照仓库里README说明的方法找到对应型号网卡的firmware补丁,我按照dmesg的错误提示找到了BCM43142A0-04ca-2009.hcd这个文件,将这个文件放入/lib/firmware/brcm
目录中,重启。
再次使用dmesg
查看
[ 6.709279] Bluetooth: hci0: BCM: chip id 70
[ 6.710271] Bluetooth: hci0: BCM: features 0x06
[ 6.726308] Bluetooth: hci0: BCM43142A0 (001.001.011) build 0000
[ 6.729887] Bluetooth: hci0: BCM43142A0 'brcm/BCM43142A0-04ca-2009.hcd' Patch
[ 7.414959] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 7.414965] Bluetooth: BNEP filters: protocol multicast
[ 7.414969] Bluetooth: BNEP socket layer initialized
[ 7.422287] Bluetooth: hci0: BCM: features 0x06
[ 7.438287] Bluetooth: hci0: Bluetooth USB module
[ 7.438294] Bluetooth: hci0: BCM43142A0 (001.001.011) build 0330
原先的错误已不见,然后使用bluetoothctl
连接蓝牙,蓝牙已可以正常使用。
ArchLinux的话也可以去aur仓库搜索broadcom-bt-firmware
,安装aur包,这方法我还没试过如果上面步骤没用可以尝试下,看包里面的说明也是从https://github.com/winterheart/broadcom-bt-firmware这个仓库获取的补丁。
参与评论
手机查看
返回顶部