hciconfig hci0 up

hciconfig hci0 up

Este é um laptop HP 15-BS576TX que vem com módulo Realtek RTL8723DE Wireless/Bluetooth. Sinceramente, não consigo encontrar uma maneira de ativar o Bluetooth, apesar de todos os firmware estarem disponíveis. O firmware RTL8723DE está disponível recentemente na árvore linux-firmware.git do kernel e eu também o copiei para o diretório /lib/firmware/rtl_bt.

O erro é que ele está solicitando o arquivo rtl8723b_config.bin que não está disponível. Além disso, a parte bluetooth deste laptop é detectada como RTL8723B de acordo com o log do kernel. A resposta do mantenedor do firmware foi: "Nem todos os dispositivos precisam do arquivo de configuração - o rtl8723be não."

# dmesg  |grep -i bluetooth
[   11.325095] Bluetooth: Core ver 2.22
[   11.325111] Bluetooth: HCI device and connection manager initialized
[   11.325113] Bluetooth: HCI socket layer initialized
[   11.325115] Bluetooth: L2CAP socket layer initialized
[   11.325118] Bluetooth: SCO socket layer initialized
[   11.414774] Bluetooth: hci0: rtl: examining hci_ver=08 hci_rev=000d lmp_ver=08 lmp_subver=8723
[   11.414775] Bluetooth: hci0: rtl: loading rtl_bt/rtl8723b_config.bin
[   11.466838] bluetooth hci0: Direct firmware load for rtl_bt/rtl8723b_config.bin failed with error -2
[   11.466840] Bluetooth: hci0: rtl: loading rtl_bt/rtl8723b_fw.bin
[   11.478765] Bluetooth: hci0: rom_version status=0 version=2
[   11.478767] Bluetooth: hci0: didn't find patch for chip id 2
[   21.410553] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[   21.410555] Bluetooth: BNEP filters: protocol multicast
[   21.410557] Bluetooth: BNEP socket layer initialized

Eu tenho firmware rtl8723D no diretório e ainda assim, o kernel está detectando o dispositivo como RTL8723B e não consigo acessá-lo.

hci0:   Type: Primary  Bus: USB
    BD Address: 00:00:00:00:00:00  ACL MTU: 0:0  SCO MTU: 0:0
    DOWN 
    RX bytes:63 acl:0 sco:0 events:6 errors:0
    TX bytes:18 acl:0 sco:0 commands:6 errors:0
    Features: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
    Packet type: DM1 DH1 HV1 
    Link policy: 
    Link mode: SLAVE ACCEPT

Quando eu tentei,

hciconfig hci0 up

Não é possível iniciar o dispositivo hci0: argumento inválido (22)

tail -f /var/log/kern.log mostra isso:

Mar  8 01:51:21 HP-LAPTOP-15-BS00X kernel: [ 3116.853960] Bluetooth: hci0: rtl: examining hci_ver=08 hci_rev=000d lmp_ver=08 lmp_subver=8723
Mar  8 01:51:21 HP-LAPTOP-15-BS00X kernel: [ 3116.853970] Bluetooth: hci0: rtl: loading rtl_bt/rtl8723b_config.bin
Mar  8 01:51:21 HP-LAPTOP-15-BS00X kernel: [ 3116.854019] bluetooth hci0: Direct firmware load for rtl_bt/rtl8723b_config.bin failed with error -2
Mar  8 01:51:21 HP-LAPTOP-15-BS00X kernel: [ 3116.854024] Bluetooth: hci0: rtl: loading rtl_bt/rtl8723b_fw.bin
Mar  8 01:51:21 HP-LAPTOP-15-BS00X kernel: [ 3116.855913] Bluetooth: hci0: rom_version status=0 version=2
Mar  8 01:51:21 HP-LAPTOP-15-BS00X kernel: [ 3116.855920] Bluetooth: hci0: didn't find patch for chip id 2

E é assim que o /lib/firmware/rtl_bt se parece. Possui firmware mais recente para RTL8723D também copiado para o diretório:

rtl8192ee_fw.bin
rtl8192eu_fw.bin
rtl8723a_fw.bin
rtl8723b_fw.bin
rtl8723d_config.bin
rtl8723d_fw.bin
rtl8761a_fw.bin
rtl8812ae_fw.bin
rtl8821a_fw.bin
rtl8821c_config.bin
rtl8821c_fw.bin
rtl8822b_config.bin
rtl8822b_fw.bin

O que há de errado, não consigo descobrir. O sistema detecta o hardware Bluetooth como RTL8723B, enquanto o módulo sem fio é definitivamente RTL8723DE conforme escrito na parte traseira do laptop. O mantenedor do driver comentou que a parte Bluetooth do RTL8723B e RTL8723D são semelhantes. Então, qual é a coisa certa a tentar? Existe uma maneira de carregar o firmware rtl8723d e o arquivo de configuração em vez do firmware rtl8723b, isso resolverá o problema.

Responder1

A solução precisa de algum trabalho manual. Em primeiro lugar, você deve baixar o firmware RTL8723D mais recente do repositório git linux-firmware. O firmware é enviado por Larry Fingers do rtlwifi-new git: https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/commit/?id=6d5131107f2ba67a13f469ac770a55f101ba654d

  1. clone o diretório linux-firmware em qualquer diretório de sua preferência (~/Downloads) usando a ferramenta git em um terminal. Presumo que você esteja baixando no diretório ~/Downloads:

    git clone git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git

O firmware está localizado em: ~/Downloads/linux-firmware/rtlwifi/rtl8723defw.bin ~/Downloads/linux-firmware/rtl_bt/rtl8723d_config.bin ~/Downloads/linux-firmware/rtl_bt/rtl8723d_fw.bin

O primeiro é o firmware WiFi e 2,3 é o firmware Bluetooth.

Este firmware precisa ser copiado respectivamente para os diretórios abaixo: /lib/firmware/rtlwifi/rtl8723defw.bin /lib/firmware/rtl_bt/rtl8723d_fw.bin /lib/firmware/rtl_bt/rtl8723d_config.bin

Você pode abrir um terminal e usar isto (sudo: forneça sua senha):

sudo cp ~/Downloads/linux-firmware/rtlwifi/rtl8723defw.bin /lib/firmware/rtlwifi/

sudo cp ~/Downloads/linux-firmware/rtl_bt/rtl8723d_fw.bin /lib/firmware/rtl_bt/

sudo cp ~/Downloads/linux-firmware/rtl_bt/rtl8723d_config.bin /lib/firmware/rtl_bt/
  1. Agora, você deve instalar o kernel Linux recente (>= 4.17), cabeçalhos de kernel em seu sistema Linux. No caso do Ubuntu, você pode baixar emhttp://kernel.ubuntu.com/~kernel-ppa/mainline/. Baixe o kernel genérico com AMD64 (arquitetura relevante), cabeçalhos. Você pode baixar para um diretório e instalar com o comando "dpkg -i *.deb". Ao reiniciar, o bluetooth estará funcionando.

Responder2

O suporte para este dispositivo bluetooth rtl8723de acabou de ser adicionado ao kernel 4.17rc.

O código pode ser facilmente portado para os kernels 4.4 - 4.15. Existe um PPA com pacotes DKMS para bionic e xenial com o módulo btrtl atualizado.

Pode ser instalado por

sudo add-apt-repository ppa:hanipouspilot/bluetooth sudo apt update sudo apt install btrtl-rtl8723de-dkms

REINÍCIO

O Bluetooth funcionará normalmente a partir de então

informação relacionada