过程描述
系统超动时屏幕上显示:
[ 3.107381] bluetooth hci0: firmware: failed to load brcm/BCM20702A1-0a5c-21f4.hcd (-2)
查看日志相关内容:
sudo cat /var/log/messages | grep hci0
显示:
Dec 8 22:24:51 debian kernel: [ 3451.543383] Bluetooth: hci0: BCM: Patch brcm/BCM20702A1-0a5c-21f4.hcd not found
Dec 8 23:26:19 debian kernel: [ 6564.565587] Bluetooth: hci0: BCM: chip id 63
Dec 8 23:26:19 debian kernel: [ 6564.581819] Bluetooth: hci0: BCM20702A
Dec 8 23:26:19 debian kernel: [ 6564.582583] Bluetooth: hci0: BCM20702A1 (001.002.014) build 0000
Dec 8 23:26:19 debian kernel: [ 6564.589301] bluetooth hci0: Direct firmware load for brcm/BCM20702A1-0a5c-21f4.hcd failed with error -2
上网查找相关驱动,找到https://github.com/winterheart/broadcom-bt-firmware项目,下载得到BCM20702A1-0a5c-21f4.hcd
,按提示创建目录并拷贝到/lib/firmware/brcm
之中,重启后不再显示固件加载失败。
总结
日志
学会看日志文件,查找问题的具体信息。一般屏幕显示的内容在/var/log/messages
之中。
固件
了解解决固件驱动缺失的基本思路。
固件所在的目录一般为:
- /lib/firmware/$(uname -r)
- /lib/firmware
- /usr/local/lib/firmware
- /usr/lib/hotplug/firmware
确定所需的固件名称
如前面警告提示,在failed to load
后面显示的部分即为固件名称BCM20702A1-0a5c-21f4.hcd
。
找到缺失的固件
- apt-cache search <固件名称>
- apt-file search <固件名称>
- 在网页中查找:https://www.debian.org/distrib/packages
将找到的固件文件拷贝到默认的固件目录之中后重启系统即可。
来源:
https://www.cyberciti.biz/faq/linux-log-files-location-and-how-do-i-view-logs-files/
https://raphaelhertzog.com/2011/03/14/missing-firmware-in-debian-learn-how-to-deal-with-the-problem/
本文旨在学习交流,唯恐以偏盖全、混淆视听,请高手指正。