Alpine Linux - 検索を開始できません: org.bluez.Error.InProgress

Alpine Linux - 検索を開始できません: org.bluez.Error.InProgress

Bluetoothの使用に問題があります。

# 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

すべてが生きていてうまくいくようですが、何度も再起動したり、Bluetoothサービスを再起動したり、アダプタの電源を入れ直したりしても、検索の有効化が拒否されます。

どんな提案がありますか?

答え1

私に合ったプロパティ設定を見つけるための汚い解決策(Bluez 5.50 + RTL8192DU)

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

答え2

新しいBluetooth USBアダプタを購入した後も同じ問題が発生します。しかし、Bluetoothサービスを再起動し、Bluetoothの電源を切ってから電源を入れ、接続を試みるためにランダムに何度も試した後に接続できたので作成しました。このアプリこの退屈なことを私にください。

それを書く:

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

Bluetooth問題の根本原因について:

Bluetoothの問題に対する実際の解決策が見つからず、存在しないように見え、最終的に誰もが新しいハードウェア購入を提案した後、解決策としてこのアプリを作成しました。

関連質問

関連情報