Bluetoothctl 找不到默认设备,但 hciconfig / hcitool 可以看到我的设备

Bluetoothctl 找不到默认设备,但 hciconfig / hcitool 可以看到我的设备

我在 Linux 上使用带有 HCI-UART 控制器(Nordic Zephyr 项目)的 BlueZ-5.49。

我已经使用 btattach 连接我的适配器并且可以通过 hcitool 进行扫描。

$ hciconfig -a
@ RAW Open: hciconfig (privileged) version 2.22             {0x0003} 240.238053
hci0:   Type: Primary  Bus: UART
        BD Address: 00:00:00:00:00:00  ACL MTU: 27:7  SCO MTU: 0:0
        UP RUNNING
        RX bytes:476 acl:0 sco:0 events:34 errors:0
        TX bytes:248 acl:0 sco:0 commands:34 errors:0
        Features: 0x00 0x00 0x00 0x00 0x60 0x00 0x00 0x00
        Packet type: DM1 DH1 HV1
        Link policy:
        Link mode: SLAVE ACCEPT

我想用它bluetoothctl来连接我的外围设备,但我找不到我的适配器

$bluetoothctl
[bluetooth]#                         Agent registered
[bluetooth]# list
[bluetooth]# scan on
No default controller available

看起来无法bluetoothctl识别该适配器。

我认为我的问题与下面的问题类似。但是,我不太明白解决方案是什么。

bluetoothctl 无法检测到设备但 hcitool 可以?

我希望有人可以给我一些提示来检查我的系统现在缺少什么。

感谢您的帮助。

答案1

BD 地址:00:00:00:00:00:00 - 这不是个好兆头。看起来像是驱动程序问题。

我遇到了同样的问题,似乎是伪造的 CSR 加密狗。rmmod btusb && modprobe btusb 帮助将 BD 地址重置为真实地址,但 bluetoothctl 仍然看不到它:

hci0:类型:主总线:USB
    BD 地址:00:1A:XX:XX:XX:11 ACL MTU:679:9 SCO MTU:48:16
    向上运行
    RX字节:1140 acl:0 sco:0 事件:58 错误:0
    TX 字节:702 acl:0 sco:0 命令:59 错误:1
    特征:0xff 0xff 0xcd 0xfa 0xdb 0xbf 0x7b 0x87
    数据包类型:DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
    链接政策:RSWITCH HOLD SNIFF PARK
    链接模式:从属接受
    姓名: ''
    类别:0x000000
    服务类别:未指定
    设备类别:杂项,
    HCI 版本:4.0 (0x6) 修订版:0x810
    LMP 版本:4.0(0x6)颠覆版本:0x810
    制造商:Cambridge Silicon Radio(10)

我必须重新编译我的内核以在 btusb.c 中做一些更改,否则它甚至不会调出界面。

这是来自 dmesg 的 USB 设备信息:idVendor=0a12、idProduct=0001、bcdDevice=88.91

相关内容