RTL8822be WiFi not detecting

Hello,
I have the fallowing system:
inxi -Fxxxz

System:    Host: ** Kernel: 5.6.11-1-MANJARO x86_64 bits: 64 compiler: gcc v: 9.3.0 Desktop: Gnome 3.36.2 wm: gnome-shell 
           dm: GDM 3.34.1 Distro: Manjaro Linux 
Machine:   Type: Laptop System: LENOVO product: 81FV v: Lenovo Legion Y530-15ICH serial: <filter> Chassis: type: 10 
           v: Lenovo Legion Y530-15ICH serial: <filter> 
Battery:   ID-1: BAT0 charge: 18.9 Wh condition: 46.0/52.5 Wh (88%) volts: 11.0/11.2 model: SMP L17M3PG1 type: Li-poly 
           serial: <filter> status: Discharging 
CPU:       Topology: Quad Core model: Intel Core i5-8300H bits: 64 type: MT MCP arch: Kaby Lake rev: A L2 cache: 8192 KiB 
           flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx bogomips: 36812 
           Speed: 900 MHz min/max: 800/4000 MHz Core speeds (MHz): 1: 900 2: 900 3: 900 4: 901 5: 900 6: 900 7: 901 8: 900 
Graphics:  Device-1: Intel UHD Graphics 630 vendor: Lenovo driver: i915 v: kernel bus ID: 00:02.0 chip ID: 8086:3e9b 
           Device-2: NVIDIA GP107M [GeForce GTX 1050 Ti Mobile] vendor: Lenovo driver: nouveau v: kernel bus ID: 01:00.0 
           chip ID: 10de:1c8c 
           Display: x11 server: X.org 1.20.8 driver: nouveau compositor: gnome-shell resolution: <xdpyinfo missing> 
           OpenGL: renderer: Mesa Intel UHD Graphics 630 (CFL GT2) v: 4.6 Mesa 20.0.6 direct render: Yes 
Audio:     Device-1: Intel Cannon Lake PCH cAVS vendor: Lenovo driver: snd_hda_intel v: kernel bus ID: 00:1f.3 
           chip ID: 8086:a348 
           Device-2: NVIDIA GP107GL High Definition Audio driver: snd_hda_intel v: kernel bus ID: 01:00.1 chip ID: 10de:0fb9 
           Sound Server: ALSA v: k5.6.11-1-MANJARO 
Network:   Device-1: Realtek RTL8822BE 802.11a/b/g/n/ac WiFi adapter driver: rtw_pci v: N/A port: 5000 bus ID: 07:00.0 
           chip ID: 10ec:b822 
           IF: wlp7s0 state: down mac: <filter> 
           Device-2: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet vendor: Lenovo driver: r8169 v: kernel port: 3000 
           bus ID: 08:00.0 chip ID: 10ec:8168 
           IF: enp8s0 state: up speed: 1000 Mbps duplex: full mac: <filter> 
Drives:    Local Storage: total: 476.94 GiB used: 7.16 GiB (1.5%) 
           ID-1: /dev/sda vendor: SanDisk  size: 476.94 GiB speed: 6.0 Gb/s serial: <filter> rev: 6001 
           scheme: GPT 
Partition: ID-1: / size: 442.86 GiB used: 7.16 GiB (1.6%) fs: ext4 dev: /dev/sda2 
           ID-2: swap-1 size: 25.70 GiB used: 0 KiB (0.0%) fs: swap dev: /dev/sda3 
Sensors:   System Temperatures: cpu: 55.0 C mobo: N/A gpu: nouveau temp: 39 C 
           Fan Speeds (RPM): N/A 
Info:      Processes: 242 Uptime: 14m Memory: 23.37 GiB used: 1.62 GiB (6.9%) Init: systemd v: 245 Compilers: gcc: N/A 
           Shell: zsh v: 5.8 running in: gnome-terminal inxi: 3.0.37 

The problem is that the Wireless interface seems to work, but it doesn't detect any network, as in the fallowing picture:
2020manjaro

tried:

About this: No wifi in new LenovoY30 with RTL8822BE WiFi card - the AUR link is down and my kernel is 5.6.11, which is, i think, the kernel in the specificed post is way behind?

The system is a fresh install and updated. Ask for any other info. Thx in advance :innocent: !

stable update has the 5.6.11-1 it seems, so not behind ... Try a new reboot, or different kernel if you have more than one installed.

Edited - was referring to your version of kernel. Also, I'm hoping to find a solution for this version of manjaro ( 20.01). Tried the 19.02, same error.

Edit - Reboot doesn't work.

Try disabling MAC Address Randomization in NetworkManager.

Enter this command in the terminal to automatically generate the required conf file:

echo -e "[device]\nwifi.scan-rand-mac-address=no" | sudo tee /etc/NetworkManager/conf.d/disable-random-mac.conf

Reboot both the computer and the router after creating the conf file.

Edit:

Ooops, I just noticed the driver you are using. You have not installed the driver from the AUR. The kernel module is unreliable. I will give you instructions on how to do that shortly.

These might help:
log

I don't know why that rfkill is there...

rfkill

You must install the kernel headers first.

Then you must install this driver from the AUR:

https://aur.archlinux.org/packages/rtlwifi_new-extended-dkms/

Then you must blacklist this module in /etc/modprobe.d/rtl8822be.conf:

blacklist rtw_pci

Full instructions can be found in this installation guide:

EDIT:

Doublecheck the blacklist entry I have edited it for a syntax error.

Try adding the aspm=0 kernel parameter to grub.
https://bbs.archlinux.org/viewtopic.php?id=242668

1 Like

I knew your solution, tried it but it didn't work before.
I've checked my modprobe.d folder and the was another rtl8723de.conf there with
options rtl8723de ant_sel=2
Deleted it and now it works.
Thank you for the very fast responses. Awesome people & community !

1 Like

After 2 reboots the network acts the same as it was.
Not detecting any AP ( tried also the solution of @AJSlye and nothing)
@tbg tried your tutorial again, with the only blacklist being rtw_pci and still nothing.

There as an error at
DEVICE=$(hwinfo --wlan | grep "Device File" | cut -d " " -f5) && sudo ip link set $DEVICE up
-->
RTNETLINK answers: Operation already in progress

Some output of lsmod that might help:

rtw88                 577536  1 rtwpci
mac80211             1036288  4 rtl_pci,rtwpci,rtlwifi,rtw88
btcoexist             479232  1 rtl8822be
halmac                192512  1 rtl8822be
rtl8822be              94208  0
cfg80211              884736  3 rtlwifi,mac80211,rtw88

dmesg still outputs that errors in journal:

[  839.397803] rtw_pci 0000:07:00.0: failed to power on mac
[  841.573645] rtw_pci 0000:07:00.0: mac power on failed
[  841.573646] rtw_pci 0000:07:00.0: failed to power on mac

Doublecheck the blacklist is properly in place.

Originally I thought to blacklist rtw88, but then I removed it as I didn't notice it in your original lsmod.

You better blacklist both rtw_pci and rtw88.

Then do:

sudo depmod -a

Then reboot.

i dont think the blacklist is working

lsmod | grep -e rtw88                                                                                                                                                                                       
rtw88                 577536  1 rtwpci
mac80211             1036288  4 rtl_pci,rtwpci,rtlwifi,rtw88
cfg80211              884736  3 rtlwifi,mac80211,rtw88

44

Need any specific output?

There is one other option.

First check /etc/modules/load.d

Make sure those modules aren't listed in any files there.

There is no such dir.
but /etc/modules-load.d/modules.conf exists and doesn't have any:
# List of modules to load at boot

1 Like

found a solution at this link

As he said:

SOLUTION: Disable btrtl (bluetooth driver for same wireless card) and btusb (because it uses the former). Here is the conclusion:

The old rtlwifi was replaced by the brand new rtw88 driver by realtek for several cards, including rtl8822be.

The old rtlwifi has a "btcoexist" folder, meaning that the new rtw88 driver might be lacking the capability to run with btrtl. It is not a priority for me to look into at this point.

It works in the first few minutes after boot, but it gets unusable, most probably still needing the equivalent of "option rtl8822be aspm=0" to turn off power saving. No idea at this point.

Works after restart

What I did - modified the config with the blacklist:

cat /etc/modprobe.d/rtl8822be.conf                                       
blacklist btrtl
blacklist btusb

and executed those 2 instruction:

sudo depmod -a
sudo mkinitcpio -P

Edit

this is also important to have:

Quoting:

EDIT2 : Looks like I cannot find any way to solve the disconnection issue of rtw88. There is no documentation and cannot figure out what flags might be used to turn off aspm. Well, in the end it looks like I have to go back to rtlwifi, for which I will need the rtlwifi_new-* package from the AUR.

Edit:
Don't forget to do the instructions from the [edu4rdshl] in the comment section of the Reddit post.

OK, then. This may be overkill, but let's try this instead of blacklisting rtw_pci.

Use the same Rtl8822be.conf file but change the contents to:

install rtw_pci /bin/false 

Reboot and check your modules again.

It also may be worth trying this:

install rtw_pci /bin/false
install btusb /bin/false 
1 Like

Sorry, but I'm about done for the day. Hopefully you get things figured out.

Best of luck.

That ant_sel=# was an old hack for a previous bug, that was since fixed. If not, then try changing it to use the other antenna (options rtl8723de ant_sel=1). The problem is that some laptop manufacturers only provide one antenna cable/connector, and the auto-detect in the driver wasn't working. This could have regressed again. Also make sure your removing any settings/blacklist, etc. that you make, before trying other workarounds, and/or rebooting.

The error on that linked thread:

wpa_supplicant[646]: Could not set interface wlp7s0 flags (UP): Operation already in progress

Sounds suspiciously like the error when attempting to raise the adapter.

Perhaps replacing wpa_supplicant with iwd might help.

I have instructions on how to do that on this tutorial:

Following the entire tutorial and replacing Network Manager with Connman might also be a good troubleshooting step.


Try this.
i have lenovo with rtl8822be wifi card and this works for me with latest kernel
do it twice
update command line

Forum kindly sponsored by