Bluetooth não funciona para o Realtek RTL8723DE - hci0: não encontrou o patch para o chip id 2, erro de firmware para o rtl_bt / rtl8723b_config.bin falhou o erro -2

0

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

O erro é, ele está pedindo 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 o firmware rtl8723D no diretório e, ainda assim, o kernel está detectando o dispositivo como RTL8723B e não consigo ativá-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 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. Tem mais recente firmware 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 está errado, não consigo descobrir. Sistema detecta o hardware Bluetooth como RTL8723B, enquanto o módulo sem fio é definitivamente RTL8723DE como escrito na parte de trás do laptop. O mantenedor do driver comentou que a parte Bluetooth do RTL8723B e RTL8723D é semelhante. Então, qual é a coisa certa para tentar? Existe uma maneira de carregar o firmware e arquivo de configuração rtl8723d em vez de firmware rtl8723b, vai corrigir o problema.

    
por Confguy2016 07.03.2018 / 21:36

2 respostas

1

A solução precisa de algum trabalho manual. Em primeiro lugar, você tem que baixar o firmware RTL8723D mais recente do repositório git linux-firmware. O firmware é empurrado por Larry Fingers do rtlwifi-new git: link

  1. diretório clone linux-firmware em qualquer diretório de sua preferência (~ / Downloads) usando a ferramenta git em um terminal. Eu suponho que você está baixando para o 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

1º é o firmware WiFi e 2,3 sã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 isso (sudo: dê 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ê precisa instalar o kernel recente do kernel do Linux (> = 4.17) no seu sistema Linux. No caso do Ubuntu, você pode fazer o download do link . 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.
por 12.05.2018 / 12:58
1

O suporte para este dispositivo bluetooth rtl8723de foi adicionado ao kernel 4.17rc.

O código pode ser facilmente portado para os kernels 4.4 - 4.15. Há um PPA com pacotes DKMS para biônico e xenial com o módulo btrtl atualizado.

Pode ser instalado por

sudo add-apt-repository ppa:hanipouspilot/bluetooth %código% sudo apt update

REBOOT

O Bluetooth funcionará normalmente a partir de então

    
por 25.07.2018 / 00:28