Wifi sur laptop HP Pavilion

Tags: #<Tag:0x00007efedb43cef8>

Hello,

Je viens d’installer Debian 9 sur mon nouveau laptop, un HP Pavilion 15-cs1017nf et le chipset wifi (Realtek 8821CE) n’est pas détecté.

Voila la ligne intéressante de lspci (après avoir installé firmware-realtek):

Network controller: Realtek Semiconductor Co., Ltd. RTL8821CE 802.11ac PCIe Wireless Network Adapter

Par contre ip a ne me renvoie que ça:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
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> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
link/ether e4:e7:49:3c:9a:08 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.12/24 brd 192.168.1.255 scope global dynamic eno1
valid_lft 86112sec preferred_lft 86112sec

J’ai vu que pas mal de personnes avaient résolu le problème sous Ubuntu en recompilant le driver, j’ai donc fait ceci:

sudo apt-get install linux-headers-generic build-essential git
git clone https://github.com/abperiasamy/rtl8812A … _linux.git
cd rtl8812AU_8821AU_linux
make
sudo make install
sudo modprobe rtl8812au

Je peux compiler le module et même le charger apparemment sans problème, voici la sortie de dmesg suite au modprobe rtl8812au:

[ 108.830907] rtl8812au: loading out-of-tree module taints kernel.
[ 108.836981] RTL871X: module init start
[ 108.836983] RTL871X: rtl8812au v4.3.14_13455.20150212_BTCOEX20150128-51
[ 108.836983] RTL871X: rtl8812au BT-Coex version = BTCOEX20150128-51
[ 108.837035] usbcore: registered new interface driver rtl8812au
[ 108.837036] RTL871X: module init ret=0

Mais malgré ça les sorties de iwconfig et ip -a ne changent pas et je ne vois toujours pas d’interface wifi.

Si quelqu’un pourrait me guider ça serait sympa…

Merci, Vincent.

En lisant ça j’ai l’impression que c’est pas gagné:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=917941

Question bête: compiler un noyau 5.x pourrait elle être une bonne idée ?

Bonjour Vinz

rtl8812au est un module différent de rtl8821ce. (voir en bas)
Ni rtl8812au ou rtl8821au n’est un bon module pour piloter ton matériel Wifi et Bluetooth.
rtl8821ce doit être le bon module.

Je ne crois pas ; du moins pas tel quel, sans le correctif :

rem@n73sm ~/Téléchargements/linux-5.0.10 $ find . -name "*8821*" -print
./drivers/net/wireless/realtek/rtlwifi/rtl8821ae
./drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a2ant.h
./drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a2ant.c
./drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a1ant.h
./drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a1ant.c
rem@n73sm ~/Téléchargements/linux-5.0.10 $ 

https://github.com/endlessm/linux/tree/master/drivers/net/wireless/rtl8821ce
(Le correctif pour le noyau 5.0 ; si je ne fais pas d’erreur)

J’ai trouvé aussi : https://github.com/tomaspinho/rtl8821ce
qui comporte un risque de plantage ou de dysfonctionnement.

This repository hosts the code for the ArchLinux AUR Package. It’s targetting Linux > 4.14 and is being developed for ArchLinux and Ubuntu 18.10. No support will be provided for other Linux distributions or Linux Kernel versions outside of that range.

Ce référentiel héberge le code du paquet ArchLinux AUR. Il cible Linux > 4.14 et est développé pour ArchLinux et Ubuntu 18.10. Aucun support ne sera fourni pour d’autres distributions Linux ou versions du noyau Linux en dehors de cette plage.


https://www.realtek.com/en/products/communications-network-ics/item/rtl8821au
« USB2.0 for WLAN and BT controller »
https://www.realtek.com/en/products/communications-network-ics/item/rtl8812au
« USB3.0 for WLAN controller »
https://www.realtek.com/en/products/communications-network-ics/item/rtl8821ce
« PCI Express 1.1 for WLAN controller + USB2.0 for Bluetooth controller»

Merci r2mi pour ton retour mais j’avoue ne pas comprendre pourquoi tu dis que rtl8821ce n’est pas un module.

Encore une question bête: une fois que le module du chipset wifi est bien chargé, je me plains du fait que ça ne change rien au niveau de la sortie de iwconfig ou ip -a mais n’y aurait-t-il pas quelque chose à faire en plus, comme par ex monter l’interface réseau ? J’ai essayé des choses comme ip set dev wlan0 up mais évidemment le nom du périphérique n’est pas bon…

Salut
que dit

lspci -nnk | grep -i net -A2

Et en effet pomper une méthode qui concernait 8812au doit au minimum être adaptée pour 8821CE

https://randomwalker.blog/install-realtek-8821ce-driver-in-ubuntu-18-04/

1 J'aime

J’ai reformulé.

Ni rtl8812au ou rtl8821au n’est un bon module pour piloter ton matériel Wifi et Bluetooth.
rtl8821ce doit être le bon module.

Merci pour vos retours.

En fait le driver (que j’ai chopé ici) s’appelle: rtl8812AU_8821AU linux kernel driver for AC1200 (801.11ac) Wireless Dual-Band USB Adapter.

J’ai cru comprendre que chipset fait à la fois Bluetooth (en USB) et Wifi (en PCIe). C’est peut-être à cause de ça que c’est un peu le bordel au niveau des noms…

En tout il m semble bien que la compilation ne gérait qu’un seul module qui s’appelait donc rtl8812au. Voila pourquoi j’ai chargé ce module et non pas rtl8821au, mais je revérifierai ce soir quand je serai devant mon laptop…

J’en profiterai pour vous donner la sortie de lspci -nnk | grep -i net -A2 et surtout je tenterai d’utiliser ce driver qui m’a l’air bien mieux puisqu’il semble générer un module avec le bon nom (rtl8821au), merci donc pour le lien. Par contre je sais pas trop si’il vaut mieux rester sur le kernel fourni avec Stretch (4.9) ou si je ferais mieux d’upgrader vers la dernière version 4.x (voir 5.x).

Je suis désolé mais tu t’égares Vinz.
« ce driver » est un correctif pour le noyau 5.0 pour y inclure le module rtl8821ce

grandtoubab vient de donner précédemment une vraie piste pour obtenir le module rtl8821ce
Ce module rtl8821ce dont tu as besoin.

On y verra plus clair avec la sortie de lspci -nnk | grep -i net -A2

J’avoue que je suis un peu perdu avec tous ces répos git et je crois effectivement que je me suis un peu égaré :slightly_smiling_face:

Sans parler que je n’ai plus eu la joie de galérer avec le kernel et les drivers depuis une petite dizaine d’années, mon dernier laptop sous Debian ayant parfaitement fonctionné pendant près de 10 ans (il est toujours en vie d’ailleurs, mais à son âge les ventilos sont évidemment insupportables).

Bon reprenons depuis le début.

Déjà voici le résultat de lspci -nnk | grep -i net -A2:

03:00.0 Network controller [0280]: Realtek Semiconductor Co., Ltd. RTL8821CE 802.11ac PCIe Wireless Network Adapter [10ec:c821]
Subsystem: Hewlett-Packard Company Device [103c:831a]
04:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 15)
Subsystem: Hewlett-Packard Company RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [103c:84c1]
Kernel driver in use: r8169
Kernel modules: r8169

J’ai essayé de compiler le drivers sur le répo de tomaspinho qui revient souvent dans les discussions.

J’ai d’abord eu l’erreur à cause de linux/sched/signal.h manquant, j’ai donc enlevé le répertoire sched pour que ça passe.

Maintenant j’ai l’erreur suivante:

make ARCH=x86_64 CROSS_COMPILE= -C /lib/modules/4.9.0-9-amd64/build M=/root/rtl8821ce modules
make[1] : on entre dans le répertoire « /usr/src/linux-headers-4.9.0-9-amd64 »
CC [M] /root/rtl8821ce/core/rtw_cmd.o
In file included from /root/rtl8821ce/include/osdep_service.h:48:0,
from /root/rtl8821ce/include/drv_types.h:32,
from /root/rtl8821ce/core/rtw_cmd.c:22:
/root/rtl8821ce/include/osdep_service_linux.h: In function ‘_init_timer’:
/root/rtl8821ce/include/osdep_service_linux.h:294:2: error: implicit declaration of function ‘timer_setup’ [-Werror=implicit-function-declaration]

Mais avant de partir dans une lutte sans fin je me demande s’il ne faudrait pas mieux que je trouve un autre répo, ou que j’upgrade mon kernel (dernière version stable 4.x?), le kernel 4.9 de Stretch n’était pas très récent…

Avec certains matériels c’est plutôt “amusant” (si on veut)

On voit bien :

  1. c’est un RTL8821CE
  2. Il n’est pas piloté (aucun Kernel driver in use ou Kernel modules)

Il y a plus simple ; Va à :

Et essaie la deuxième réponse qui dispose de 11 avis positifs.
Elle reprend autrement le dépôt de tomaspinho.
Je la modifie un peu ici :

# Try that from your home directory
git clone https://github.com/tomaspinho/rtl8821ce.git
cd rtl8821ce/
sudo make all
sudo modprobe 8821ce.ko
sudo dmesg
sudo ifconfig -a
sudo iwconfig
# sudo make install # à faire si ton interface Wireless apparaît
# sudo modprobe -a 8821ce # à faire si besoin (module pas chargé) quand le make install est fait.

Je ne vois en quoi la méthode diffère, j’ai moi aussi juste fait un clone de ce répo et simplement lancer la compil… tout pareil ! Et donc je retombe évidemment sur les mêmes soucis…

Excuse-moi, je croyais que ces dépôts donnaient des .git différents.
J’ai compilé sans problème avec mon poste de travail sous Gentoo (4.14.83)
Je m’aperçois maintenant qu’avec mon micro serveur Debian 9.8 (4.9.0-9), j’ai les mêmes erreurs :

rem@n40l:~/rtl8821ce$ sudo make all
[sudo] Mot de passe de rem : 
make ARCH=x86_64 CROSS_COMPILE= -C /lib/modules/4.9.0-8-amd64/build M=/home/rem/rtl8821ce  modules
make[1] : on entre dans le répertoire « /usr/src/linux-headers-4.9.0-8-amd64 »
  CC [M]  /home/rem/rtl8821ce/core/rtw_cmd.o
In file included from /home/rem/rtl8821ce/include/drv_types.h:32:0,
                 from /home/rem/rtl8821ce/core/rtw_cmd.c:22:
/home/rem/rtl8821ce/include/osdep_service.h:47:33: fatal error: linux/sched/signal.h: Aucun fichier ou dossier de ce type
  #include <linux/sched/signal.h>
                                 ^
compilation terminated.
/usr/src/linux-headers-4.9.0-8-common/scripts/Makefile.build:309 : la recette pour la cible « /home/rem/rtl8821ce/core/rtw_cmd.o » a échouée
make[4]: *** [/home/rem/rtl8821ce/core/rtw_cmd.o] Erreur 1
/usr/src/linux-headers-4.9.0-8-common/Makefile:1546 : la recette pour la cible « _module_/home/rem/rtl8821ce » a échouée
make[3]: *** [_module_/home/rem/rtl8821ce] Erreur 2
Makefile:152 : la recette pour la cible « sub-make » a échouée
make[2]: *** [sub-make] Erreur 2
Makefile:8 : la recette pour la cible « all » a échouée
make[1]: *** [all] Erreur 2
make[1] : on quitte le répertoire « /usr/src/linux-headers-4.9.0-8-amd64 »
Makefile:1902 : la recette pour la cible « modules » a échouée
make: *** [modules] Erreur 2
rem@n40l:~/rtl8821ce$

Oui, la version du noyau est peut-être à prendre en compte.

Je suis aussi perdu que toi. sinon plus.
J’ai la conviction que c’est le module rtl8821ce qui fera fontionner ton Wifi + BT
C’est bizarre de ne pas pouvoir le trouver plus facilement.

https://bbs.archlinux.org/viewtopic.php?pid=1746085#p1746085 (2017-10-30 21:38:05)

Driver from endlessm works for me ( ThinkPad E470, RTL 8821CE ).
Original link => https://unix.stackexchange.com/a/400259 (edited Apr 12 '18 at 11:46)

Worked solution (Requirements: kernel >=4.11) :
( UPD: In the latest release of endlessm you need kernel version 4.15 )

Download driver directory from this repo: https://github.com/endlessm/linux/tree/ … /rtl8821ce
You can do it by this link: https://minhaskamal.github.io/DownGit/# … /rtl8821ce

  1. Unpack zip archive.
  2. Change the Makefile. Line “export TopDIR ?= …” to export “TopDIR ?= PATH TO EXTRACTED DIRECTORY”.
  3. make
  4. sudo make install
  5. sudo modprobe -a 8821ce

Pour la prise en charge du Bluetooth, c’est pas certain.

Ok ce soir j’essayerai ça.

Mais j’imagine que j’aurai encore des soucis de compilation, ne serait ce que parce qu’il faut visiblement un kernel >= 4.11 (voir >=4.15) et que je suis qu’avec le kernel de base de Stretch donc en 4.9.

Bon après je n’ai pas spécialement envie de me taper une compilation de kernel, je me sens trop vieux pour cela :wink:

Mais finalement peut-être que la meilleure stratégie serait de me refaire une installation réseau mais en mettant Debian testing ou unstable sur la clé USB. A terme je veux rester en stable, mais je pourrais au début utiliser Buster en unstable puis passer en stable lorsque Buster serait sortie (j’imagine que cela devrait se faire dans les prochaines semaines ou mois vu que la période de freeze a déjà commencée).

Debian testing et unstable ont tous les 2 le kernel 4.19. Je peux espérer qu’avec celui ci j’aurai directement le module rtl8821ce, et si c’est pas le cas j’imagine que je pourrai au moins le compiler plus facilement à partir des différents répos Git.

Oui, j’ai testé la compil sous kernel 4.9 de ma Stretch et c’est pas bon, ça plante :frowning:

Tu es dans le vrai ; et j’espère aussi pour un Bluetooth fonctionnel :slight_smile:

pour tester le noyau 5 on peut utiliser facilement le liquorix

uname -a
Linux debian 5.0.0-10.1-liquorix-amd64 #1 ZEN SMP PREEMPT liquorix 5.0-10.1~sid (2019-04-28) x86_64 GNU/Linux

pour compiler il faudra ajouter le header linux-headers-5.0.0-10.1-liquorix-amd64/

Après une installation de Buster tout se passe beaucoup mieux et la compilation du driver (de tomaspinho) se passe sans problème… et j’ai enfin mon interface wifi, bref tout marche bien ! :grinning:

1 J'aime

Merci pour l’info… mais j’espère ne pas en avoir besoin avec le kernel 4.19 de Buster, on verra bien avec les autres soucis (pas de son en premier lieu). Mais déjà le wifi c’était LE truc de base…

Bonjour à tous
je me suis servi de ce topic pour régler mon problème de pilote sur rtl8821ce sur un AsusVivobook 17.
La procédure suivante a été utile, mais incomplète dans mon cas:

git clone https://github.com/tomaspinho/rtl8821ce.git
cd rtl8821ce/
sudo make all
sudo modprobe 8821ce.ko
sudo dmesg
sudo ifconfig -a
sudo iwconfig

La solution complémentaire que j’ai appliquée est la suivante:
entrer dans le BIOS au moment du boot, et purger les ‹ KEYS › stockées par l’UEFI.
après purge et reboot, mon wifi est opérationnel.

Bonjour laprune04

Bienvenue sur ce forum

Et merci pour ces information :grinning: