Realtek RTL8821CE Wi-fi signal significantly weaker after switching to Linux

System:
Kernel: 6.4.1-zen1-1-zen arch: x86_64 bits: 64 compiler: gcc v: 13.1.1
parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen
root=UUID=788ff74a-74a7-4a79-9567-bb9553eed02d rw rootflags=subvol=@
quiet quiet splash rd.udev.log_priority=3 vt.global_cursor_default=0
resume=UUID=505adbf2-7006-49ac-a083-612a1d4a9254 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: ASUSTeK product: VivoBook_ASUSLaptop X571GT_X571GT
v: 1.0 serial: <filter>
Mobo: ASUSTeK model: X571GT v: 1.0 serial: <filter>
UEFI: American Megatrends v: X571GT.308 date: 12/17/2020
Battery:
ID-1: BAT1 charge: 15.3 Wh (94.4%) condition: 16.2/41.9 Wh (38.7%)
volts: 12.3 min: 11.8 model: ASUS A32-K55 type: Li-ion serial: N/A
status: not charging
CPU:
Info: model: Intel Core i7-9750H socket: BGA1440 (U3E1) note: check bits: 64
type: MT MCP arch: Coffee Lake gen: core 9 level: v3 note: check built: 2018
process: Intel 14nm family: 6 model-id: 0x9E (158) stepping: 0xA (10)
microcode: 0xF2
Topology: cpus: 1x cores: 6 tpc: 2 threads: 12 smt: enabled cache:
L1: 384 KiB desc: d-6x32 KiB; i-6x32 KiB L2: 1.5 MiB desc: 6x256 KiB
L3: 12 MiB desc: 1x12 MiB
Speed (MHz): avg: 1183 high: 2600 min/max: 800/4500 base/boost: 1980/8300
scaling: driver: intel_pstate governor: powersave volts: 0.7 V
ext-clock: 100 MHz cores: 1: 900 2: 900 3: 2600 4: 900 5: 900 6: 900
7: 2600 8: 900 9: 900 10: 900 11: 900 12: 900 bogomips: 62399
Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
Vulnerabilities: <filter>
Graphics:
Device-1: Intel CoffeeLake-H GT2 [UHD Graphics 630] vendor: ASUSTeK
driver: i915 v: kernel arch: Gen-9.5 process: Intel 14nm built: 2016-20
ports: active: eDP-1 empty: HDMI-A-1 bus-ID: 00:02.0 chip-ID: 8086:3e9b
class-ID: 0300
Device-2: NVIDIA TU117M [GeForce GTX 1650 Mobile / Max-Q] vendor: ASUSTeK
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: 3 speed: 8 GT/s lanes: 16
bus-ID: 01:00.0 chip-ID: 10de:1f91 class-ID: 0302
Device-3: IMC Networks USB2.0 HD UVC WebCam driver: uvcvideo type: USB
rev: 2.0 speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 1-7:3 chip-ID: 13d3:56a8
class-ID: 0e02 serial: <filter>
Display: server: X.Org v: 21.1.8 with: Xwayland v: 23.1.2
compositor: kwin_x11 driver: X: loaded: modesetting,nvidia unloaded: nouveau
alternate: fbdev,intel,nv,vesa dri: iris gpu: i915 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 model: LG Display 0x0563 built: 2018 res: 1920x1080
hz: 60 dpi: 142 gamma: 1.2 size: 344x194mm (13.54x7.64") diag: 395mm (15.5")
ratio: 16:9 modes: 1920x1080
API: OpenGL v: 4.6 Mesa 23.1.3 renderer: Mesa Intel UHD Graphics 630 (CFL
GT2) direct-render: Yes
Audio:
Device-1: Intel Cannon Lake PCH cAVS vendor: ASUSTeK driver: snd_hda_intel
v: kernel alternate: snd_soc_skl,snd_sof_pci_intel_cnl bus-ID: 00:1f.3
chip-ID: 8086:a348 class-ID: 0403
API: ALSA v: k6.4.1-zen1-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 RTL8821CE 802.11ac PCIe Wireless Network Adapter
vendor: AzureWave driver: rtw_8821ce v: kernel modules: rtw88_8821ce pcie:
gen: 1 speed: 2.5 GT/s lanes: 1 port: 4000 bus-ID: 03:00.0
chip-ID: 10ec:c821 class-ID: 0280
IF: wlp3s0 state: up mac: <filter>
Device-2: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet
vendor: ASUSTeK driver: r8169 v: kernel pcie: gen: 1 speed: 2.5 GT/s
lanes: 1 port: 3000 bus-ID: 04:00.0 chip-ID: 10ec:8168 class-ID: 0200
IF: enp4s0 state: down mac: <filter>
Bluetooth:
Device-1: IMC Networks Bluetooth Radio driver: btusb v: 0.8 type: USB
rev: 1.1 speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 1-14:4 chip-ID: 13d3:3529
class-ID: e001 serial: <filter>
Report: bt-adapter ID: hci0 rfk-id: 3 state: up address: <filter>
Drives:
Local Storage: total: 476.94 GiB used: 25.67 GiB (5.4%)
ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Intel model: SSDPEKNW512G8
size: 476.94 GiB block-size: physical: 512 B logical: 512 B speed: 31.6 Gb/s
lanes: 4 tech: SSD serial: <filter> fw-rev: 002C temp: 29.9 C scheme: GPT
SMART: yes health: PASSED on: 112d 11h cycles: 2,000
read-units: 31,121,923 [15.9 TB] written-units: 22,654,526 [11.5 TB]
Partition:
ID-1: / raw-size: 459.62 GiB size: 459.62 GiB (100.00%)
used: 25.66 GiB (5.6%) fs: btrfs block-size: 4096 B dev: /dev/nvme0n1p2
maj-min: 259:2
ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%)
used: 576 KiB (0.2%) fs: vfat block-size: 512 B dev: /dev/nvme0n1p1
maj-min: 259:1
ID-3: /home raw-size: 459.62 GiB size: 459.62 GiB (100.00%)
used: 25.66 GiB (5.6%) fs: btrfs block-size: 4096 B dev: /dev/nvme0n1p2
maj-min: 259:2
ID-4: /var/log raw-size: 459.62 GiB size: 459.62 GiB (100.00%)
used: 25.66 GiB (5.6%) fs: btrfs block-size: 4096 B dev: /dev/nvme0n1p2
maj-min: 259:2
ID-5: /var/tmp raw-size: 459.62 GiB size: 459.62 GiB (100.00%)
used: 25.66 GiB (5.6%) fs: btrfs block-size: 4096 B dev: /dev/nvme0n1p2
maj-min: 259:2
Swap:
Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default)
ID-1: swap-1 type: zram size: 15.47 GiB used: 0 KiB (0.0%) priority: 100
dev: /dev/zram0
ID-2: swap-2 type: partition size: 17.02 GiB used: 0 KiB (0.0%)
priority: -2 dev: /dev/nvme0n1p3 maj-min: 259:3
Sensors:
System Temperatures: cpu: 46.0 C pch: 49.0 C mobo: N/A
Fan Speeds (RPM): cpu: 0
Info:
Processes: 303 Uptime: 5m wakeups: 1 Memory: available: 15.47 GiB
used: 3.29 GiB (21.3%) Init: systemd v: 253 default: graphical
tool: systemctl Compilers: gcc: 13.1.1 Packages: pm: pacman pkgs: 1341
libs: 346 tools: octopi,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-15
Last full system update: 2023-07-04
Is partially upgraded:   No
Relevant software:       snapper NetworkManager dracut nvidia-dkms
Windows dual boot:       No/Undetected
Failed units:

Hello, thanks in advance for help. I recently switched to Garuda Linux from Windows and I really like it so far. However, there are a couple of small issues Windows didnt have, the most severe of which is that the wifi signal strength is significantly weaker overall and as a result wifi no longer reaches my room, even though the signal was completely fine on windows. So far I have installed the rtw88-dkms-git driver and changed my /etc/modprobe.d/rtl8821ce.conf to this:

[connection]
wifi.powersave = 0
options rtw_pci disable_aspm=1
blacklist rtw88_8822ce

I used to have issues with the powersave turning my wifi off, hence the powersave line. It seemed to help.

Once again, thanks for your time and efforts.

Hi there, welcome to the forum!
Try to blacklist/disable also the bluetooth, adding to your file:

blacklist btusb
blacklist btrtl

I'm not 100% sure of the 2nd line, but it shouldn't hurt.

2 Likes

Thanks, this worked. It still feels slower but I haven't measured so it is possibly just a placebo effect. That said, I can no longer use Bluetooth, right? Anyways, even if that was the case, that is a trade I am willing to make, so thanks for help.

1 Like

This is the post where I took the idea from:

Maybe check, if necessary, the final part:

There is still the possibility to use bluetooth (even after blacklisting) by manually modprobing the bluetooth modules. You can use the command below to test if wifi/bt can function properly together after login.

To start bluetooth temporarily, (only lasts one session):

sudo modprobe btusb; sleep 2; sudo modprobe btrtl; sleep 2; sudo systemctl start bluetooth;

Another thing you could do is to test a few other kernels (e.g. linux-lts and linux-mainline), always along with the relevant headers.

3 Likes

You can create a script file in your home folder with the command, so that it's easy to enable.

I have a few scripts, all in my home folder, for a few hacks like that when necessary.

~\enable-bluetooth.sh

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