Résolu le 11-12-20 Module pour carte wifi REALTEK rtl8821ce

Répondre
Avatar du membre
hichboule
Messages : 23
Enregistré le : jeu. 10 déc. 2020 00:01
Localisation : Saint Étienne

Module pour carte wifi REALTEK rtl8821ce

Message par hichboule »

Bonjour!
Cette fois, j'ai voulu installer LMDE4 sur un ordi de récup pour un ami : le portable LENOVO IdeaPad S145 (PC2 dans ma signature).
Malheureusement, il n'y a pas encore de pilote dans les dépots officiels pour la carte wifi. Après quelques essais infructueux, ou partiellement fructueux, je préfère vous demander de l'aide, ou au moins avoir l'avis de personnes plus compétentes que moi...


Quelques éléments de contexte, avant toute tentative :

Code : Tout sélectionner

lspci -nnkd ::0280
02:00.0 Network controller [0280]: Realtek Semiconductor Co., Ltd. RTL8821CE 802.11ac PCIe Wireless Network Adapter [10ec:c821]
Subsystem: Lenovo RTL8821CE 802.11ac PCIe Wireless Network Adapter [17aa:c024]

Code : Tout sélectionner

sudo lshw -C network
*-network NON-RÉCLAMÉ
description: Network controller
produit: Realtek Semiconductor Co., Ltd.
fabriquant: Realtek Semiconductor Co., Ltd.
identifiant matériel: 0
information bus: pci@0000:02:00.0
version: 00
bits: 64 bits
horloge: 33MHz
fonctionnalités: pm msi pciexpress cap_list
configuration: latency=0
ressources: portE/S:1000(taille=256) mémoire:f0a00000-f0a0ffff
*-network
description: Ethernet interface
identifiant matériel: 1
information bus: usb@1:1.4
nom logique: enx20c9d029d526
numéro de série: 20:c9:d0:29:d5:26
taille: 100Mbit/s
capacité: 100Mbit/s
fonctionnalités: ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=asix driverversion=22-Dec-2011 duplex=full firmware=ASIX AX88772 USB 2.0 Ethernet ip=192.168.1.77 link=yes multicast=yes port=MII speed=100Mbit/s


Je vous résume ci-dessous les différentes procédures que j'ai déjà suivies. Notez qu'à chaque essai, je recommence sur une installation fraiche depuis un live de LMDE4 sur clé USB (oui...). La clé n'étant pas vieille (quelques semaines), je ne fais pas d'upgrade. Le noyau est donc le 4.19.0-8.
Après cette listes d'essais, je vous pose deux-trois questions.

Mais avant voici une petite bibliographie...
1/ les pilotes trouvés sur github
- https://github.com/endlessm/linux/tree/ ... /rtl8821ce
- https://github.com/tomaspinho/rtl8821ce
- https://github.com/RangeeGmbH/rtl8821ce
- https://github.com/tangolee/Realtek-rtl ... nux-driver
- https://github.com/SarthakSG/Realtek-rt ... nux-Driver
2/ les sujets de forum que j'ai consultés
- https://forums.linuxmint.com/viewtopic. ... 9#p1501349
- https://askubuntu.com/questions/1071299 ... untu-18-04
- https://debian-facile.org/viewtopic.php?id=24292
- https://askubuntu.com/questions/990378/ ... -rtl8821ce
- (pour le secure boot) https://itadminguide.com/disable-secure-boot-in-ubuntu/


=== 1ER ESSAI ===

Code : Tout sélectionner

sudo apt-get update
sudo apt-get install --reinstall git dkms build-essential linux-headers-$(uname -r)
git clone https://github.com/tomaspinho/rtl8821ce
cd rtl8821ce
chmod +x dkms-install.sh
chmod +x dkms-remove.sh
sudo ./dkms-install.sh

=== 2E ESSAI ===

J'ai débord téléchargé et décompressé le pilote de Tomas Pinho, puis :

Code : Tout sélectionner

sudo apt-get update
sudo apt-get install --reinstall dkms build-essential linux-headers-$(uname -r) dc module-assistant
sudo m-a prepare
cd /home/moi/Téléchargements
sudo mv rtl8821ce-master /usr/src/rtl8821ce
cd /usr/src/rtl8821ce
sudo ./dkms-install.sh
Lors de ces 2 premiers essais, dkms semble fonctionner normalement, pas d'erreurs reportées. Au redémarrage cependant, toujours pas de wifi...


=== 3E ESSAI ===

Après avoir téléchargé et décompressé le driver de tangolee :

Code : Tout sélectionner

sudo mv /home/moi/Téléchargements/Realtek-rtl8821ce-linux-driver-master /usr/src/rtl8821ce
cd /usr/src/rtl8821ce
sudo apt-get update
sudo apt-get install --reinstall dkms build-essential linux-headers-$(uname -r) dc module-assistant
sudo m-a prepare
sudo ./dkms-install.sh
Je reçois le message d'erreur suivant :

About to run dkms install steps...
Error! Could not locate dkms.conf file.
File: /usr/src/rtl8821ce-1.0.0/dkms.conf does not exist.
Error! Could not locate dkms.conf file.
File: /usr/src/rtl8821ce-1.0.0/dkms.conf does not exist.
Error! Could not locate dkms.conf file.
File: /usr/src/rtl8821ce-1.0.0/dkms.conf does not exist.
Finished running dkms install steps.


En effet tangolee ne fournit pas de dkms.conf...


=== 4E ESSAI ===

Changement de stratégie : essayer make plutôt que dkms.
Après avoir téléchargé le driver de endlessm via https://minhaskamal.github.io/DownGit/# ... /rtl8821ce :

Code : Tout sélectionner

cd /home/moi/Téléchargements
sudo mv rtl8821ce /usr/src
cd /usr/src/rtl8821ce
sudo nano Makefile
--> changer "export TopDIR ?= $(srctree)/$(src)" en "export TopDIR ?= $ /usr/src/rtl8821ce"

Code : Tout sélectionner

make
message d'erreur :

make ARCH=x86_64 CROSS_COMPILE= -C /lib/modules/4.19.0-8-amd64/build M=/usr/src/rtl8821ce modules
make[1] : on entre dans le répertoire « /usr/src/linux-headers-4.19.0-8-amd64 »
/usr/src/rtl8821ce/Makefile:2166: /usr/src/linux-headers-4.19.0-8-common//usr/src/rtl8821ce/rtl8821c.mk: Aucun fichier ou dossier de ce type
make[4]: *** Aucune règle pour fabriquer la cible « /usr/src/linux-headers-4.19.0-8-common//usr/src/rtl8821ce/rtl8821c.mk ». Arrêt.
make[3]: *** [/usr/src/linux-headers-4.19.0-8-common/Makefile:1537: _module_/usr/src/rtl8821ce] Error 2
make[2]: *** [Makefile:146: sub-make] Error 2
make[1]: *** [Makefile:8: all] Error 2
make[1] : on quitte le répertoire « /usr/src/linux-headers-4.19.0-8-amd64 »
make: *** [Makefile:2237: modules] Error 2



=== 5E ESSAI ===

Je réessaie avec le driver de tangolee :

Code : Tout sélectionner

cd /usr/src/rtl8821ce
sudo nano Makefile
--> changer "export TopDIR ?= $(srctree)/$(src)" en "export TopDIR ?= $ /usr/src/rtl8821ce"

Code : Tout sélectionner

make
La commande make compile quelques fichiers puis se termine sur ce message d'erreur :

CC [M] /usr/src/rtl8821ce/os_dep/linux/rtw_android.o
In file included from /usr/src/rtl8821ce/include/drv_types.h:35,
from /usr/src/rtl8821ce/os_dep/linux/rtw_android.c:25:
/usr/src/rtl8821ce/include/wifi.h:1019: warning: "IEEE80211_MAX_AMPDU_BUF" redefined
#define IEEE80211_MAX_AMPDU_BUF 0x40

In file included from /usr/src/rtl8821ce/include/osdep_service_linux.h:86,
from /usr/src/rtl8821ce/include/osdep_service.h:48,
from /usr/src/rtl8821ce/include/drv_types.h:32,
from /usr/src/rtl8821ce/os_dep/linux/rtw_android.c:25:
/usr/src/linux-headers-4.19.0-8-common/include/linux/ieee80211.h:1442: note: this is the location of the previous definition
#define IEEE80211_MAX_AMPDU_BUF 0x100

/usr/src/rtl8821ce/os_dep/linux/rtw_android.c: In function ‘rtw_android_priv_cmd’:
/usr/src/rtl8821ce/os_dep/linux/rtw_android.c:629:49: error: macro "access_ok" requires 3 arguments, but only 2 given
if (!access_ok(priv_cmd.buf, priv_cmd.total_len)) {
^
/usr/src/rtl8821ce/os_dep/linux/rtw_android.c:629:7: error: ‘access_ok’ undeclared (first use in this function)
if (!access_ok(priv_cmd.buf, priv_cmd.total_len)) {
^~~~~~~~~
/usr/src/rtl8821ce/os_dep/linux/rtw_android.c:629:7: note: each undeclared identifier is reported only once for each function it appears in
make[4]: *** [/usr/src/linux-headers-4.19.0-8-common/scripts/Makefile.build:309: /usr/src/rtl8821ce/os_dep/linux/rtw_android.o] Error 1
make[3]: *** [/usr/src/linux-headers-4.19.0-8-common/Makefile:1537: _module_/usr/src/rtl8821ce] Error 2
make[2]: *** [Makefile:146: sub-make] Error 2
make[1]: *** [Makefile:8: all] Error 2
make[1] : on quitte le répertoire « /usr/src/linux-headers-4.19.0-8-amd64 »
make: *** [Makefile:1902: modules] Error 2


Et si je tente

Code : Tout sélectionner

sudo make install
message d'erreur aussi:

install -p -m 644 8821ce.ko /lib/modules/4.19.0-8-amd64/kernel/drivers/net/wireless/
install: impossible d'évaluer '8821ce.ko': Aucun fichier ou dossier de ce type
make: *** [Makefile:1908: install] Error 1



=== 6E ESSAI ===

J'essaie finalement avec le pilote de SarthakSG, qui a aussi un Makefile.

Code : Tout sélectionner

sudo mv /home/moi/Téléchargements/Realtek-rtl8821ce-linux-driver-master /usr/src/rtl8821ce
cd /usr/src/rtl8821ce
sudo nano Makefile
--> changer "export TopDIR ?= $(srctree)/$(src)" en "export TopDIR ?= $ /usr/src/rtl8821ce"

Code : Tout sélectionner

make
et ça marche jusqu'au bout !

Code : Tout sélectionner

sudo make install
Ca marche aussi !

Code : Tout sélectionner

sudo modprobe -a 8821ce
Et là, problème :

modprobe: ERROR: could not insert '8821ce': Required key not available



=== Mes questions : ===

1/ L'échec de chargement du module (6e essai) est-il bien dû, comme je le suppose, au secure boot ? Ou y a-t-il un problème de firmware ? Ou autre chose ?

2/ Si c'est bien le secure boot, quelqu'un peut-il m'aider soit à le désactiver, soit à signer mon module ? Je commence à fatiguer un peu, et là ça a l'air chelou : j'ai essayé de suivre le sujet https://itadminguide.com/disable-secure-boot-in-ubuntu/ mais ça marche pas pareil chez moi visiblement. A noter que j'utilise déjà gnupg pour mes mails, peut-être ça va m'aider à comprendre la signature de module ?

3/ Alternativement, si quelqu'un comprend quelque choses aux échecs des autres essais, je veux bien reprendre là !

4/ En dernier recours, il semblerait qu'il existe dans les dépôts d'ubuntu un paquet "rtl8821ce-dkms". Je fais encore quelques essais avec LDME, j'attends votre retour, et puis sinon je tenterais ensuite une installation de Mint20, peut-être aurai-je plus de succès... Non ?


Merci beaucoup d'avoir lu jusqu'au bout !!! Et désolé c'est un peu indigeste peut-être...
Au plaisir de lire vos retours ! (mais pas avant demain soir, je m'en vais).
Hichboule Le Guerrec

PC1 : MacBookPro5,5 | Intel Core2 Duo P7550 | 8Go RAM | NVIDIA C79 (Tesla, GeForce 9400M) | distro: LMDE 7 | noyau: 6.12.63+deb13-amd64 | bureau: Cinnamon 6.6.5
PC1 avant upgrade : LMDE 6 | 6.1.0-18-amd64 | Cinnamon 6.0.1
Avatar du membre
hichboule
Messages : 23
Enregistré le : jeu. 10 déc. 2020 00:01
Localisation : Saint Étienne

Re: Module pour carte wifi REALTEK rtl8821ce

Message par hichboule »

Salut Cyrille !
Merci beaucoup pour ta réponse !
Desactiver au préalbale le secure boot (c'est dans le Bios)
Effectivement, en 30s j'ai désactivé le secure boot depuis le menu du BIOS. Je n'avais même pas pensé à y regarder, ça paraît pourtant évident... quand on a le nez dedans...
Ensuite tu as mis un sacré souk en multipliant les tentatives avec un mélange de dkms, de modprobe de sources diverses et variées.
Je te recommanderai de repartir sur une install propre sinon ça va interférer de partout
Oui bien sûr ! En fait, comme je l'écris au début du post, je suis reparti d'une install propre ENTRE CHAQUE TENTATIVE...
Du coup c'est le module de SarthakSG qui était installé quand j'ai désactivé le secure boot : il marche très bien.
J'imagine que ça risque de foirer dès la première mise à jour du noyau. Si c'est le cas, je le virerai et mettrai celui de tomaspinho avec dkms.

Bonne soirée, et encore merci beaucoup !
Hichboule Le Guerrec

PC1 : MacBookPro5,5 | Intel Core2 Duo P7550 | 8Go RAM | NVIDIA C79 (Tesla, GeForce 9400M) | distro: LMDE 7 | noyau: 6.12.63+deb13-amd64 | bureau: Cinnamon 6.6.5
PC1 avant upgrade : LMDE 6 | 6.1.0-18-amd64 | Cinnamon 6.0.1
Avatar du membre
alain
Administrateur du site
Messages : 17180
Enregistré le : dim. 11 oct. 2015 23:41
Localisation : Chelles
Contact :

Re: Module pour carte wifi REALTEK rtl8821ce

Message par alain »

Bonjour.

Sujet archivé (en lecture seule) car résolu.
Si besoin de rouvrir faire un MP à un membre de l'équipe ;)
Слава Україні _ слава героям махновщини
PC1 : CM : ASRock 990FX | CPU: AMD FX 8350-8 cores, 4 GHz | RAM: 16 Go DDR3 1600 MHz | CG: GTX 1080TI-11 Go | OS : LM 22 Xfce 4.18 | K: 6.8
PC2
:Core2 Quad Q9650 @ 3 GHz | CG: Nvidia GTX 650TI | OS: LM 22 Wilma Xfce 4.18| K: 6.8
PC3 :Core i7-2600 @ 3,5 GHz | CG: ATI HD 4650 | OS: Emmade5 Xfce 4.18.0 | K: 6.1
PC4 : AMD Ryzen 5 3500X 4GHz | CG: GTX 970 | Ram : 8GB |OS : Debian 12.8 | K: 6.1
In a world without walls and fences, who needs windows and gates?
Répondre