Realtek RTL8822CE Bluetooth adapter not found sometimes

System:
Kernel: 6.4.1-zen2-1-zen arch: x86_64 bits: 64 compiler: gcc v: 13.1.1
parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen
root=UUID=49e1755f-30ad-4367-9508-23c4cbe7e5d4 rw rootflags=subvol=@
quiet quiet splash rd.udev.log_priority=3 vt.global_cursor_default=0
loglevel=3 ibt=off
Desktop: KDE Plasma v: 5.27.6 tk: Qt v: 5.15.10 wm: kwin_x11 dm: SDDM
Distro: Garuda Linux base: Arch Linux
Machine:
Type: Laptop System: HP product: HP Pavilion Gaming Laptop 15-ec0xxx v: N/A
serial: <filter> Chassis: type: 10 serial: <filter>
Mobo: HP model: 86D5 v: 96.45 serial: <filter> UEFI: AMI v: F.17
date: 03/16/2023
Battery:
ID-1: BAT0 charge: 35.1 Wh (87.1%) condition: 40.3/40.3 Wh (100.0%)
volts: 12.8 min: 11.6 model: Hewlett-Packard Primary type: Li-ion
serial: N/A status: charging cycles: 362
CPU:
Info: model: AMD Ryzen 5 3550H with Radeon Vega Mobile Gfx socket: FP5
bits: 64 type: MT MCP arch: Zen/Zen+ note: check gen: 1 level: v3
note: check built: 2019 process: GF 12nm family: 0x17 (23)
model-id: 0x18 (24) stepping: 1 microcode: 0x8108109
Topology: cpus: 1x cores: 4 tpc: 2 threads: 8 smt: enabled cache:
L1: 384 KiB desc: d-4x32 KiB; i-4x64 KiB L2: 2 MiB desc: 4x512 KiB L3: 4 MiB
desc: 1x4 MiB
Speed (MHz): avg: 1487 high: 2100 min/max: 1400/2100 boost: enabled
base/boost: 2100/3700 scaling: driver: acpi-cpufreq governor: schedutil
volts: 1.2 V ext-clock: 100 MHz cores: 1: 1400 2: 2100 3: 1400 4: 1400
5: 1400 6: 1400 7: 1400 8: 1400 bogomips: 33537
Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
Vulnerabilities: <filter>
Graphics:
Device-1: NVIDIA TU117M [GeForce GTX 1650 Mobile / Max-Q]
vendor: Hewlett-Packard driver: nvidia v: 535.54.03
alternate: nouveau,nvidia_drm non-free: 530.xx+
status: current (as of 2023-05) arch: Turing code: TUxxx
process: TSMC 12nm FF built: 2018-22 pcie: gen: 1 speed: 2.5 GT/s lanes: 8
link-max: gen: 3 speed: 8 GT/s lanes: 16 bus-ID: 01:00.0
chip-ID: 10de:1f91 class-ID: 0300
Device-2: AMD Picasso/Raven 2 [Radeon Vega Series / Radeon Mobile Series]
vendor: Hewlett-Packard driver: amdgpu v: kernel arch: GCN-5 code: Vega
process: GF 14nm built: 2017-20 pcie: gen: 3 speed: 8 GT/s lanes: 16
ports: active: eDP-1 empty: HDMI-A-1 bus-ID: 05:00.0 chip-ID: 1002:15d8
class-ID: 0300 temp: 61.0 C
Device-3: Quanta HP TrueVision HD Camera driver: uvcvideo type: USB
rev: 2.0 speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 3-1:2 chip-ID: 0408:5365
class-ID: 0e02
Display: server: X.Org v: 21.1.8 with: Xwayland v: 23.1.2
compositor: kwin_x11 driver: X: loaded: amdgpu,nvidia
unloaded: modesetting,nouveau alternate: fbdev,nv,vesa dri: radeonsi
gpu: amdgpu display-ID: :0 screens: 1
Screen-1: 0 s-res: 1920x1080 s-dpi: 96 s-size: 508x285mm (20.00x11.22")
s-diag: 582mm (22.93")
Monitor-1: eDP-1 mapped: eDP model: ChiMei InnoLux 0x1515 built: 2019
res: 1920x1080 hz: 60 dpi: 142 gamma: 1.2 size: 344x193mm (13.54x7.6")
diag: 394mm (15.5") ratio: 16:9 modes: 1920x1080
API: OpenGL v: 4.6 Mesa 23.1.3 renderer: AMD Radeon Vega 8 Graphics
(raven LLVM 15.0.7 DRM 3.52 6.4.1-zen2-1-zen) direct-render: Yes
Audio:
Device-1: NVIDIA vendor: Hewlett-Packard driver: snd_hda_intel v: kernel
pcie: gen: 1 speed: 2.5 GT/s lanes: 8 link-max: gen: 3 speed: 8 GT/s
lanes: 16 bus-ID: 01:00.1 chip-ID: 10de:10fa class-ID: 0403
Device-2: AMD ACP/ACP3X/ACP6x Audio Coprocessor vendor: Hewlett-Packard
driver: snd_pci_acp3x v: kernel alternate: snd_rn_pci_acp3x, snd_pci_acp5x,
snd_pci_acp6x, snd_acp_pci, snd_rpl_pci_acp6x, snd_pci_ps,
snd_sof_amd_renoir, snd_sof_amd_rembrandt pcie: gen: 3 speed: 8 GT/s
lanes: 16 bus-ID: 05:00.5 chip-ID: 1022:15e2 class-ID: 0480
Device-3: AMD Family 17h/19h HD Audio vendor: Hewlett-Packard
driver: snd_hda_intel v: kernel pcie: gen: 3 speed: 8 GT/s lanes: 16
bus-ID: 05:00.6 chip-ID: 1022:15e3 class-ID: 0403
API: ALSA v: k6.4.1-zen2-1-zen status: kernel-api tools: N/A
Server-1: PipeWire v: 0.3.72 status: n/a (root, process) with:
1: pipewire-pulse status: active 2: wireplumber status: active
3: pipewire-alsa type: plugin 4: pw-jack type: plugin
tools: pactl,pw-cat,pw-cli,wpctl
Network:
Device-1: Realtek RTL8822CE 802.11ac PCIe Wireless Network Adapter
vendor: Hewlett-Packard driver: rtw_8822ce v: N/A modules: rtw88_8822ce
pcie: gen: 1 speed: 2.5 GT/s lanes: 1 port: e000 bus-ID: 03:00.0
chip-ID: 10ec:c822 class-ID: 0280
IF: wlo1 state: up mac: <filter>
Device-2: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet
vendor: Hewlett-Packard driver: r8169 v: kernel pcie: gen: 1 speed: 2.5 GT/s
lanes: 1 port: d000 bus-ID: 04:00.0 chip-ID: 10ec:8168 class-ID: 0200
IF: eno1 state: down mac: <filter>
Drives:
Local Storage: total: 1.14 TiB used: 573.98 GiB (49.1%)
ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Gigabyte
model: GP-GSM2NE3256GNTD size: 238.47 GiB block-size: physical: 512 B
logical: 512 B speed: 31.6 Gb/s lanes: 4 tech: SSD serial: <filter>
fw-rev: EDFM20.0 temp: 22.9 C scheme: GPT
SMART: yes health: PASSED on: 294d 23h cycles: 5,670
read-units: 28,948,405 [14.8 TB] written-units: 38,482,760 [19.7 TB]
ID-2: /dev/sda maj-min: 8:0 vendor: Western Digital
model: WD10SPZX-60Z10T0 family: Blue Mobile (SMR) size: 931.51 GiB
block-size: physical: 4096 B logical: 512 B sata: 3.1 speed: 6.0 Gb/s
tech: HDD rpm: 5400 serial: <filter> fw-rev: 1A04 temp: 35 C scheme: GPT
SMART: yes state: enabled health: PASSED on: 297d 14h cycles: 5667
Old-Age: g-sense error rate: 5027
Partition:
ID-1: / raw-size: 50 GiB size: 50 GiB (100.00%) used: 11.31 GiB (22.6%)
fs: btrfs block-size: 4096 B dev: /dev/nvme0n1p6 maj-min: 259:6
ID-2: /boot/efi raw-size: 512 MiB size: 511 MiB (99.80%)
used: 604 KiB (0.1%) fs: vfat block-size: 512 B dev: /dev/nvme0n1p4
maj-min: 259:4
ID-3: /home raw-size: 76.45 GiB size: 76.45 GiB (100.00%)
used: 7.26 GiB (9.5%) fs: btrfs block-size: 4096 B dev: /dev/nvme0n1p7
maj-min: 259:7
ID-4: /var/log raw-size: 50 GiB size: 50 GiB (100.00%)
used: 11.31 GiB (22.6%) fs: btrfs block-size: 4096 B dev: /dev/nvme0n1p6
maj-min: 259:6
ID-5: /var/tmp raw-size: 50 GiB size: 50 GiB (100.00%)
used: 11.31 GiB (22.6%) fs: btrfs block-size: 4096 B dev: /dev/nvme0n1p6
maj-min: 259:6
Swap:
Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default)
ID-1: swap-1 type: zram size: 5.66 GiB used: 1.15 GiB (20.3%)
priority: 100 dev: /dev/zram0
Sensors:
System Temperatures: cpu: 60.4 C mobo: N/A gpu: amdgpu temp: 60.0 C
Fan Speeds (RPM): fan-1: 0 fan-2: 0
Info:
Processes: 336 Uptime: 15m wakeups: 1 Memory: available: 5.66 GiB
used: 2.62 GiB (46.3%) Init: systemd v: 253 default: graphical
tool: systemctl Compilers: gcc: 13.1.1 Packages: pm: pacman pkgs: 1287
libs: 345 tools: octopi,pamac,paru Shell: garuda-inxi (sudo) default: Bash
v: 5.1.16 running-in: konsole inxi: 3.3.27
Garuda (2.6.16-1):
System install date:     2023-06-24
Last full system update: 2023-07-05
Is partially upgraded:   No
Relevant software:       snapper NetworkManager dracut nvidia-dkms
Windows dual boot:       Yes
Failed units:

Unable to connect to bluetooth recently. When I turn on the laptop, the bluetooth button says 'No Adapters Available'.
It sometimes connects to the earbuds I have and after disconnecting it, the error is visible again. Sometimes, it is like this even after just turning on the laptop.

The output of sudo systemctl status bluetooth is following:

bluetooth.service - Bluetooth service
Loaded: loaded (/usr/lib/systemd/system/bluetooth.service; enabled; preset: disabled)
Active: active (running) since Thu 2023-07-06 14:51:11 IST; 21min ago
Docs: man:bluetoothd(8)
Main PID: 646 (bluetoothd)
Status: "Running"
Tasks: 1 (limit: 6797)
Memory: 2.1M
CPU: 109ms
CGroup: /system.slice/bluetooth.service
└─646 /usr/lib/bluetooth/bluetoothd

Jul 06 14:52:30 garuda-linux bluetoothd[646]: Endpoint unregistered: sender=:1.47 path=/MediaEndpoint/A2DPSource/aptx_ll_1
Jul 06 14:52:30 garuda-linux bluetoothd[646]: Endpoint unregistered: sender=:1.47 path=/MediaEndpoint/A2DPSource/aptx_ll_0
Jul 06 14:52:30 garuda-linux bluetoothd[646]: Endpoint unregistered: sender=:1.47 path=/MediaEndpoint/A2DPSource/aptx_ll_duplex_1
Jul 06 14:52:30 garuda-linux bluetoothd[646]: Endpoint unregistered: sender=:1.47 path=/MediaEndpoint/A2DPSource/aptx_ll_duplex_0
Jul 06 14:52:30 garuda-linux bluetoothd[646]: Endpoint unregistered: sender=:1.47 path=/MediaEndpoint/A2DPSource/faststream
Jul 06 14:52:30 garuda-linux bluetoothd[646]: Endpoint unregistered: sender=:1.47 path=/MediaEndpoint/A2DPSource/faststream_duplex
Jul 06 14:52:30 garuda-linux bluetoothd[646]: Endpoint unregistered: sender=:1.47 path=/MediaEndpoint/A2DPSink/opus_05
Jul 06 14:52:30 garuda-linux bluetoothd[646]: Endpoint unregistered: sender=:1.47 path=/MediaEndpoint/A2DPSource/opus_05
Jul 06 14:52:30 garuda-linux bluetoothd[646]: Endpoint unregistered: sender=:1.47 path=/MediaEndpoint/A2DPSink/opus_05_duplex
Jul 06 14:52:30 garuda-linux bluetoothd[646]: Endpoint unregistered: sender=:1.47 path=/MediaEndpoint/A2DPSource/opus_05_duplex

Also, I tried restarting the service to no effect.and changing the kernel as mentioned here with the error still there.
I am a newbie so any help would be appreciated.

I search in Whoogle

bluetoothd: Endpoint unregistered pipewire

I'm not familiar with it, but maybe it will help you find it.

Please be sure that hardware detection is fully enabled in your BIOS settings. Windows has a habit of "capturing" hardware devices.

2 Likes

There is no such option shown in the BIOS, but if this were true than why would the bluetooth work sometimes?

I read the page link you provided but I can't make anything out of it. Nothing in it seems to be resolving the issue. I may be missing something tough. Thanks for the effort anyways

Windows often acquires hardware devices and won’t release them unless the computer has all power sources completely removed. This is one of the reasons we don’t recommend dual booting with Windows.

This is a know problematic Wifi/BT combo chip. Search the networking sub-forum for Realtek RTL8822 adapter for driver options such as disabling power saving and others that you might want to try.

Useful search parameters to try:

https://forum.garudalinux.org/search?q=rtl8822%20in%3Atitle

https://forum.garudalinux.org/search?q=bluetooth%20in%3Atitle

https://forum.garudalinux.org/search?q=bluetooth%20not%20detected

4 Likes

Just to piggy-back on this: the default “shutdown” state of Windows is actually not fully powered off. Windows enables a “fast startup” mode, which holds on to certain resources in an effort to shave a few seconds off of the boot time. You will have to disable this feature from Windows itself to make sure Windows is completely “off” when you shut it down.

5 Likes

I have already disabled it as when it is enabled, the grub menu is not visible and windows boots directly without an option for Linux. thanks for the input by the way​:slightly_smiling_face:

I will give these all a try and report back my results on this.

Should I give this a try? Nothing relevant seems to be available at this point, I mean it was working fine till a few days ago apart from occasionally dropping the connection here and there​:slightly_smiling_face:. I should also add that it is working completely fine in windows and I boot in windows only once a blue moon so any update issues because of windows should be minimal. I guess.

In my experience it might be a reasonable solution,
during this 1ish year being on Linux I have tried 30+ distros on mine 3 laptops + 2 desktops..
WIFI & BT drivers are pretty much up to chosen distro to have, if they don't have working drivers it's almost impossible to find and install the right one for just you hardware...
However it should be a matter of last resource, usually some bright-minded forum member comes up with a working fix!

I formatted the existing garuda and reinstalled using the latest iso available. But the issue still persists. Solving this is rather important for me as I only have wireless earbuds and this issue makes it hard to use garuda since I mostly use it for study. Any workaround anyone?

Test a few different kernels.
You never know, maybe a regression error... E.g.

sudo pacman -S linux-lts linux-lts-headers 

Reboot and select that kernel via the GRUB advanced options.

I would also test the linux-mainline and linux-hardened kernels.


You are making things far more complicated for yourself if you dual boot with Windows. You will need to perform the following steps if you dual boot:

As well, you should boot into Windows and go to the advanced properties for your WiFi & Bluetooth adapters in the Windows device manager. Be sure to disable any settings for your network adapters that involve power saving.

It is also possible that MAC randomization is causing connectivity problems. Search for the terms “disable MAC Address randomization” on the forum. Disable MAC Address randomization then reboot both your computer and router.

Be sure to try refreshing the Bluetooth pairing keys in Linux & Windows.

See section 2.1of the Arch Wiki on BT, Dual boot pairing:

https://wiki.archlinux.org/title/bluetooth#Pairing

Also see:

Be sure to read carefully all other Arch Wiki entries pertaining to Bluetooth:

https://wiki.archlinux.org/title/Bluetooth

https://wiki.archlinux.org/index.php/Bluetooth#Troubleshooting

https://wiki.archlinux.org/index.php/Bluetooth_headset#Pairing_works,_but_connecting_does_not

1 Like

I read all of the articles and pages you mentioned but nothing seems to work. I came across an article in which the user installs the following AUR package to install the drivers of the hybrid card in question. The package was AUR (en) - realtek-firmware but when I try to install the package using

makepkg -sirc

there is a conflict with linux-firmware. What is the next step here I believe removing Linux firmware might be a bad idea.
Also, I took care of all the relevant settings in Windows as you guided to no benefit and I wanted to ask why this problem started occurring more and more when the OS was working just fine with the same setup for a while now. I once did have an issue with the wifi but that got resolved after an iso update. What should I do here? Should I go and download a previous version of iso from somewhere and take it from there? Or should I completely remove windows which I am a little hesitant to do as I do not have its product key? Kind of in a pinch here...Any help would be appreciated.

I would highly recommend testing out the linux-mainline kernel if you haven't done so yet.

I see your bios is dated March 16, 2023. Did you update your BIOS earlier this year? If so when? Is it possible that if you updated your bios that your issues started about the same time?

Have you checked to see if there is a more recent bios update from your manufacturer?

Can you disable either your wifi or Bluetooth hardware from within your bios?

Bluetooth/wifi combo chips are often plagued by signal clashes. Your Realtek adapter is well known for having driver problems in the past. Your least time consuming fix may be to simply purchase an external USB Wifi dongle that has in-kernel support and stop using your internal BT for the time being. Eventually whatever is causing your BT issue will likely be resolved by a kernel, bios, or firmware update and you can resume using your Internet adapter again.

If you can disable your wifi as a test then perhaps your bluetooth may work correctly at boot. Sometimes the wifi and bluetooth clash and they need to be started in a specific order to function correctly together. I have corrected this type of issue for some people in the past by writing a service to start each driver in a specific order with a pause between startup. These services sometimes work, but it is a rather hacky workaround. A replacemt BT dongle might be a far cleaner temporary workaround.

4 Likes

Thank you for such a detailed guide, following are the responses in order:

  1. I did not update my bios manually though it may have gotten updated automatically via either Windows or Linux, I am not sure about it. Though I can say that this issue has started occurring in the past month or so. Therefore I believe that is not the issue.

  2. I checked but could not find a recent update to the BIOS.

  3. There is no option to disable either wifi or Bluetooth in the BIOS.

  4. I agree that using an external USB dongle would be a great idea but I have a related question.

Why is it that the Bluetooth and wifi both are loading properly on boot and working just fine most of the time but then all of a sudden Bluetooth drops and the menu changes to 'No adapters available' in the floating windows and 'Bluetooth is disabled' in the settings? why is it loading and all of a sudden stops working and when I restart it again works for some time before stopping to work again?

Also, I did try the Linux-mainline kernel but the system was lagging too much for me to use it and test anything out.

Sometimes the order the network modules are loaded can create conflicts that can cause either your WiFi or BT to fail to start correctly.

You can try the following test:

The command below will automatically generate an /etc/modprobe.d/blacklist.conf file that will blacklist your bluetooth modules and prevent them from loading at startup.

sudo echo -e "blacklist btusb\nblacklist btrtl" | sudo tee -a /etc/modprobe.d/blacklist.conf

Power down your computer completely after running that command, then restart your computer. Once your computer is fully restarted, you can attempt to manually start your Bluetooth connection with the following command:

bash -c "bluetoothctl power off; sleep .5; sudo systemctl stop bluetooth; sleep .5; sudo rfkill unblock bluetooth; sleep 1; sudo modprobe btrtl; sleep 1; sudo modprobe btusb; sleep 2; sudo systemctl start bluetooth; sleep 2; bluetoothctl power on"

If your BT is still not working after running that command, try running this:

systemctl restart NetworkManager

If that procedure does not work, then you can reverse the changes you made. Remove the blacklist btusb and blacklist btrtl lines from the /etc/modprobe.d/blacklist.conf file. After removing both of those lines from the conf file, save the changes and reboot. Your computer should be as before after rebooting.

It is possible that tlp or other laptop power management software can interfere with bluetooth operation. You might want to double check that your BT is excluded from all power management options you can locate.

3 Likes

Thank you for the solution, it seemed to somewhat work initially but the problem persists. I ran the first command and then after rebooting, I ran the second command and Bluetooth seemed to work just fine but the adapter not found issue occurred again just now. To test the issue I opened bluetoothctl and the following is the result and error:

bluetoothctl
Agent registered
[bluetooth]# show
No default controller available
[bluetooth]# list
[bluetooth]# devices
No default controller available
[bluetooth]# power off
No default controller available
[bluetooth]# exit

Also, if I might add the second bash command has maybe an error, the bluetoothctl power off after running gets stuck (maybe in bluetoothctl interface?) the after I press Ctrl+C it asks for a password and the remainder is fine.
Any more possible solutions that I might try?

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.