RTL8821CE Bluetooth adapter fails randomly

Model: Asus FX505DT
Kernel: Currently 5.15.2-arch1-1 but this issue happened on every other kernel I tried.

For wifi I am using the rtw_8821ce driver from rtw88-dkms-git (Not sure if this is relevant).

lsusb and anything else I tried do not show the bluetooth adapter after it fails.

I tried to remove and load again the btusb and btrtl drivers with no success.

systemctl status bluetooth also has this error: Failed to set mode: Failed (0x03).

Can you put
journalctl -p 3 -xb or dmesg (just the revelant informations of your issue)

1 Like

Relevant output of journalctl -p 3 -xb:

Nov 13 17:36:58 ferret-FX505DT bluetoothd[574]: Failed to set mode: Failed (0x03)
Nov 13 17:36:58 ferret-FX505DT kernel: Bluetooth: hci0: command 0x0c1a tx timeout
Nov 13 17:37:00 ferret-FX505DT bluetoothd[574]: Failed to set mode: Failed (0x03)
Nov 13 17:37:00 ferret-FX505DT kernel: Bluetooth: hci0: command 0x0c3a tx timeout
Nov 13 17:37:02 ferret-FX505DT kernel: Bluetooth: hci0: command 0x0c1a tx timeout
Nov 13 17:37:04 ferret-FX505DT kernel: Bluetooth: hci0: command 0x2005 tx timeout
Nov 13 17:37:06 ferret-FX505DT kernel: Bluetooth: hci0: command 0x200b tx timeout
Nov 13 17:37:06 ferret-FX505DT kernel: xhci_hcd 0000:05:00.3: xHCI host controller not responding, assume dead
Nov 13 17:37:06 ferret-FX505DT kernel: xhci_hcd 0000:05:00.3: HC died; cleaning up

Output of dmesg | grep Bluetooth

[    2.326142] usb 1-4: Product: Bluetooth Radio 
[    4.030499] Bluetooth: Core ver 2.22
[    4.030594] Bluetooth: HCI device and connection manager initialized
[    4.030601] Bluetooth: HCI socket layer initialized
[    4.030605] Bluetooth: L2CAP socket layer initialized
[    4.030612] Bluetooth: SCO socket layer initialized
[    4.254098] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[    4.254108] Bluetooth: BNEP filters: protocol multicast
[    4.254117] Bluetooth: BNEP socket layer initialized
[   19.619043] Bluetooth: RFCOMM TTY layer initialized
[   19.619055] Bluetooth: RFCOMM socket layer initialized
[   19.619062] Bluetooth: RFCOMM ver 1.11
[   65.429798] Bluetooth: hci0: command 0x0c1a tx timeout
[   67.563416] Bluetooth: hci0: command 0x0c3a tx timeout
[   69.699748] Bluetooth: hci0: command 0x0c1a tx timeout
[   71.833089] Bluetooth: hci0: command 0x2005 tx timeout
[   73.963440] Bluetooth: hci0: command 0x200b tx timeout

It just happened now, like I said it seems to happen randomly, sometimes the bluetooth works for a while and then crashes, sometimes it crashes when I try to search for the device I want to connect to. Feel free to ask me for any additional information about this issue now, while I still have the logs.

Ok Thanks,
https://techoverflow.net/2021/09/16/how-i-fixed-xhci-host-controller-not-responding-assume-dead/

Tell us if it’s working for you

Does not seem to work, when I run the commands the terminal just gets stuck.

The rtl8821 ce should be supported by the kernel module r8169. You may need to remove the r8168 package so that r8169 is loading on boot. If it doesn’t work on that module then the rtw88-dkms-git is what you will have to use.

1 Like

I did not uninstall r8168 but I blacklisted the r8168 module so it would not load, then I tried to lsmod | grep r81 and I get not result so I guess the r8169 driver does not load(I am able to load it using sudo modprobe r8169), the bluetooth seems to work though(even without the r8169 module loaded). I will see if it fails randomly again and come back, but at the moment this seems to be the solution.

1 Like

It still fails. It’s not like it does not work at all, it sometimes work, it sometimes does not and sometimes it works for a bit, then it fails.

Did you try the rtl8821ce-dkms-git from the AUR?

I already use it for the rtw_8821ce driver for wifi, I do not know what else to load for Bluetooth.

Edit: Also, the name of the AUR package is rtw88-dkms-git.

Edit 2: I am also using TLP, this may matter, I disabled it for now and I will see if bluetooth still fails.

Have you tried disabling power management on the wifi card?

Edit: Not sure what your WiFi card is.

inxi -Na

Network:   Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet vendor: ASUSTeK driver: r8168 v: 8.049.02-NAPI
           modules: r8169 port: e000 bus-ID: 02:00.0 chip-ID: 10ec:8168 class-ID: 0200
           Device-2: Realtek RTL8821CE 802.11ac PCIe Wireless Network Adapter vendor: AzureWave driver: rtw_8821ce v: kernel
           modules: rtw88_8821ce port: d000 bus-ID: 04:00.0 chip-ID: 10ec:c821 class-ID: 0280

How would I do that?

If you have installed and are using rtw88-dkms-git. Try the following and create a file named /etc/modprobe.d/rtl8821ce.conf

sudo nano /etc/modprobe.d/rtl8821ce.conf

add

blacklist rtw88_8821ce

ctrl + o then enter to save the file

ctrl + x to exit nano

reboot.

This will blacklist the default Realtek driver module that is included in the kernel which should enable the out of kernel rtw88-dkms-git driver to work for you.

Edit: Hopefully this isn’t blocking the r8169 module that runs the Ethernet?

Edit2: I have also seen this kernel parameter used in the default grub command line and update grub.

pci=noaer

I think to disable power management on the rtl8821ce but not sure if it works.

modprobe 8821ce power_mngmt=0

I already had this, but I added the blacklist into blacklist.conf. The driver from rtw88-dkms-git is already loaded.

It is not blocking the r8169 driver(I do not get why it would, they are 2 different drivers).

Will add this.

Edit: Borked my install(I even managed to bork my timeshift backup kekw) while trying to fix no sound after recent update(I saw a post about it, seems like sound works on a fresh install), I reinstalled and will see if the issue still persists.

Sorry if that happened. What exactly caused that the pci =noaer? :thinking:

Can you elaborate? Do you ask me if the pci=noaer caused the sound malfunction? Because I really do not know, but I doubt it was from that as I saw a post of someone else blaming it on a recent update(And I digged a little bit and it seems that updating some alsa packages from 1.2.2 to 1.2.4 borked it, or something similar I might not recall correctly).

Oh okay …i was hoping i didn’t cause you any grief. :wink: