“inxi -Fxxxrz”的结果
Bluetooth:
Device-1: Foxconn / Hon Hai Wireless_Device type: USB driver: btusb v: 0.8
bus-ID: 3-3:2 chip-ID: 0489:e0c8 class-ID: e001 serial: <filter>
Report: hciconfig ID: hci0 rfk-id: 0 state: down
bt-service: enabled,running rfk-block: hardware: no software: no
address: <filter>
inxi 结果显示蓝牙设备,但我无法启用和使用它,我尝试使用“systemctl”,但没有用
在 Windows 11 中蓝牙工作正常,
查看 dmesg 时
sudo dmesg |grep -i blue
[ 3.844492] Bluetooth: Core ver 2.22
[ 3.844518] NET: Registered PF_BLUETOOTH protocol family
[ 3.844520] Bluetooth: HCI device and connection manager initialized
[ 3.844524] Bluetooth: HCI socket layer initialized
[ 3.844527] Bluetooth: L2CAP socket layer initialized
[ 3.844531] Bluetooth: SCO socket layer initialized
[ 3.972678] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 3.972681] Bluetooth: BNEP filters: protocol multicast
[ 3.972684] Bluetooth: BNEP socket layer initialized
[ 5.896002] Bluetooth: hci0: Opcode 0x c03 failed: -110
请帮助解决这个问题
答案1
Bluetooth:
Device-1: Foxconn / Hon Hai Wireless_Device type: USB driver: btusb v: 0.8
bus-ID: 3-3:2 chip-ID: 0489:e0c8 class-ID: e001
由于设备制造商(富士康)已将蓝牙芯片制造商的 USB 供应商/产品 ID 代码替换为自己的,因此您的 Linux 内核版本无法通过确切的芯片类型识别该蓝牙芯片。
这class-ID: e001
表明该设备可能声称是通用 USB 蓝牙设备(USB 设备类e0
、子类01
、编程接口01
- 不幸的inxi
是不会显示最后一部分),因此 Linux 尝试像通用 USB 蓝牙设备一样使用它。
Bluetooth: hci0: Opcode 0x c03 failed: -110
但是,它并没有按预期工作。
看着已知富士康 USB 设备 ID 的列表,似乎他们之前使用过各种 Broadcom 和 Atheros 蓝牙芯片。许多 Broadcom 芯片需要在启动时将固件文件发送到设备,然后设备才能工作。固件和发送方法可以特定于每个芯片型号。其他芯片可能有其他特殊要求。
该补丁已于 2022 年 4 月提交:显然一位联发科员工报告称该设备实际上使用的是联发科 MT7921 芯片。该补丁已包含在 5.19-rc1 预发行内核中:一旦内核版本 5.19 完全发布,任何稳定且长期维护的内核也可能会获得向后移植的补丁,因为向后移植看起来非常简单。
如果您等不及,并且可以为自己编译自定义内核,则修复提交电子邮件(上面链接)包含您需要添加到内核的代码。