我买了一个新的蓝牙适配器(来自可插拔的,型号为 USB-BT4LE),声称它可以与 Linux 内核 3.0.34 及更高版本兼容,而我正在运行 5.2.2 版。我安装了bluez
,bluez-utils
但蓝牙适配器应用程序显示“未找到蓝牙适配器”。而我
$ dmesg | grep -i blue
[ 13.787662] Bluetooth: Core ver 2.22
[ 13.787677] Bluetooth: HCI device and connection manager initialized
[ 13.787681] Bluetooth: HCI socket layer initialized
[ 13.787682] Bluetooth: L2CAP socket layer initialized
[ 13.787685] Bluetooth: SCO socket layer initialized
[ 14.135558] Bluetooth: hci0: BCM: chip id 63
[ 14.136551] Bluetooth: hci0: BCM: features 0x07
[ 14.152549] Bluetooth: hci0: BCM20702A
[ 14.153553] Bluetooth: hci0: BCM20702A1 (001.002.014) build 0000
[ 14.248731] bluetooth hci0: Direct firmware load for brcm/BCM20702A1-0a5c-21e8.hcd failed with error -2
[ 14.248735] Bluetooth: hci0: BCM: Patch brcm/BCM20702A1-0a5c-21e8.hcd not found
似乎有些东西被识别了,但我该如何配置它(以及连接我的设备)?
谢谢!
更新:
插入适配器后,我在 dmesg 中看到以下内容:
[ 7783.692990] bluetooth hci0: Direct firmware load for brcm/BCM20702A1-0a5c-21e8.hcd failed with error -2
[ 7783.692993] Bluetooth: hci0: BCM: Patch brcm/BCM20702A1-0a5c-21e8.hcd not found
[ 7788.617982] audit: type=1131 audit(1581476791.719:133): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=systemd-rfkill comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
基于https://support.plugable.com/t/need-bcm20702a1-0a5c-21e8/8803/2在计算机上搜索固件。$ sudo find / -name "*BCM2070*"
不幸的是也没有任何结果。
我发现https://www.linuxsecrets.com/2840-enable-bluetooth-on-linux它基本上指导下载https://s3.amazonaws.com/plugable/bin/fw-0a5c_21e8.hcd并将其存储在/lib/firmware/brcm/
我所做的位置,我重新插入加密狗并得到:
[ 8545.828783] usb 4-1.8: new full-speed USB device number 28 using ehci-pci
[ 8545.933009] usb 4-1.8: New USB device found, idVendor=0a5c, idProduct=21e8, bcdDevice= 1.12
[ 8545.933013] usb 4-1.8: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 8545.933015] usb 4-1.8: Product: BCM20702A0
[ 8545.933017] usb 4-1.8: Manufacturer: Broadcom Corp
[ 8545.933019] usb 4-1.8: SerialNumber: 5CF370984D12
[ 8545.981571] audit: type=1130 audit(1581477549.083:146): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=systemd-rfkill comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
[ 8546.044020] Bluetooth: hci0: BCM: chip id 63
[ 8546.045016] Bluetooth: hci0: BCM: features 0x07
[ 8546.061014] Bluetooth: hci0: BCM20702A
[ 8546.061981] Bluetooth: hci0: BCM20702A1 (001.002.014) build 0000
[ 8546.904154] Bluetooth: hci0: BCM20702A1 (001.002.014) build 1338
[ 8546.920998] Bluetooth: hci0: Broadcom Bluetooth Device
看起来dmesg
不错,但仍然挂起:
$ bluetoothctl
Waiting to connect to bluetoothd...
当我Bluetooth Adapters
从 K-Menu 打开时,它仍然显示:“未找到蓝牙适配器。”
嗯,lsusb
给我这个:
$ lsusb
Bus 004 Device 028: ID 0a5c:21e8 Broadcom Corp. BCM20702A0 Bluetooth 4.0
Bus 004 Device 004: ID 046d:c534 Logitech, Inc. Unifying Receiver
Bus 004 Device 025: ID 1004:631c LG Electronics, Inc. G2/Optimus Android Phone [MTP mode]
Bus 004 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 002: ID 046d:c215 Logitech, Inc. Extreme 3D Pro
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 058f:6362 Alcor Micro Corp. Flash Card Reader/Writer
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
$
答案1
好的,我明白了,
sudo systemctl status bluetooth
显示我的机器上没有运行蓝牙服务,因此我使用
$ sudo systemctl start bluetooth
并确保它在重启后启用,我还识别了:
sudo systemctl enable bluetooth
现在它显示我的适配器!
答案2
如果找不到固件,您也可以从这里获取固件。
https://github.com/winterheart/broadcom-bt-firmware/tree/master/brcm