hciconfig hci0 вверх

hciconfig hci0 вверх

Это ноутбук HP 15-BS576TX, который поставляется с модулем Realtek RTL8723DE Wireless/Bluetooth. Честно говоря, я не могу найти способ включить Bluetooth, несмотря на то, что все прошивки доступны. Прошивка RTL8723DE недавно появилась в дереве kernel linux-firmware.git, и я также скопировал ее в каталог /lib/firmware/rtl_bt.

Ошибка в том, что он запрашивает файл rtl8723b_config.bin, который недоступен. Кроме того, часть bluetooth этого ноутбука определяется как RTL8723B согласно журналу ядра. Ответ от сопровождающего прошивки был: "Не всем устройствам нужен файл конфигурации - rtl8723be не нужен".

# 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

У меня в каталоге есть прошивка rtl8723D, но ядро ​​по-прежнему определяет устройство как RTL8723B, и я не могу его запустить.

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

Когда я попробовал,

hciconfig hci0 вверх

Невозможно инициализировать устройство hci0: недопустимый аргумент (22)

tail -f /var/log/kern.log показывает следующее:

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

А вот так выглядит /lib/firmware/rtl_bt. В нем также скопирована последняя прошивка для RTL8723D в каталог:

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

Что не так, я не могу понять. Система определяет оборудование Bluetooth как RTL8723B, в то время как беспроводной модуль определенно RTL8723DE, как написано на задней панели ноутбука. Разработчик драйвера прокомментировал, что часть Bluetooth RTL8723B и RTL8723D похожа. Итак, что правильно попробовать? Есть ли способ загрузить прошивку и файл конфигурации rtl8723d вместо прошивки rtl8723b, исправит ли это проблему.

решение1

Решение требует некоторой ручной работы. Во-первых, вам нужно загрузить последнюю прошивку RTL8723D из репозитория git linux-firmware. Прошивку выкладывает Larry Fingers из rtlwifi-new git: https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/commit/?id=6d5131107f2ba67a13f469ac770a55f101ba654d

  1. клонируйте каталог linux-firmware в любой каталог по вашему выбору (~/Downloads) с помощью инструмента git в терминале. Я предполагаю, что вы скачиваете в каталог ~/Downloads:

    git клон git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git

Прошивки находятся в: ~/Downloads/linux-firmware/rtlwifi/rtl8723defw.bin ~/Downloads/linux-firmware/rtl_bt/rtl8723d_config.bin ~/Downloads/linux-firmware/rtl_bt/rtl8723d_fw.bin

1-я — это прошивка WiFi, а 2,3 — это прошивка Bluetooth.

Эти прошивки необходимо скопировать в следующие каталоги: /lib/firmware/rtlwifi/rtl8723defw.bin /lib/firmware/rtl_bt/rtl8723d_fw.bin /lib/firmware/rtl_bt/rtl8723d_config.bin

Вы можете открыть терминал и использовать это (sudo: введите свой пароль):

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. Теперь вам нужно установить последнее ядро ​​Linux (>= 4.17), заголовки ядра в вашу систему Linux. В случае Ubuntu вы можете скачать сhttp://kernel.ubuntu.com/~kernel-ppa/mainline/. Загрузите универсальное ядро ​​с amd64 (соответствующая архитектура), заголовки. Вы можете загрузить в каталог и установить с помощью команды "dpkg -i *.deb". После перезапуска bluetooth заработает.

решение2

Поддержка этого устройства Bluetooth rtl8723de была только что добавлена ​​в ядро ​​4.17rc.

Код можно легко перенести на ядра 4.4 - 4.15. Есть PPA с пакетами DKMS для bionic и xenial с обновленным модулем btrtl.

Его можно установить

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

ПЕРЕЗАГРУЗИТЬ

С этого момента Bluetooth будет работать нормально.

Связанный контент