Realtek 8852BE not working properly

I just got a new laptop with a RTK8852BE wifi card, and after installing Garuda on it (what else would you use amirite?), I noticed that my wifi is behaving very strangely. I can connect to networks just fine, but after connecting the internet is basically unusable, any page will take 30+ seconds to open, and it often won't get rendered properly, I tested this 3 ways, at work with a 5GHz connection, at home with a 2.4GHz connection, and I tried it with USB tethering from my phone, and I had the same result each time, so I'm assuming the Realtek card might not be the only issue. I tried installing both variants of rtk89 from AUR, as well as directly from GH, and it changed nothing, additionally, Garuda Network Assistant doesn't detect any drivers for the card (tho I'm assuming this is normal as the same thing happens on my PC where everything works normally).

First time posting here, so I'm sorry if I missed something, but I tried looking through both linux-related forums and arch-related, and I found nothing that solves my issue, so this was my last resort. Let me know if you need any additional info, and thank you in advance

garuda-inxi
System:
  Kernel: 6.3.1-zen1-1-zen arch: x86_64 bits: 64 compiler: gcc v: 13.1.1
    parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen
    root=UUID=11382682-9837-4fd1-a2da-59190556b19e 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.4 tk: Qt v: 5.15.9 wm: kwin_x11 vt: 1 dm: SDDM
    Distro: Garuda Linux base: Arch Linux
Machine:
  Type: Laptop System: LENOVO product: 82SN v: IdeaPad 5 Pro 16ARH7
    serial: <superuser required> Chassis: type: 10 v: IdeaPad 5 Pro 16ARH7
    serial: <superuser required>
  Mobo: LENOVO model: LNVNB161216 v: No DPK serial: <superuser required>
    UEFI: LENOVO v: J4CN33WW date: 08/29/2022
Battery:
  ID-1: BAT0 charge: 71.2 Wh (91.3%) condition: 78.0/75.0 Wh (103.9%)
    volts: 16.8 min: 15.4 model: LENOVO AP16L5J type: Li-ion serial: <filter>
    status: discharging cycles: 4
CPU:
  Info: model: AMD Ryzen 7 6800HS Creator Edition bits: 64 type: MT MCP
    arch: Zen 3+ gen: 4 level: v3 note: check built: 2022 process: TSMC n6 (7nm)
    family: 0x19 (25) model-id: 0x44 (68) stepping: 1 microcode: 0xA404101
  Topology: cpus: 1x cores: 8 tpc: 2 threads: 16 smt: enabled cache:
    L1: 512 KiB desc: d-8x32 KiB; i-8x32 KiB L2: 4 MiB desc: 8x512 KiB
    L3: 16 MiB desc: 1x16 MiB
  Speed (MHz): avg: 1748 high: 3200 min/max: 1600/4784 boost: enabled
    scaling: driver: acpi-cpufreq governor: schedutil cores: 1: 1386 2: 1600
    3: 1600 4: 1600 5: 1600 6: 1600 7: 1600 8: 3200 9: 1600 10: 1600 11: 1395
    12: 3200 13: 1393 14: 1600 15: 1397 16: 1600 bogomips: 102206
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
  Vulnerabilities: <filter>
Graphics:
  Device-1: AMD Rembrandt [Radeon 680M] vendor: Lenovo driver: amdgpu
    v: kernel arch: RDNA-2 code: Navi-2x process: TSMC n7 (7nm) built: 2020-22
    pcie: gen: 4 speed: 16 GT/s lanes: 16 ports: active: eDP-1 empty: DP-1,
    DP-2, DP-3, DP-4, DP-5, DP-6, DP-7, HDMI-A-1 bus-ID: 04:00.0
    chip-ID: 1002:1681 class-ID: 0300 temp: 33.0 C
  Device-2: Luxvisions Innotech Integrated RGB Camera type: USB
    driver: uvcvideo bus-ID: 5-1:2 chip-ID: 30c9:0057 class-ID: fe01
    serial: <filter>
  Display: x11 server: X.Org v: 21.1.8 with: Xwayland v: 23.1.1
    compositor: kwin_x11 driver: X: loaded: amdgpu unloaded: modesetting
    alternate: fbdev,vesa dri: radeonsi gpu: amdgpu display-ID: :0 screens: 1
  Screen-1: 0 s-res: 2560x1600 s-dpi: 96 s-size: 677x423mm (26.65x16.65")
    s-diag: 798mm (31.43")
  Monitor-1: eDP-1 mapped: eDP model: BOE Display 0x09b6 built: 2021
    res: 2560x1600 hz: 60 dpi: 188 gamma: 1.2 size: 345x215mm (13.58x8.46")
    diag: 407mm (16") ratio: 16:10 modes: max: 2560x1600 min: 640x480
  API: OpenGL v: 4.6 Mesa 23.0.3 renderer: AMD Radeon Graphics (rembrandt
    LLVM 15.0.7 DRM 3.52 6.3.1-zen1-1-zen) direct-render: Yes
Audio:
  Device-1: AMD Rembrandt Radeon High Definition Audio vendor: Lenovo
    driver: snd_hda_intel v: kernel pcie: gen: 4 speed: 16 GT/s lanes: 16
    bus-ID: 04:00.1 chip-ID: 1002:1640 class-ID: 0403
  Device-2: AMD ACP/ACP3X/ACP6x Audio Coprocessor vendor: Lenovo
    driver: snd_pci_acp6x v: kernel alternate: snd_pci_acp3x, snd_rn_pci_acp3x,
    snd_pci_acp5x, snd_acp_pci, snd_rpl_pci_acp6x, snd_pci_ps,
    snd_sof_amd_renoir, snd_sof_amd_rembrandt pcie: gen: 4 speed: 16 GT/s
    lanes: 16 bus-ID: 04:00.5 chip-ID: 1022:15e2 class-ID: 0480
  Device-3: AMD Family 17h/19h HD Audio vendor: Lenovo driver: snd_hda_intel
    v: kernel pcie: gen: 4 speed: 16 GT/s lanes: 16 bus-ID: 04:00.6
    chip-ID: 1022:15e3 class-ID: 0403
  API: ALSA v: k6.3.1-zen1-1-zen status: kernel-api with: aoss
    type: oss-emulator tools: N/A
  Server-1: PipeWire v: 0.3.70 status: active 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 vendor: Lenovo driver: rtw89_8852be v: N/A
    modules: rtw_8852be pcie: gen: 1 speed: 2.5 GT/s lanes: 1 port: 2000
    bus-ID: 01:00.0 chip-ID: 10ec:b852 class-ID: 0280
  IF: wlp1s0 state: up mac: <filter>
Bluetooth:
  Device-1: Realtek Bluetooth Radio type: USB driver: btusb v: 0.81
    bus-ID: 3-3:3 chip-ID: 0bda:4853 class-ID: e001 serial: <filter>
  Report: bt-adapter ID: hci0 rfk-id: 1 state: down
    bt-service: enabled,running rfk-block: hardware: no software: yes
    address: <filter>
Drives:
  Local Storage: total: 476.94 GiB used: 84.89 GiB (17.8%)
  SMART Message: Unable to run smartctl. Root privileges required.
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Samsung
    model: MZAL4512HBLU-00BL2 size: 476.94 GiB block-size: physical: 512 B
    logical: 512 B speed: 63.2 Gb/s lanes: 4 type: SSD serial: <filter>
    rev: 7L1QHXC7 temp: 21.9 C scheme: GPT
Partition:
  ID-1: / raw-size: 376.94 GiB size: 376.94 GiB (100.00%)
    used: 84.83 GiB (22.5%) fs: btrfs dev: /dev/nvme0n1p5 maj-min: 259:5
  ID-2: /boot/efi raw-size: 100 MiB size: 96 MiB (96.00%)
    used: 61.3 MiB (63.9%) fs: vfat dev: /dev/nvme0n1p1 maj-min: 259:1
  ID-3: /home raw-size: 376.94 GiB size: 376.94 GiB (100.00%)
    used: 84.83 GiB (22.5%) fs: btrfs dev: /dev/nvme0n1p5 maj-min: 259:5
  ID-4: /var/log raw-size: 376.94 GiB size: 376.94 GiB (100.00%)
    used: 84.83 GiB (22.5%) fs: btrfs dev: /dev/nvme0n1p5 maj-min: 259:5
  ID-5: /var/tmp raw-size: 376.94 GiB size: 376.94 GiB (100.00%)
    used: 84.83 GiB (22.5%) fs: btrfs dev: /dev/nvme0n1p5 maj-min: 259:5
Swap:
  Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default)
  ID-1: swap-1 type: zram size: 13.34 GiB used: 1.2 MiB (0.0%) priority: 100
    dev: /dev/zram0
Sensors:
  System Temperatures: cpu: N/A mobo: N/A gpu: amdgpu temp: 33.0 C
  Fan Speeds (RPM): N/A
Info:
  Processes: 328 Uptime: 1h 5m wakeups: 1196 Memory: 13.34 GiB
  used: 2.39 GiB (17.9%) Init: systemd v: 253 default: graphical
  tool: systemctl Compilers: gcc: 13.1.1 Packages: pm: pacman pkgs: 1724
  libs: 516 tools: octopi,paru Shell: fish v: 3.6.1 running-in: konsole
  inxi: 3.3.26
Garuda (2.6.16-1):
  System install date:     2023-05-04
  Last full system update: 2023-05-07
  Is partially upgraded:   No
  Relevant software:       snapper NetworkManager dracut
  Windows dual boot:       Probably (Run as root to verify)
  Failed units:            systemd-vconsole-setup.service 

Try other kernel

https://bbs.archlinux.org/viewtopic.php?id=281763

rtw89_8852be

2 Likes

That didn't seem to do much, tho one interesting thing did happen.
I tried 3 other kernel versions:
6.3.1-AMD
6.3.1-arch
6.1.27.1-lts

On 6.3.1-arch and 6.1.27.1-lts the result was identical, it connects very easily but it's effectively unusable, on 6.3.1-AMD however, it wouldn't even detect my WiFi card at all. I tried using USB Tethering just to run garuda-update, maybe it'd help, but it couldn't hold a stable connection for long enough, which again leads me to believe that the issue isn't the wifi card itself, otherwise USB Tethering would run just fine right?

They wrote about black listing some driver in the link, but IDK nothing about this part.
So wait for other or try by yourself, please.

1 Like

Create a file /etc/modprobe.d/rtw8852be.conf with the following contents:

blacklist rtw_8852be

and reboot.

I'm not a blacklist karate-kid :slight_smile:
Give also a look at:
https://wiki.archlinux.org/title/Kernel_module#Blacklisting

4 Likes

If still not working, this could be the culprit (I expected this to be fixed in kernel 6.3), but there seem to be a workaround (see comment #2, but again, read entirely):
https://bugzilla.kernel.org/show_bug.cgi?id=217207

Edit:
Sorry, I really think you can disregard this post...
Rereading the bug description I see that the problem was different (WiFi was not working at all due to firmware not found).
I hope the other solution/driver, with blacklisting, has better luck.

3 Likes

Thank you for the suggestion, but I just tried something completely different, and it turns out that it's not the wifi card at all.

In my previous laptop, I also used Garuda, and it had a 8821CE or something like that, and it worked perfectly fine, so I took it out, replaced it with the 8852BE in the current one, and the issue persisted, I tried installing the driver for 8821CE and rebooting, nothing. I do have windows in dual boot, and I have secure boot disabled as well as fast startup in windows, but again, the issue definitely doesn't seem related as wifi does actually still work, it's just completely unusable. I would often get DNS related errors when doing things like paru -S *package name* or garuda-update, but it'd eventually start working, same for the browser, it might take a while, but it does connect eventually (most of the time).

If anyone has any other troubleshooting steps I'm open to anything at this point. It's starting to look like it's not a Linux/Arch/Garuda issue at this point and Lenovo did some BS to it, but I'm all out of ideas.

Are you dual-booting with Windows? If so, you will need to change the default shutdown method Windows uses. The “fast startup” feature that is enabled by default is known to interfere with the network card and other resources when booted to another OS.

If you are not dual-booting with Windows, run a basic ping to test for dropped packets. First point the ping at your gateway.

ping 192.168.0.1

Obviously change that IP address to whatever your gateway’s IP is.

Test an external IP address:

ping 9.9.9.9

Test a ping that uses DNS.

ping archlinux.org

If some tests have dropped packets but not others, that will be informative.

2 Likes

Hi, thanks for replying.

As I already mentioned in my comments, fast startup is disabled. I have already tried pinging my router, but not the rest.

Router: 10 received, 0% packet loss, time 9016ms
External IP: 10 received, 0% packet loss, time 9013ms
archlinux.org: 10 received, 0% packet loss, time 67883ms

Another thing I find fairly interesting is that if I run garuda-update, during the Synchronizing package databases step, core, extra, community, and multilib repos get retrieved very quickly, but garuda, chaotic-aur, and blackarch always fail to download.

Please show what you have in /etc/resolv.conf.

cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 84.200.69.80

Nothing else

Edit:
I checked the same thing on my desktop PC (connected by LAN but still) and the contents are

# Generated by NetworkManager
nameserver 192.168.100.1
nameserver fe80::1%eno1

It looks like your desktop machine is using the gateway as a nameserver (that's pretty common). If you have not set it yourself, the gateway probably has a nameserver assigned by your ISP.

You can try changing the DNS server on the laptop to OpenDNS or something else, to see if the issue is related to the DNS server, but my hunch is the network card is to blame after all.

2 Likes

As I mentioned earlier, it can't be the network card, as the issue persists when using USB tethering, and also with a different network card that has worked perfectly fine in a different device.

Also, setting the DNS to 8.8.8.8 did nothing (assuming I was expected to change it in connection settings)

Hey guys, issue solved!

Turns out that I (probably?) missclicked during the first time setup and DNS was set to DNS.Watch by the Setup Assistant, which seems to be either broken or misconfigured. Anyway, after resetting it everything seems to be working perfectly smoothly. Sorry for wasting everyone's time!

1 Like

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