как использовать Bluetooth rtl8723bs в Linux 5.10

Я нашел быстрое решение:

systemctl mask backup.mount

... что, конечно, нужно будет -выполнить (с помощьюunmask)после завершения технического обслуживания.

0
24.10.2021, 04:16
1 ответ

Устройства HS -UART, перечисленные с помощью ACPI и имеющие драйверы, автоматически создаются в ядре 5.10, построенном с помощью CONFIG_SERIAL_DEV_CTRL_TTYPORT, и этого достаточно для автоматической настройки этого контроллера Bluetooth без каких-либо дополнительных действий по подключению. Но для CONFIG_SERIAL_DEV_CTRL_TTYPORTтребуется CONFIG_SERIAL_DEV_BUS=y, то есть serdev, встроенный -в ядро, а не просто встроенный как модуль.

После того, как я установил новый пакет ядра, собранный со всеми

CONFIG_SERIAL_DEV_BUS=y
CONFIG_BT_HCIUART_RTL=y
CONFIG_BT_HCIUART_3WIRE=y
CONFIG_SERIAL_DEV_CTRL_TTYPORT=y

система сразу обнаружила контроллер:

[    5.809856] Bluetooth: hci0: RTL: examining hci_ver=06 hci_rev=000b lmp_ver=06 lmp_subver=8723
[    5.814460] Bluetooth: hci0: RTL: rom_version status=0 version=1
[    5.814467] Bluetooth: hci0: RTL: loading rtl_bt/rtl8723bs_fw.bin
[    5.815894] Bluetooth: hci0: RTL: loading rtl_bt/rtl8723bs_config-OBDA8723.bin
[    5.838004] Bluetooth: hci0: RTL: cfg_sz 64, total sz 24508
[    6.720942] Bluetooth: hci0: RTL: fw version 0x365d462e

Он был включен по умолчанию в rfkill, после чего я мог запустить службу bluetooth, предоставляемую bluez, и использовать bluetoothctlдля поиска и настройки устройств Bluetooth.

Обновление:

Обратите внимание, что в более поздних ядрах контроллер Bluetooth сначала появляется во время загрузки, как указано в выводе dmesg, но затем исчезает без дальнейшего вывода в dmesg, но вы можете видеть, как это происходит в bluetoothctl. ] если он у вас открыт:

[DEL] Device E8:06:88:xx:xx:xx rakslice’s keyboard
[DEL] Controller 08:D8:33:xx:xx:xx BlueZ 5.62 [default]

Похоже, это некоторая комбинация безопасной конфигурации по умолчанию для включения Bluetooth и функций энергосбережения.

Если я явно включу питание контроллера через иерархию /sys/devices, контроллер снова появится в dmesgи bluetoothctl:

sudo bash -c 'echo on > /sys/devices/platform/80860F0A:00/serial0/serial0-0/power/control'

Однако он по-прежнему не работает должным образом:

[bluetooth]# connect E8:06:88:xx:xx:xx
Attempting to connect to E8:06:88:xx:xx:xx
Failed to connect: org.bluez.Error.NotReady br-connection-adapter-not-powered

Я переместил эту проблему в отдельный вопрос, так как сообщение об ошибке уникально, и это хорошая решаемая проблема сама по себе :Что делать, если контроллер Bluetooth отображается как `bluez `в Linux, но попытки подключения завершаются неудачей с `br -подключение -адаптер -не -питание`

Когда эта проблема решена, контроллер снова появится в dmesg, если он был в автономном режиме, и останется включенным.

1
25.10.2021, 17:05

Теги

Похожие вопросы