bluetoothctl не может обнаружить устройство, но hcitool может?

Я пытался получить пару ноутбуков с моими беспроводными наушниками, я включил драйверы для моего чипа BCM в соответствии с инструкциями здесь, /questions/238211/bluetooth-broadcom-43142-ne-rabotaet/238217#238217.

Теперь, если сделать

~ $ hciconfig hci0: Тип: BR/EDR Шина: USB
Адрес BD: 00:71:CC:9D:3F:8A MTU ACL: 1021: 8 MTU SCO: 64: 1
UP RUNNING
RX байтов:3677 acl:0 sco:0 событий:203 ошибок: 0
TX байтов:29291 acl:0 sco:0 команд:189 ошибок: 0

Я вижу свое устройство, я могу сканировать с hcitool, тем не мение blueman-manager не работал, копая глубже, я обнаружил, что мое устройство не обнаружено в bluetoothctl,

 ~  $  bluetoothctl 
[bluetooth]# scan on
No default controller available
[bluetooth]# 

Как заставить bluetoothhctl видеть, что hcitool обнаруживает и взаимодействует с?

вывод lsusb

Bus 001 Device 002: ID 8087:8000 Intel Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 004: ID 105b:e065 Foxconn International, Inc. BCM43142A0 Bluetooth module
Bus 002 Device 003: ID 5986:055e Acer, Inc 
Bus 002 Device 002: ID 0bda:0129 Realtek Semiconductor Corp. RTS5129 Card Reader Controller
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

rfkill показывает что-то интересное, хотя, он показывает 2 устройства Wi-Fi.

 ~  $  rfkill list
0: ideapad_wlan: Wireless LAN
        Soft blocked: no
        Hard blocked: no
1: ideapad_bluetooth: Bluetooth
        Soft blocked: no
        Hard blocked: no
2: phy0: Wireless LAN
        Soft blocked: no
        Hard blocked: no
3: brcmwl-0: Wireless LAN
        Soft blocked: no
        Hard blocked: no
5: hci0: Bluetooth
        Soft blocked: no
        Hard blocked: no

dmesg дает мне

[  571.720739] Bluetooth: hci0: BCM: chip id 70
[  571.736769] Bluetooth: hci0: BCM43142A
[  571.736778] Bluetooth: hci0: BCM (001.001.011) build 0000
[  572.226888] Bluetooth: hci0: BCM (001.001.011) build 0215
[  572.242883] Bluetooth: hci0: Broadcom Bluetooth Device (43142)

1 ответ

Обновите ядро ​​Linux до версии 5.1.6 или выше.

Проблема, исправленная в этом выпуске, связана с ошибкой микропрограммы контроллера Bluetooth, которая дважды посылала событие завершения, заставляя ядро ​​превратить сканирование в пассивное сканирование, поэтому не создает device found Мероприятия.

Kernel -> controller: LE Set Random Address
Controller -> kernel: Command "LE Set Random Address" Complete
Kernel -> controller: LE Set Scan Parameters (active scan)
Controller -> kernel: Command "LE Set Random Address" Complete

Ранее ядро ​​предполагало, что не может установить сканирование и активное сканирование, поэтому вместо этого оно возобновляет пассивное сканирование.

Соответствующее принятие: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=a3d50fb7ce931f08a2c6194fdc4c9a56c9ed4153

Вы можете проверить, есть ли у вас эта проблема, запустив btmon,

Перезагрузка пару раз сработала, один из тех случаев, когда вы должны спросить себя, Did you try turning it off and on again?

Другие вопросы по тегам