Tive o mesmo problema com o novo Kubuntu 18.04 instalado e com o Asus Rog Strix Z370-E. Descobriu-se que o kernel 4.15 em estoque biônico tem todos os drivers e firmware necessários enviados, mas ainda não reconhece o dispositivo (0b05: 185c) como adaptador bluetooth r8822be (kernel 4.17). Resultando nos arquivos de firmware necessários não sendo carregados.
O que eu fiz para resolver isso:
-
Fazer o download da origem do kernel
apt-get source linux-source-4.15.0
-
Copie o conteúdo de "linux-4.15.0 / drivers / bluetooth /" para "~ / btusb-custom /" (eu queria manter o código original para referência no caso de ter feito algo errado).
-
edite ~ / btusb-custom / btusb.c e adicione os IDs de hardware rtl8822be na linha 376. Altere de:
/* Additional Realtek 8821AE Bluetooth devices */ { USB_DEVICE(0x0b05, 0x17dc), .driver_info = BTUSB_REALTEK }, { USB_DEVICE(0x13d3, 0x3414), .driver_info = BTUSB_REALTEK }, { USB_DEVICE(0x13d3, 0x3458), .driver_info = BTUSB_REALTEK }, { USB_DEVICE(0x13d3, 0x3461), .driver_info = BTUSB_REALTEK }, { USB_DEVICE(0x13d3, 0x3462), .driver_info = BTUSB_REALTEK }, /* Silicon Wave based devices */ { USB_DEVICE(0x0c10, 0x0000), .driver_info = BTUSB_SWAVE }, { } /* Terminating entry */
para:
/* Additional Realtek 8821AE Bluetooth devices */ { USB_DEVICE(0x0b05, 0x17dc), .driver_info = BTUSB_REALTEK }, { USB_DEVICE(0x13d3, 0x3414), .driver_info = BTUSB_REALTEK }, { USB_DEVICE(0x13d3, 0x3458), .driver_info = BTUSB_REALTEK }, { USB_DEVICE(0x13d3, 0x3461), .driver_info = BTUSB_REALTEK }, { USB_DEVICE(0x13d3, 0x3462), .driver_info = BTUSB_REALTEK }, /* Additional Realtek 8822BE Bluetooth devices */ { USB_DEVICE(0x13d3, 0x3526), .driver_info = BTUSB_REALTEK }, { USB_DEVICE(0x0b05, 0x185c), .driver_info = BTUSB_REALTEK }, /* Silicon Wave based devices */ { USB_DEVICE(0x0c10, 0x0000), .driver_info = BTUSB_SWAVE }, { } /* Terminating entry */
(código retirado do link )
-
Também em btusb.c altere a linha 41 de:
#define VERSION "0.8"
para:
#define VERSION "0.8-custom"
(Caso contrário, você teria que forçar a instalação do dkms.)
-
Crie "~ / btusb-custom / dkms.conf", com o seguinte conteúdo:
PACKAGE_NAME="btusb-custom" PACKAGE_VERSION=0.1 CLEAN="make clean" BUILT_MODULE_NAME[0]="btusb" DEST_MODULE_NAME[0]="btusb" DEST_MODULE_LOCATION[0]="/updates" REMAKE_INITRD=yes AUTOINSTALL=yes
-
Depois disso, instalei meu módulo personalizado com o DKMS:
sudo dkms add ~/btusb_custom sudo dkms install btusb-custom/0.1
-
e testado com
sudo modprobe -r btusb sudo modprobe btusb
Viola! O ícone da bandeja do bluetooth no KDE apareceu instantaneamente.
dmesg | grep 8822
resulta em
...
[ 3.629464] Bluetooth: hci0: rtl: examining hci_ver=07 hci_rev=000b lmp_ver=07 lmp_subver=8822
[ 3.629465] Bluetooth: hci0: rtl: loading rtl_bt/rtl8822b_config.bin
[ 3.630645] Bluetooth: hci0: rtl: loading rtl_bt/rtl8822b_fw.bin
...
Não se esqueça de remover esse módulo assim que você obtiver um upgrade do kernel > = 4.17, você não precisará dele a partir daí.
NOTA: Meu conhecimento de desenvolvimento de kernel é aproximadamente zero, todo o código acima é copiar e colar de vários resultados de pesquisa combinados com algum senso comum - se algo que eu escrevi é um mau conselho, por favor me corrija!