0

This is a HP 15-BS576TX laptop which comes with Realtek RTL8723DE Wireless/Bluetooth module. I honestly cannot find a way to bring up the Bluetooth despite, the firmware are all available. The RTL8723DE firmware is recently available in kernel linux-firmware.git tree and I have copied it to the /lib/firmware/rtl_bt directory too.

The error is, it is asking for rtl8723b_config.bin file which is not available. Also, the bluetooth part of this laptop is detected as RTL8723B as per the kernel log. The reply from the firmware maintainer was: "Not all devices need the config file - rtl8723be does not."

lsusb -v -d 0bda:b009 https://pastebin.ca/3998303

:~# rfkill list all
0: phy0: Wireless LAN
    Soft blocked: no
    Hard blocked: no
4: hci0: Bluetooth
    Soft blocked: no
    Hard blocked: no

The dmesg relevant parts:

# 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

I have rtl8723D firmware in the directory and still, the kernel is detecting the device as RTL8723B and I cannot bring it up.

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

When I tried,

hciconfig hci0 up

Can't init device hci0: Invalid argument (22)

tail -f /var/log/kern.log shows this:

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

And this is how the /lib/firmware/rtl_bt looks like. It has latest firmware for RTL8723D also copied into the directory:

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

What is wrong, I cannot figure out. System detects the Bluetooth hardware as RTL8723B, while the wireless module is definitely RTL8723DE as written in the back of the laptop. The driver maintainer commented that the Bluetooth part of RTL8723B and RTL8723D are similar. So, What is the right thing to try? Is there a way to load the rtl8723d firmware and config file instead of rtl8723b firmware, will it fix the problem.

3
  • Please edit your question to add the result of the terminal command: rfkill list all
    – chili555
    Mar 8, 2018 at 16:53
  • Yes, added rfkill list all. The device is not soft locked. Mar 8, 2018 at 23:20
  • This is the device hw details when lsusb is invoked: Bus 001 Device 002: ID 0bda:b009 Realtek Semiconductor Corp. Mar 8, 2018 at 23:32

2 Answers 2

0

Please see: https://github.com/lwfinger/rtlwifi_new/issues/158 The notification is a warning, not an error. As you can see, in the log, the driver goes on to load rtl8723b_fw.bin. I don't believe missing firmware is an issue. I also doubt that renaming similar but not identical firmware is an appropriate fix.

5
  • Do you suggest moving rtl8723b_fw.bin to somewhere else and, rename rtl8723d_fw.bin to rtl8723b_fw.bin? Mar 8, 2018 at 16:04
  • No. As I said, I also doubt that renaming similar but not identical firmware is an appropriate fix. If you are having trouble with your bluetooth, it is unlikely a firmware issue. However, if you want to experiment, it is easy to try and easy to undo. Shall I edit my answer to give the method (although I doubt it will change anything)?
    – chili555
    Mar 8, 2018 at 16:47
  • Yes, please explain the method. The bluetooth is working fine in Windows 10, that means it is not a hardware issue. I tried renaming rtl8723d firmware files to rtl8723b and rtl8723b_config and tried. But, it also failed to bring up the device. Here is the kern.log : [ 319.303029] Bluetooth: hci0: rtl: loading rtl_bt/rtl8723b_config.bin [ 319.303165] Bluetooth: hci0: rtl: loading rtl_bt/rtl8723b_fw.bin [ 319.305177] Bluetooth: hci0: rom_version status=0 version=2 [ 319.305187] Bluetooth: hci0: unknown project id 9 Mar 8, 2018 at 22:57
  • If you renamed it and it loaded but didn't work, you've proved my point.
    – chili555
    Mar 9, 2018 at 0:27
  • I cannot bring up bluetooth hci0 and the message says "didn't find patch for chip id 2" . Does this means, an updated firmware file is needed to resolve this? BTW, any hope if we extract Windows driver for BT to get firmware. I saw that there is a file "rtl8723d_mp_chip_bt40_fw_asic_rom_patch_new.dll" and cannot figure out much, even though cab files are extracted. Mar 9, 2018 at 1:09
0

Bluetooth for RTL8723DE is supported through kernel 4.17. I tried 4.17-rc2 and the fix makes use of the RTL8723D firmware, works. The commit may be this: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=907f84990924bf3a8d248c040dabeb5127ae6938

So, wait for 4.17 kernel to be matured and release or can use the release candidates. Of course, you need the firmware packages installed.

Not the answer you're looking for? Browse other questions tagged .