J'ai un problème sur mon nouveau Lenovo Legion 5 Pro 16ach6 avec sa carte wifi : Realtek RTL8852AE - PCIe 2.0 avec ubuntu 20.04 et le noyau 5.12.9 (il fonctionne sous Windows 10).
J'ai suivi ce sujet : Pilote réseau pour Realtek 8852 20.10 mais Modeprobe ne trouve pas le module "rtw_8723de" (qui n'existe pas, je pense que c'est une erreur par rapport au dépôt rtw88) et les 2 .ko créés ne fonctionnent pas : rtw89core.ko ou rtw89pci.ko (on peut le voir dans le lspci).
J'ai essayé différents noyaux comme 5.8, 5.11, 5.12 mais j'ai le même problème. Ubuntu 20.04, 21.04, le dernier Manjaro avec gnome... Je pense que c'est ok dans le bios : j'ai désactivé secure boot et une protection AMD pour le CPU et aucun résultat ! Il y a une option avec des graphiques "discrets" et "dynamiques" mais à part un choix entre le chipset graphique AMD et la carte vidéo NVIDIA, je n'ai aucune différence.
Lorsque j'essaie cette solution : https://github.com/lwfinger/rtw89 J'ai ceci :
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
Quelques informations :
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
Mise à jour Le journal :
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
Mise à jour J'ai un double démarrage UEFI avec des partitions EFIs (je démarre sur Ubuntu EFI avec Grub). Le mode hibernation est désactivé sur Windows et j'éteins avec le mode redémarrage pour cela. Informations bios :
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
Mise à jour J'ai aussi essayé cette solution :
echo "blacklist ideapad_laptop" | sudo tee /etc/modprobe.d/ideapad.conf
Mise à jour Au démarrage d'Ubuntu, j'ai ces messages (rapidement) :
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
Mise à jour 2 J'ai essayé toutes ces méthodes mais pas de 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
Mise à jour 3 Maintenant, lorsque je veux désactiver le module, je ne peux plus le faire si j'utilise la solution wget :
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]
Mise à jour 3 Même chose pour la solution de copie du .bin (make) vers le fichier/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]
Mise à jour 3 Désactiver le démarrage rapide sur Windows n'a pas fonctionné. J'ai utilisé un powercfg.exe /hibernate off
pour désactiver ce mod à jamais (option disapear). Mais j'ai essayé d'activer cette option pour décocher l'option fast boot mais ça n'a rien changé.
Mise à jour 4 Ok j'ai supprimé une erreur au début de la session quand j'ai coché "Reset to setup mode" dans le bios. Mais pas de wifi. Après cela, j'ai réinstallé Ubuntu par sécurité et je reste sur le noyau 5.8.0.43 (il y a 2 noyaux avec la 20.04 : 5.8.0.55 par défaut ne fonctionne pas, pas de démarrage).
intégrité : Problème de chargement du certificat X.509 -65
Mise à jour 5 Beaucoup de personnes ont le même problème (sur arch principalement : pas de surprise car cela ne fonctionnait pas sur Manjaro). La conversation continue ici (je continue à vous informer s'il y a des nouvelles intéressantes) : https://github.com/lwfinger/rtw89/issues/2
Mise à jour 6 La nouvelle version de rtw89 fonctionne très bien pour Ubuntu 20.04 et 21.04. Problème résolu.