-
Notifications
You must be signed in to change notification settings - Fork 121
Bluetooth adapter RTL8723D is not getting detected in kernels after 4.19.6 #70
Description
Hi,
Whenever I install any Linux distro, if it has kernel version 4.19.0 or 4.19.6, Bluetooth works fine and I can see the detection of hci0 Bluetooth device in dmesg log and also the loading of firmware for my adapter Realtek rtl8723d succeeds. But, if the kernel version is 4.20 or 5.x or any newer one, Bluetooth adapter is not detected. I cannot see any hci0 device in the dmesg log or in rfkill. I have a dual boot setup and have Windows 10 installed alongside Linux. One more thing to notice is; suppose I am in the older kernel and Bluetooth is working fine, if I boot into the newer kernel once, and reboot into the older kernel, hci0 stops getting detected in the older kernels too! In order to start the detection of hci0 in older kernels again, I have to boot once into Windows and then boot into the older kernel, then hci0 starts getting detected again. It seems like the newer kernels are not only unable to detect Bluetooth, but also leave it in an unusable state for the older kernels, which strangely is solved only by Windows.
Here is the output of sudo dmesg | grep Blue on older kernels :
[ 12.264937] Bluetooth: Core ver 2.22
[ 12.264947] Bluetooth: HCI device and connection manager initialized
[ 12.264948] Bluetooth: HCI socket layer initialized
[ 12.264950] Bluetooth: L2CAP socket layer initialized
[ 12.264952] Bluetooth: SCO socket layer initialized
[ 12.402352] Bluetooth: hci0: RTL: rtl: examining hci_ver=08 hci_rev=000d lmp_ver=08 lmp_subver=8723
[ 12.403335] Bluetooth: hci0: RTL: rom_version status=0 version=2
[ 12.403336] Bluetooth: hci0: RTL: rtl: loading rtl_bt/rtl8723d_fw.bin
[ 12.440366] Bluetooth: hci0: RTL: rtl: loading rtl_bt/rtl8723d_config.bin
[ 18.871947] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 18.871947] Bluetooth: BNEP filters: protocol multicast
[ 18.871950] Bluetooth: BNEP socket layer initialized
[ 29.993005] Bluetooth: RFCOMM TTY layer initialized
[ 29.993010] Bluetooth: RFCOMM socket layer initialized
[ 29.993013] Bluetooth: RFCOMM ver 1.11
Here is the same command's output for newer kernels:
[ 95.362787] Bluetooth: Core ver 2.22
[ 95.362811] Bluetooth: HCI device and connection manager initialized
[ 95.362815] Bluetooth: HCI socket layer initialized
[ 95.362817] Bluetooth: L2CAP socket layer initialized
[ 95.362820] Bluetooth: SCO socket layer initialized
Is there any possible solution for this?