Alpine Linux - 无法启动发现:org.bluez.Error.InProgress

Alpine Linux - 无法启动发现:org.bluez.Error.InProgress

我在使用蓝牙时遇到问题。

# uname -a
Linux alpine 4.19.98-0-vanilla #1-Alpine SMP Thu Jan 23 10:17:11 UTC 2020 x86_64 Linux

如您所见,hciconfig 显示适配器已启动:

# hciconfig hci0
hci0:   Type: Primary  Bus: USB
    BD Address: 5C:F3:70:62:65:B6  ACL MTU: 1021:8  SCO MTU: 64:1
    UP RUNNING 
    RX bytes:2144 acl:0 sco:0 events:91 errors:0
    TX bytes:1111 acl:0 sco:0 commands:75 errors:0

bluetoothctl 显示一切似乎都正常:

[bluetooth]# show
Controller 5C:F3:70:62:65:B6 (public)
    Name: BlueZ 5.54
    Alias: BlueZ 5.54
    Class: 0x00000000
    Powered: yes
    Discoverable: no
    DiscoverableTimeout: 0x000000b4
    Pairable: yes
    UUID: Generic Attribute Profile (00001801-0000-1000-8000-00805f9b34fb)
    UUID: Generic Access Profile    (00001800-0000-1000-8000-00805f9b34fb)
    UUID: PnP Information           (00001200-0000-1000-8000-00805f9b34fb)
    UUID: A/V Remote Control Target (0000110c-0000-1000-8000-00805f9b34fb)
    UUID: A/V Remote Control        (0000110e-0000-1000-8000-00805f9b34fb)
    Modalias: usb:v1D6Bp0246d0536
    Discovering: no
Advertising Features:
    ActiveInstances: 0x00
    SupportedInstances: 0x05
    SupportedIncludes: tx-power
    SupportedIncludes: appearance
    SupportedIncludes: local-name

但每当我尝试启用扫描时,我都会收到相同的错误:

[bluetooth]# scan on
Failed to start discovery: org.bluez.Error.InProgress

dmesg 显示 tx 命令超时:

# dmesg | grep Bluetooth
[    2.709741] Bluetooth: Core ver 2.22
[    2.709758] Bluetooth: HCI device and connection manager initialized
[    2.709769] Bluetooth: HCI socket layer initialized
[    2.709771] Bluetooth: L2CAP socket layer initialized
[    2.709775] Bluetooth: SCO socket layer initialized
[    2.843398] Bluetooth: hci0: BCM: chip id 63
[    2.847554] Bluetooth: hci0: BCM: features 0x07
[    2.901177] Bluetooth: hci0: BlueZ 5.54
[    2.905321] Bluetooth: hci0: BCM20702A1 (001.002.014) build 0000
[    2.922080] Bluetooth: hci0: BCM: Patch brcm/BCM20702A1-0a5c-21e8.hcd not found
[    9.240210] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[    9.240211] Bluetooth: BNEP filters: protocol multicast
[    9.240214] Bluetooth: BNEP socket layer initialized
[  172.932277] Bluetooth: hci0: command 0x200b tx timeout
[ 1150.828537] Bluetooth: hci0: command 0x2005 tx timeout

一切似乎都充满活力,但它只是拒绝启用扫描,无论重新启动多少次,或重新启动蓝牙服务,或关闭并打开适配器电源。

有什么建议 ?

答案1

作为对我有用的发现属性设置的肮脏解决方法(Bluez 5.50 + RTL8192DU)

>hciconfig hci0 up
>hciconfig hci0 reset
>bluetoothctl
#menu scan
#transport auto
#back
#scan on
...

答案2

自从我购买了新的蓝牙 USB 适配器以来,我遇到了同样的问题。但我能够在随机多次尝试重新启动蓝牙服务、关闭和打开蓝牙电源、尝试连接后进行连接,所以我创建了这个程序给我做这个无聊的工作。

使用它:

$ bluetoothctl devices
Device 94:CC:56:E5:72:85 WH-1000XM4
$ java -jar linux-bluetooth-connection-fix.jar 94:CC:56:E5:72:85

关于蓝牙问题根本原因:

我无法找到蓝牙问题的真正解决方案,看起来它甚至不存在,所有人都建议最后购买新硬件,然后我制作了这个程序作为解决方法。

相关问题

相关内容