Realtek RTL8822BE device disconnected

It has been years since my last issue with wireless drivers and cards on linux but after an July upgrade, my pci wireless card stopped working.
The card is seen, it has the correct drivers but nmcli says that the device is ‘disconnected’. In journalctl there are wifi-scan entries but the nm-applet displays no available wireless networks to connect to.

I am aware of this bug - but no workarounds from there work ( I don’t have a r8822be module). I have deleted the connections but I did not find how to delete the devices (nmcli does not allow it).

Any ideeas are higly appreciated.

Thank you.

simona@devrog:~> uname -a
Linux devrog 5.2.5-1-default #1 SMP Wed Jul 31 10:41:36 UTC 2019 (79b6a9c) x86_64 x86_64 x86_64 GNU/Linux

simona@devrog:~> sudo hwinfo
111: None 00.0: 10700 Loopback
[Created at net.126]
Unique ID: ZsBS.GQNx7L4uPNA
SysFS ID: /class/net/lo
Hardware Class: network interface
Model: “Loopback network interface”
Device File: lo
Link detected: yes
Config Status: cfg=no, avail=yes, need=no, active=unknown

112: None 08.0: 10701 Ethernet
[Created at net.126]
Unique ID: pWv0.ndpeucax6V1
SysFS ID: /class/net/vmnet8
Hardware Class: network interface
Model: “Ethernet network interface”
Device File: vmnet8
HW Address: 00:50:56:c0:00:08
Permanent HW Address: 00:50:56:c0:00:08
Link detected: yes
Config Status: cfg=no, avail=yes, need=no, active=unknown

113: None 00.0: 10701 Ethernet
[Created at net.126]
Unique ID: l02Y.ndpeucax6V1
Parent ID: 4Nnf.5vrjS2pudX9
SysFS ID: /class/net/enp6s0
SysFS Device Link: /devices/pci0000:00/0000:00:01.3/0000:03:00.2/0000:04:01.0/0000:06:00.0
Hardware Class: network interface
Model: “Ethernet network interface”
Driver: “r8169”
Driver Modules: “r8169”
Device File: enp6s0
HW Address: 2c:fd:a1:24:4a:0b
Permanent HW Address: 2c:fd:a1:24:4a:0b
Link detected: no
Config Status: cfg=no, avail=yes, need=no, active=unknown
Attached to: #50 (Ethernet controller)

114: None 00.0: 10701 Ethernet
[Created at net.126]
Unique ID: J6JA.ndpeucax6V1
Parent ID: eS2I.ajJKAwjeCaC
SysFS ID: /class/net/wlp7s0
SysFS Device Link: /devices/pci0000:00/0000:00:01.3/0000:03:00.2/0000:04:04.0/0000:07:00.0
Hardware Class: network interface
Model: “Ethernet network interface”
Driver: “rtw_pci”
Driver Modules: “rtwpci”
Device File: wlp7s0
HW Address: 40:9f:38:55:64:55
Permanent HW Address: 40:9f:38:55:64:55
Link detected: no
Config Status: cfg=no, avail=yes, need=no, active=unknown
Attached to: #38 (WLAN controller)

115: None 01.0: 10701 Ethernet
[Created at net.126]
Unique ID: O+C8.ndpeucax6V1
SysFS ID: /class/net/vmnet1
Hardware Class: network interface
Model: “Ethernet network interface”
Device File: vmnet1
HW Address: 00:50:56:c0:00:01
Permanent HW Address: 00:50:56:c0:00:01
Link detected: yes
Config Status: cfg=no, avail=yes, need=no, active=unknown

simona@devrog:~> sudo lspci | grep Realtek
06:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 10)
07:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8822BE 802.11a/b/g/n/ac WiFi adapter

simona@devrog:~> inxi -N
Network: Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet driver: r8169
Device-2: Realtek RTL8822BE 802.11a/b/g/n/ac WiFi adapter driver: rtw_pci

simona@devrog:~> sudo iwconfig
enp6s0 no wireless extensions.

lo no wireless extensions.

wlp7s0 IEEE 802.11 ESSIDff/any
Mode:Managed Access Point: Not-Associated Tx-Power=20 dBm
Retry short limit:7 RTS thrff Fragment thrff
Encryption keyff
Power Managementn

vmnet1 no wireless extensions.

vmnet8 no wireless extensions.

simona@devrog:~> sudo iwlist scan
enp6s0 Interface doesn’t support scanning.

lo Interface doesn’t support scanning.

wlp7s0 No scan results

vmnet1 Interface doesn’t support scanning.

vmnet8 Interface doesn’t support scanning.

simona@devrog:~> nmcli general status
STATE CONNECTIVITY WIFI-HW WIFI WWAN-HW WWAN
disconnected none enabled enabled enabled enabled

simona@devrog:~> nmcli networking connectivity check
none

simona@devrog:~> nmcli radio
WIFI-HW WIFI WWAN-HW WWAN
enabled enabled enabled enabled

simona@devrog:~> nmcli connection show
NAME UUID TYPE DEVICE
ShivaLaboratory f7ed70b4-2e4c-46e1-8190-9b57c2e5af9b wifi –

simona@devrog:~> nmcli device
DEVICE TYPE STATE CONNECTION
wlp7s0 wifi disconnected –
enp6s0 ethernet unavailable –
vmnet1 ethernet unmanaged –
vmnet8 ethernet unmanaged –
lo loopback unmanaged –

(more details)

Please post:

rfkill list all

simona@devrog:~> sudo rfkill list all
0: phy0: Wireless LAN
Soft blocked: no
Hard blocked: no
1: hci0: Bluetooth
Soft blocked: no
Hard blocked: no

and iif I want to connect using nmcli:

simona@devrog:~> sudo nmcli device connect wlp7s0
Error: Failed to add/activate new connection: A ‘wireless’ setting is required if no AP path was given.

Thank you.

Please show us output from

nmcli g
nmcli c

Edit: Sorry, ignore this post. I didn’t notice that this information has already been posted.

Also do

/usr/sbin/iw dev

to check which mode the wifi device is in.

iw command displays

Usage: /usr/sbin/iw [options] command
Options:
–debug enable netlink debugging
–version show version (5.0.1)
Commands:

Commands that use the netdev (‘dev’) can also be given the
‘wdev’ instead to identify the device.

You can omit the ‘phy’ or ‘dev’ if the identification is unique,
e.g. “iw wlan0 info” or “iw phy0 info”. (Don’t when scripting.)

Do NOT screenscrape this tool, we don’t consider its output stable.

I’ve tried


/usr/sbin/iw dev wlp7s0
/usr/sbin/iw dev
sudo dev wlp7s0
/usr/sbin/iw wdev

Rather than guessing, always good to refer to the man pages

man iw

Anyway, the command as I gave it should have returned something like this

~> /usr/sbin/iw dev
phy#0
        Interface wlan0
                ifindex 3
                wdev 0x1
                addr 20:68:9d:8b:3c:2e
                type managed
                txpower 20.00 dB

Similarly

/usr/sbin/iw dev wlp7s0 info

If it doesn’t then the problem is with the driver.

I note that your wifi device is using the rtwpci driver with the new kernel

Model: "Ethernet network interface" 
Driver: "rtw_pci" 
Driver Modules: "rtwpci" 
Device File: wlp7s0 

and similar to this archlinux thread where it was found that chipset wasn’t supported by the driver. It may be necessary to blacklist that driver in favour of the rtl8822be driver. You may need to build this module for your current kernel (or rollback perhaps).

Got my wireless back!

The rtl8822be driver is actually available in the https://github.com/lwfinger/rtlwifi_new repository but on the extended branch (but finding this information required intensive internet searches - hint1, hint2)
After that

git clone https://github.com/lwfinger/rtlwifi_new.git
cd rtlwifi_new
git checkout extended
make
sudo make install
sudo modprobe -r rtl8822
sudo modprobe rtl8822

There are 2 drivers that need to be blacklisted: rtwpci and rtw88:

  • blacklist at boot: add as kernel parameter module_blacklist=rtw88,rtwpci
  • permanently blacklist: add them to /etc/modprobe.d/blacklist.conf
blacklist rtw88
blacklist rtwpci

Btw, there are 2 OBS repositories building this project but they don’t seem to be up2date.

Yes, using the rtl8822be driver is the way to go. Good to read of your success with this. :slight_smile:

Btw, there are 2 OBS repositories building this project but they don’t seem to be up2date.

Since April 2019, nothing was change from Larry Finger in the git Repo, so it is an actual driver.

You can also use:
https://download.opensuse.org/repositories/home:/Sauerland:/hardware/openSUSE_Tumbleweed/x86_64/

Uuuuu, this is even better (no kernel upgrades headaches). I was looking for rt8822be in OBS; I wasn’t even sure if rtlwifi_new was the correct driver to build.

Thank you all for the support!

Just an update to this thread: worked fine until the end of Nov. when no recompile and no reinstall of the rtlwifi modules made it work again.
Based on the README file in the repo, the drivers for RTL8822BE are now on the rtw88 branch but for kernels > 5.2 it is recommended to use the default ones.

I’ve tried to make install the modules from extended branch and from rtw88 branch but wireless was still not working. In the end I’ve removed the rtlwifi modules folder from kernel, removed the blacklist file, removed all packages installed from
https://download.opensuse.org/repositories/home:/Sauerland:/hardware/openSUSE_Tumbleweed repo or switched them to packman ones.
After a reboot the onboard wireless card was back in business.

simona@devrog:~> inxi -N
Network:   Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet driver: r8168 
           Device-2: Realtek RTL8822BE 802.11a/b/g/n/ac WiFi adapter driver: rtw_pci 


OK,
now for the normal user …
I use Suse SLED15 SP2, WIFI is not working, and the support told me,
after guiding me one month incl. a fresh install, that my hardware is not supported.
But he was so kind to give me the hint to this thread…

The link to the driver from 10-Aug-2019, 23:49 is no longer working.
I found a driver rtl8822befw.bin in the web.
(Seems, that some linux distros have problems with this hardware)

And there is the rpm-archiv in Sauerlands Post from 11-Aug-2019, 05:15
It seems to be the easiest way (?)
What should I do?
Only installing the rpm?
Which RPM? I have a rtl8822be, in the archiv is mentioned rtl8822bu-kmp-default…

Must I do the blacklisting, as told here above?

Greetings,
Holger

Please show:

/sbin/lspci -nnk | grep -iA3 net

To see, which chip is inside.

Also:

uname -a

to see the running kernel.

holger@localhost:~> /sbin/lspci -nnk | grep -iA3 net

06:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/816/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 10)
Subsystem: ASUSTeK Computer Inc. Device [1043:200f]
Kernel driver in use: r8169
Kernel modules: r8169
07:00.0 Network controller [0280]: Realtek Semiconductor Co., Ltd. RTL8822BE 80.11a/b/g/n/ac WiFi adapter [10ec:b822]
Subsystem: AzureWave Device [1a3b:2950]
Kernel driver in use: rtw_pci
Kernel modules: rtwpci

holger@localhost:~> uname -a
Linux localhost.localdomain 5.3.18-24.61-default #1 SMP Wed Apr 14 10:10:07 UTC 2021 (c41a65c) x86_64 x86_64 x86_64 GNU/Linux
holger@localhost:~>

Thank you for the fast reply!!

Greetings,
Holger

Its building in OBS, but you need the rtw88

modinfo rtw_8822be
filename:       /lib/modules/5.11.15-lp152.2.g64fb5bf-default/updates/rtw88/rtw_8822be.ko
license:        Dual BSD/GPL
description:    Realtek 802.11ac wireless 8822be driver
author:         Realtek Corporation
suserelease:    openSUSE Tumbleweed
srcversion:     E51D1192F8F01CEC1D5919A
alias:          pci:v000010ECd0000B822sv*sd*bc*sc*i*
depends:        rtw_pci,rtw_8822b
retpoline:      Y
.
.
.
.
.

Use this kmp:
https://download.opensuse.org/repositories/home:/Sauerland:/hardware/SLE_15_SP2/x86_64/rtw88-kmp-default-git20210419_k5.3.18_22-2.1.x86_64.rpm

But secure boot has to be disabled in UEFI/Bios.
And maybe you have to boot with kernel 5.3.18-22-2.1-default

Means:
I download the rtw88-kmp-default-git20210419_k5.11.12_1-2.1.x86_64.rpm and install it?

Thank you very much
(Why am I using SLED …?)

Holger

Download and install it, use Networkmanager to configure it (its easier as wicked/ifup)
Maybe you have to switch to Networkmnager in Yast—System—Network-Configuration—global Options.