Я нашел быстрое решение:
systemctl mask backup.mount
... что, конечно, нужно будет -выполнить (с помощьюunmask
)после завершения технического обслуживания.
Устройства 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
, если он был в автономном режиме, и останется включенным.