9

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.

11
  • 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, 2021 at 12:04
  • Please try disabling fast boot in Windows: wireless.wiki.kernel.org/en/users/drivers/…
    – chili555
    Jun 7, 2021 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, 2021 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, 2021 at 13:57
  • What result for locate rtw8852a_fw.bin
    – Jeremy31
    Jun 8, 2021 at 14:30

2 Answers 2

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.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .