蓝牙不工作 - Debian

蓝牙不工作 - Debian

“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 完全发布,任何稳定且长期维护的内核也可能会获得向后移植的补丁,因为向后移植看起来非常简单。

如果您等不及,并且可以为自己编译自定义内核,则修复提交电子邮件(上面链接)包含您需要添加到内核的代码。

相关内容