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?