8

I have an issue on my new Lenovo Legion 5 Pro 16ach6 with its wifi card : Realtek RTL8852AE - PCIe 2.0 with ubuntu 20.04 and the 5.12.9 kernel (it's work on Windows 10).

I followed this topic : Network driver for Realtek 8852 20.10 but Modeprobe doesn't find the module "rtw_8723de" (which doesn't exist, I think It's a mistake in regards to rtw88 repository) and the 2 .ko created doesn't work : rtw89core.ko or rtw89pci.ko (we can see it in the lspci).

I tried different kernels like 5.8, 5.11, 5.12 but I have the same problem. Ubuntu 20.04, 21.04, the last Manjaro with gnome... I think its ok in the bios : I disabled secure boot and an AMD protection for CPU and no results ! There is an option with "discrete" and "dynamic" graphics but except a choice between the AMD graphic chipset and the NVIDIA video card, I have no difference.

When I try this solution : https://github.com/lwfinger/rtw89, I have this :

user@lenovo:~/Documents/git/rtw89$ make VERBOSE=1
make -C /lib/modules/5.12.9-051209-generic/build M=/home/user/Documents/git/rtw89 modules
make[1] : on entre dans le répertoire « /usr/src/linux-headers-5.12.9-051209-generic »
  CC [M]  /home/user/Documents/git/rtw89/core.o
  CC [M]  /home/user/Documents/git/rtw89/debug.o
  CC [M]  /home/user/Documents/git/rtw89/mac80211.o
  CC [M]  /home/user/Documents/git/rtw89/mac.o
  CC [M]  /home/user/Documents/git/rtw89/phy.o
  CC [M]  /home/user/Documents/git/rtw89/fw.o
  CC [M]  /home/user/Documents/git/rtw89/rtw8852a.o
  CC [M]  /home/user/Documents/git/rtw89/rtw8852a_table.o
  CC [M]  /home/user/Documents/git/rtw89/rtw8852a_rfk.o
  CC [M]  /home/user/Documents/git/rtw89/rtw8852a_rfk_table.o
  CC [M]  /home/user/Documents/git/rtw89/cam.o
  CC [M]  /home/user/Documents/git/rtw89/efuse.o
  CC [M]  /home/user/Documents/git/rtw89/regd.o
  CC [M]  /home/user/Documents/git/rtw89/coex.o
  CC [M]  /home/user/Documents/git/rtw89/ser.o
  CC [M]  /home/user/Documents/git/rtw89/pci.o
  LD [M]  /home/user/Documents/git/rtw89/rtw89pci.o
  LD [M]  /home/user/Documents/git/rtw89/rtw89core.o
  MODPOST /home/user/Documents/git/rtw89/Module.symvers
  CC [M]  /home/user/Documents/git/rtw89/rtw89core.mod.o
  CC [M]  /home/user/Documents/git/rtw89/rtw89pci.mod.o
  LD [M]  /home/user/Documents/git/rtw89/rtw89core.ko
  LD [M]  /home/user/Documents/git/rtw89/rtw89pci.ko
make[1] : on quitte le répertoire « /usr/src/linux-headers-5.12.9-051209-generic »
user@lenovo:~/Documents/git/rtw89$ sudo make install
make -C /lib/modules/5.12.9-051209-generic/build M=/home/user/Documents/git/rtw89 modules
make[1] : on entre dans le répertoire « /usr/src/linux-headers-5.12.9-051209-generic »
make[1] : on quitte le répertoire « /usr/src/linux-headers-5.12.9-051209-generic »
Install rtw89 SUCCESS
user@lenovo:~/Documents/git/rtw89$ sudo modprobe rtw_8723de
modprobe: FATAL: Module rtw_8723de not found in directory /lib/modules/5.12.9-051209-generic

user@lenovo:~/Documents/git/rtw89$ find /lib/modules/ -type f -name '*.ko*' | grep -i rtw
/lib/modules/5.4.0-74-generic/kernel/drivers/net/wireless/realtek/rtw88/rtw88.ko
/lib/modules/5.4.0-74-generic/kernel/drivers/net/wireless/realtek/rtw88/rtwpci.ko
/lib/modules/5.12.9-051209-generic/kernel/drivers/net/wireless/realtek/rtw89/rtw89core.ko
/lib/modules/5.12.9-051209-generic/kernel/drivers/net/wireless/realtek/rtw89/rtw89pci.ko
/lib/modules/5.12.9-051209-generic/kernel/drivers/net/wireless/realtek/rtw88/rtw88_8723de.ko
/lib/modules/5.12.9-051209-generic/kernel/drivers/net/wireless/realtek/rtw88/rtw88_pci.ko
/lib/modules/5.12.9-051209-generic/kernel/drivers/net/wireless/realtek/rtw88/rtw88_8821ce.ko
/lib/modules/5.12.9-051209-generic/kernel/drivers/net/wireless/realtek/rtw88/rtw88_8822be.ko
/lib/modules/5.12.9-051209-generic/kernel/drivers/net/wireless/realtek/rtw88/rtw88_8821c.ko
/lib/modules/5.12.9-051209-generic/kernel/drivers/net/wireless/realtek/rtw88/rtw88_core.ko
/lib/modules/5.12.9-051209-generic/kernel/drivers/net/wireless/realtek/rtw88/rtw88_8822ce.ko
/lib/modules/5.12.9-051209-generic/kernel/drivers/net/wireless/realtek/rtw88/rtw88_8723d.ko
/lib/modules/5.12.9-051209-generic/kernel/drivers/net/wireless/realtek/rtw88/rtw88_8822c.ko
/lib/modules/5.12.9-051209-generic/kernel/drivers/net/wireless/realtek/rtw88/rtw88_8822b.ko
user@lenovo:~/Documents/git/rtw89$ ls /lib/modules/5.12.9-051209-generic/kernel/drivers/net/wireless/realtek/rtw89
rtw89core.ko  rtw89pci.ko

Some information :

lsb_release -a

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 20.04.2 LTS
Release:        20.04
Codename:       focal

lspci -k -nn | grep -A 3 -i net

03:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 15)
        DeviceName: Realtek RTL8111E Ethernet LOM
        Subsystem: Lenovo RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [17aa:390b]
        Kernel driver in use: r8169
        Kernel modules: r8169
04:00.0 Network controller [0280]: Realtek Semiconductor Co., Ltd. Device [10ec:8852]
        Subsystem: Lenovo Device [17aa:4852]
        Kernel modules: rtw89pci
05:00.0 Non-Volatile memory controller [0108]: SK hynix Device [1c5c:174a]

sudo lshw -C network

  *-network
       description: Ethernet interface
       produit: RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
       fabricant: Realtek Semiconductor Co., Ltd.
       identifiant matériel: 0
       information bus: pci@0000:03:00.0
       nom logique: eno1
       version: 15
       numéro de série: 38:f3:ab:dd:a5:07
       taille: 1Gbit/s
       capacité: 1Gbit/s
       bits: 64 bits
       horloge: 33MHz
       fonctionnalités: pm msi pciexpress msix bus_master cap_list ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
       configuration : autonegotiation=on broadcast=yes driver=r8169 driverversion=5.12.9-051209-generic duplex=full firmware=rtl8168h-2_0.0.2 02/26/15 ip=192.168.0.3 latency=0 link=yes multicast=yes port=twisted pair speed=1Gbit/s
       ressources : irq:40 portE/S:3000(taille=256) mémoire:d1804000-d1804fff mémoire:d1800000-d1803fff
  *-network NON-RÉCLAMÉ
       description: Network controller
       produit: Realtek Semiconductor Co., Ltd.
       fabricant: Realtek Semiconductor Co., Ltd.
       identifiant matériel: 0
       information bus: pci@0000:04:00.0
       version: 00
       bits: 64 bits
       horloge: 33MHz
       fonctionnalités: pm msi pciexpress cap_list
       configuration : latency=0
       ressources : portE/S:2000(taille=256) mémoire:d1700000-d17fffff

iwconfig

lo        no wireless extensions.

eno1      no wireless extensions.


ip a

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 38:f3:ab:dd:a5:07 brd ff:ff:ff:ff:ff:ff
    altname enp3s0
    inet 192.168.0.3/24 brd 192.168.0.255 scope global dynamic noprefixroute eno1
       valid_lft 32622sec preferred_lft 32622sec
    inet6 2a01:e0a:23a:a980:cec0:fa1:160e:8988/64 scope global temporary dynamic 
       valid_lft 86217sec preferred_lft 75715sec
    inet6 2a01:e0a:23a:a980:39d8:4631:d3a2:a9ec/64 scope global dynamic mngtmpaddr noprefixroute 
       valid_lft 86217sec preferred_lft 86217sec
    inet6 fe80::adc1:ed64:6a06:fbca/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

sudo rfkill list

0: ideapad_wlan: Wireless LAN
        Soft blocked: no
        Hard blocked: no
1: ideapad_bluetooth: Bluetooth
        Soft blocked: yes
        Hard blocked: no
2: hci0: Bluetooth
        Soft blocked: yes
        Hard blocked: no

Update The log :


    sudo modprobe rtw89pci
    sudo dmesg | grep rtw

    [    2.958542] rtw89core: loading out-of-tree module taints kernel.
    [    2.958647] rtw89core: module verification failed: signature and/or required key missing - tainting kernel
    [    2.961266] rtw89_pci 0000:04:00.0: Direct firmware load for rtw89/rtw8852a_fw.bin failed with error -2
    [    2.961270] rtw89_pci 0000:04:00.0: failed to request firmware
    [    2.961278] rtw89_pci 0000:04:00.0: enabling device (0000 -> 0003)
    [    2.964634] rtw89_pci 0000:04:00.0: failed to wait firmware completion
    [    2.964641] rtw89_pci 0000:04:00.0: failed to setup chip information
    [    2.965006] rtw89_pci: probe of 0000:04:00.0 failed with error -22

Update I have an UEFI Dual boot with EFIs partitions (I start on Ubuntu EFI with grub). Hibernate mode is disabled on Windows and I shutdown with restart mode for it. Bios information :

AMD Platform Security Processor : Enabled (If I disable that, I have nomore bluetooth and no wifi)
Device Guard : Disable
Secure boot : Disable
Secure boot status :  Disable
Platform Mode : User
Reset to setup mode
Restore Factory Keys

Update I tried this solution too :

echo "blacklist ideapad_laptop" | sudo tee /etc/modprobe.d/ideapad.conf

Update When Ubuntu is starting, I have these messages (quickly) :

ACPI BIOS Error (bug): Could not resolve symbol [\_SB.PCI0.PB2],
AE_NOT_FOUND (20210105/dswload2-162)
ACPI Error: AE_NOT_FOUND, During name lookup/catalog (20210105/ps
object-220)
integrity: Problem loading X.509 certificate -65

Update 2 I tried all of these methods but no wifi :

sudo dmesg | grep rtw
[    2.829383] rtw89core: loading out-of-tree module taints kernel.
[    2.829536] rtw89core: module verification failed: signature and/or required key missing - tainting kernel
[    2.847262] rtw89_pci 0000:04:00.0: enabling device (0000 -> 0003)
[    2.851754] RIP: 0010:rtw89_fw_download+0x9d/0xd0 [rtw89core]
[    2.851782]  ? hfc_func_en+0x61/0x70 [rtw89core]
[    2.851791]  ? rtw89_pci_probe+0x8e0/0xaa0 [rtw89pci]
[    2.851808]  ? rtw89_pci_driver_init+0x1/0x1000 [rtw89pci]

lsmod
Module                  Size  Used by
rfcomm                 81920  16
cmac                   16384  2
algif_hash             16384  1
algif_skcipher         16384  1
af_alg                 28672  6 algif_hash,algif_skcipher
bnep                   24576  2
nls_iso8859_1          16384  1
snd_hda_codec_realtek   135168  1
intel_rapl_msr         20480  0
snd_hda_codec_generic    81920  1 snd_hda_codec_realtek
intel_rapl_common      24576  1 intel_rapl_msr
ledtrig_audio          16384  1 snd_hda_codec_generic
snd_hda_codec_hdmi     61440  1
snd_hda_intel          53248  4
snd_intel_dspcfg       28672  1 snd_hda_intel
snd_intel_sdw_acpi     20480  1 snd_intel_dspcfg
snd_hda_codec         147456  4 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec_realtek
snd_hda_core           94208  5 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek
snd_hwdep              16384  1 snd_hda_codec
snd_pcm               114688  4 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_core
joydev                 24576  0
edac_mce_amd           32768  0
snd_seq_midi           20480  0
amdgpu               6086656  12
snd_seq_midi_event     16384  1 snd_seq_midi
snd_rawmidi            36864  1 snd_seq_midi
rtw89pci               36864  1
snd_seq                73728  2 snd_seq_midi,snd_seq_midi_event
rtw89core             507904  1 rtw89pci
kvm_amd               114688  0
nouveau              2023424  0
kvm                   847872  1 kvm_amd
crct10dif_pclmul       16384  1
mac80211             1015808  2 rtw89pci,rtw89core
ghash_clmulni_intel    16384  0
snd_seq_device         16384  3 snd_seq,snd_seq_midi,snd_rawmidi
btusb                  61440  0
iommu_v2               24576  1 amdgpu
snd_timer              40960  2 snd_seq,snd_pcm
gpu_sched              36864  1 amdgpu
btrtl                  24576  1 btusb
mxm_wmi                16384  1 nouveau
aesni_intel           376832  3
drm_ttm_helper         16384  2 amdgpu,nouveau
ttm                    73728  3 amdgpu,drm_ttm_helper,nouveau
btbcm                  16384  1 btusb
btintel                28672  1 btusb
crypto_simd            16384  1 aesni_intel
cryptd                 24576  3 crypto_simd,ghash_clmulni_intel
bluetooth             643072  41 btrtl,btintel,btbcm,bnep,btusb,rfcomm
snd                    94208  19 snd_hda_codec_generic,snd_seq,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek,snd_timer,snd_pcm,snd_rawmidi
drm_kms_helper        245760  2 amdgpu,nouveau
cfg80211              884736  2 rtw89core,mac80211
rapl                   20480  0
input_leds             16384  0
cec                    53248  1 drm_kms_helper
soundcore              16384  1 snd
ecdh_generic           16384  1 bluetooth
serio_raw              20480  0
rc_core                61440  1 cec
ecc                    32768  1 ecdh_generic
i2c_algo_bit           16384  2 amdgpu,nouveau
wmi_bmof               16384  0
fb_sys_fops            16384  1 drm_kms_helper
hid_multitouch         28672  0
efi_pstore             16384  0
libarc4                16384  1 mac80211
syscopyarea            16384  1 drm_kms_helper
sysfillrect            16384  1 drm_kms_helper
sysimgblt              16384  1 drm_kms_helper
ccp                    98304  1 kvm_amd
ucsi_acpi              16384  0
typec_ucsi             40960  1 ucsi_acpi
typec                  57344  1 typec_ucsi
cm32181                16384  0
mac_hid                16384  0
industrialio           77824  1 cm32181
sch_fq_codel           20480  2
parport_pc             45056  0
ppdev                  24576  0
lp                     20480  0
parport                65536  3 parport_pc,lp,ppdev
drm                   552960  10 gpu_sched,drm_kms_helper,amdgpu,drm_ttm_helper,ttm,nouveau
ip_tables              32768  0
x_tables               49152  1 ip_tables
autofs4                45056  2
usbhid                 57344  0
hid_generic            16384  0
crc32_pclmul           16384  0
nvme                   45056  4
r8169                  77824  0
ahci                   40960  0
xhci_pci               20480  0
i2c_piix4              28672  0
libahci                36864  1 ahci
xhci_pci_renesas       20480  1 xhci_pci
nvme_core             122880  6 nvme
realtek                32768  1
wmi                    32768  3 wmi_bmof,mxm_wmi,nouveau
video                  49152  1 nouveau
i2c_hid_acpi           16384  0
i2c_hid                28672  1 i2c_hid_acpi
hid                   135168  4 i2c_hid,usbhid,hid_multitouch,hid_generic

Update 3 Now, when I want disable the module, I can't anymore if I use the wget solution :

sudo modprobe rtw89pci 
Erreur de segmentation (core dumped) # segmentation fault
sudo modprobe -r rtw89pci 
modprobe: FATAL: Module rtw89pci is in use.

sudo dmesg | grep rtw
[    7.872266] rtw89core: loading out-of-tree module taints kernel.
[    7.872448] rtw89core: module verification failed: signature and/or required key missing - tainting kernel
[    7.873775] rtw89_pci 0000:04:00.0: enabling device (0000 -> 0003)
[    7.873934] rtw89_pci 0000:04:00.0: Direct firmware load for rtw89/rtw8852a_fw.bin failed with error -2
[    7.873936] rtw89_pci 0000:04:00.0: failed to request firmware
[    7.894681] rtw89_pci 0000:04:00.0: failed to wait firmware completion
[    7.894750] rtw89_pci 0000:04:00.0: failed to setup chip information
[    7.895129] rtw89_pci: probe of 0000:04:00.0 failed with error -22
[...]
[  155.313699] rtw89_pci 0000:04:00.0: loading /lib/firmware/rtw89/rtw8852a_fw.bin failed with error -20
[  155.313702] rtw89_pci 0000:04:00.0: Direct firmware load for rtw89/rtw8852a_fw.bin failed with error -20
[  155.313704] rtw89_pci 0000:04:00.0: failed to request firmware
[  155.315633] rtw89_pci 0000:04:00.0: MAC has already powered on
[  155.318235] rtw89_pci 0000:04:00.0: failed to wait firmware completion
[  155.318238] rtw89_pci 0000:04:00.0: failed to setup chip information
[  155.318552] rtw89_pci: probe of 0000:04:00.0 failed with error -22
[  517.524409] rtw89_pci 0000:04:00.0: MAC has already powered on
[  517.526061] RIP: 0010:rtw89_fw_download+0x8f/0xd0 [rtw89core]
[  517.526098]  ? rtw89_pci_probe+0x811/0xb40 [rtw89pci]

Update 3 Same thing for the copy solution of the .bin (make) to the/lib/firmware/rtw89 :

sudo modprobe rtw89pci 
Erreur de segmentation (core dumped) # segmentation fault
sudo modprobe -r rtw89pci 
modprobe: FATAL: Module rtw89pci is in use.

sudo dmesg | grep rtw
[    2.980960] rtw89core: loading out-of-tree module taints kernel.
[    2.981072] rtw89core: module verification failed: signature and/or required key missing - tainting kernel
[    2.983024] rtw89_pci 0000:04:00.0: enabling device (0000 -> 0003)
[    2.983305] rtw89_pci 0000:04:00.0: Direct firmware load for rtw89/rtw8852a_fw.bin failed with error -2
[    2.983309] rtw89_pci 0000:04:00.0: failed to request firmware
[    2.990952] rtw89_pci 0000:04:00.0: failed to wait firmware completion
[    2.991009] rtw89_pci 0000:04:00.0: failed to setup chip information
[    2.991405] rtw89_pci: probe of 0000:04:00.0 failed with error -22
[...]
[  146.006476] rtw89_pci 0000:04:00.0: MAC has already powered on
[  146.008682] RIP: 0010:rtw89_fw_download+0x8f/0xd0 [rtw89core]
[  146.008697]  ? rtw89_pci_probe+0x810/0xb40 [rtw89pci]

Update 3 Disable the fast boot on Windows didn't work. I used a powercfg.exe /hibernate off to disable this mod ever (option disapear). But I tried to enable that to uncheck the option fast boot but it didn't change things.

Update 4 Ok I removed an error at the beggining of the session when I checked "Reset to setup mode" in the bios. But no wifi. After that, I reinstalled Ubuntu to be safe and I stay on the kernel 5.8.0.43 (there is 2 kernels with the 20.04 : 5.8.0.55 by default doesn't work, no boot).

integrity: Problem loading X.509 certificate -65

Update 5 Many peoples have the same problem (on arch mainly : no surprise because it didn't work on Manjaro). The conversation continue here (I continue to tell you if there are interessant news) : https://github.com/lwfinger/rtw89/issues/2

Update 6 The new version of rtw89 works very well for Ubuntu 20.04 and 21.04. Problem solved.

10
  • 1
    Try cd /lib/firmware && sudo mkdir rtw89 && sudo wget https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/rtw89/rtw8852a_fw.bin Then reboot
    – Jeremy31
    Jun 7 '21 at 12:04
  • Please try disabling fast boot in Windows: wireless.wiki.kernel.org/en/users/drivers/…
    – chili555
    Jun 7 '21 at 20:16
  • I just noticed that thhe driver code was just updated a few days ago. When did you download the driver source code?
    – chili555
    Jun 8 '21 at 13:29
  • the last commit. I tried the other just before but there is a problem with the compilation when I use the 5.8. Today I reinstall Ubuntu (to be safe) and I use the kernel 5.8 (official) Jun 8 '21 at 13:57
  • What result for locate rtw8852a_fw.bin
    – Jeremy31
    Jun 8 '21 at 14:30
3

The module that was built is called rtw89pci.

LD [M] /home/user/Documents/git/rtw89/rtw89pci.ko

Please try:

sudo modprobe rtw89pci

If your wireless doesn't start immediately, check the log:

sudo dmesg | grep rtw

And post the result.

EDIT: You are missing required firmware:

Direct firmware load for rtw89/rtw8852a_fw.bin failed with error -2

In addition to Jeremy’s excellent method in his comment above, I suggest:

sudo mkdir /lib/firmware/rtw89 
sudo cp ~/Documents/git/rtw89/rtw8852a_fw.bin /lib/firmware/rtw89 
sudo modprobe -r rtw89pci 
sudo modprobe rtw89pci

Is there any improvement?

0
0

The new version of rtw89 works very well for Ubuntu 20.04 and 21.04. Problem solved.

Not the answer you're looking for? Browse other questions tagged or ask your own question.