Le Wi-Fi ne fonctionne pas sur Lenovo ThinkPad E570 (Realtek RTL8821CE)

19

Nous venons d'acheter un Lenovo ThinkPad E570 (qui est censé avoir l'Intel 8265 pour le sans fil). Cet ordinateur portable a été acheté en partie parce qu'il est certifié pour exécuter Ubuntu et en tant que tel, au moins, il serait logique que les choses fonctionnent hors de la boîte ... mais pas de chance.

Tout d'abord, j'ai installé Ubuntu 17.10 et après l'installation, j'ai réalisé que le Wi-Fi ne fonctionnait pas. J'ai également essayé Ubuntu 16.04 à partir d'une clé USB car c'est la version d'Ubuntu pour laquelle il est certifié, mais pas de chance non plus.

La puce sans fil n'est pas détectée par lshw(ou même lspcipar son apparence), ip linkn'affiche pas d'interface sans fil et le iwlwifimodule du noyau n'est pas chargé au démarrage (je peux le charger moi-même en utilisant modprobe iwlwifimais cela ne fait pas fonctionner le Wi-Fi) . Je pense que c'est une puce Wi-Fi / Bluetooth combinée, et Bluetooth semble fonctionner (ou du moins Bluetooth apparaît dans Gnome et rfkill list).

modinfo iwlwifi | grep 8265me montre qu'un fichier se terminant par -34 est censé être chargé mais que seul un fichier se terminant par -33 (et quelques autres nombres inférieurs) est présent dans /lib/firmware, si cela aide).

J'ai également installé le noyau Linux 4.14.9 pour tenter de faire fonctionner les choses, mais cela n'a pas non plus résolu le problème.

Plus d'informations

root@ThinkPad-E570:~# modinfo iwlwifi | grep 8265
firmware:       iwlwifi-8265-34.ucode
root@ThinkPad-E570:~# rfkill list all
0: tpacpi_bluetooth_sw: Bluetooth
    Soft blocked: no
    Hard blocked: no
1: hci0: Bluetooth
    Soft blocked: no
    Hard blocked: no
root@ThinkPad-E570:~# dmesg | grep iwl
root@ThinkPad-E570:~# lspci -nnk | grep 0280 -A3
05:00.0 Network controller [0280]: Realtek Semiconductor Co., Ltd. Device [10ec:c821]
    Subsystem: Lenovo Device [17aa:c024]

Mettre à jour

Je viens de remarquer que l'ordinateur portable n'a pas du tout de puce Intel sans fil, mais en fait en a une Realtek ... ce qui signifie que les spécifications présentées sur la page produit de la boutique où j'ai acheté cet ordinateur portable n'étaient pas précises ... Soupir. Le même problème se pose, cependant, juste avec une puce sans fil plus folle.

RobinJ
la source
1
Pour les futurs Googleurs, je voudrais noter que la réponse choisie fonctionne également sur Linux Mint 19.1
LondonRob
Le site Web de Lenovo spécifie qu'il possède une carte WiFi Intel, donc si vous l'avez achetée d'occasion, vous avez une plainte contre la boutique. Voir les liens Web ajoutés ci-dessus pour confirmation.
K7AAY
1
Cela a fonctionné pour moi youtube.com/watch?v=vPfLVsyQU_A
Dagang
merci @Dagang, vous avez sauvé mes heures. Je l'ai essayé sur lenovo ideapad 130 15ikb.
Hridaynath du

Réponses:

17

Tout d'abord, je dirais que ces instructions sont plus susceptibles de fonctionner avec Ubuntu 17.10. Si vous ne l'exécutez pas actuellement, je vous suggère de le réinstaller.

Cliquez sur ce lien pour télécharger le fichier du pilote: https://minhaskamal.github.io/DownGit/#/home?url=https://github.com/endlessm/linux/tree/master/drivers/net/wireless/rtl8821ce

Sauf indication contraire de votre navigateur, les téléchargements vont dans le répertoire Téléchargements . Ouvrez un terminal et faites:

cd ~/Downloads
unzip rtl8821ce.zip
cd rtl8821ce
nano Makefile

Faites défiler jusqu'à la ligne 152 et modifiez la ligne qui se lit maintenant:

export TopDIR ?= $(srctree)/drivers/net/wireless/rtl8821ce

A lire maintenant:

export TopDIR ?= $ ~/Downloads/rtl8821ce

Relisez attentivement, deux fois, et enregistrez (Ctrl + o suivi par Entrée) et fermez (Ctrl + x) l'éditeur de texte.

Maintenant, faites:

make
sudo make install
sudo modprobe 8821ce

Votre réseau sans fil devrait maintenant fonctionner.

EDIT: Vous avez compilé le module uniquement pour votre version de noyau en cours d'exécution. Lorsque Update Manager propose une version de noyau ultérieure, connue sous le nom de linux-image, après le redémarrage demandé, vous devez recompiler:

cd rtl8821ce
make clean
make
sudo make install
sudo modprobe 8821ce

Veuillez conserver le fichier et ces instructions pendant cette période.

chili555
la source
C'est ce que j'ai trouvé hier aussi et cela a fonctionné :) Une chose qui m'intéresse est de savoir si cela continuera à fonctionner sur les mises à jour du noyau.
RobinJ
Très bonne prise! Veuillez voir ma modification ci-dessus dans quelques instants.
chili555
après avoir édité le fichier, j'ai essayé d'exécuter la commande make, mais cela me donne une erreur. j'exécute le "make" dans le répertoire "rtl8821ce", l'erreur est / bin / sh: 1 cc: introuvable. Une idée . Est-ce qu'un utilitaire par défaut est fourni avec le système d'exploitation?
DILEEP THOMAS
@DILEEPTHOMAS Veuillez commencer votre propre nouvelle question.
chili555
Pour moi, éditer le fichier n'était pas nécessaire. Il suffit de télécharger l'installation de compilation du pilote et d'activer le mod là où c'est suffisant. Merci!!!
Diego Andrés Díaz Espinoza
17

Ceci est un suivi de Stason de réponse qui suggère d' utiliser DKMS .

Pour autant que je sache, au moment de la rédaction de ce document, il n'y a pas encore de pilote Wifi pour le Realtek RTL8821CE dans les référentiels Ubuntu officiels.

Sur github, il y a un référentiel avec un pilote RTL8821CE destiné aux noyaux 4.14 et supérieurs et spécifiquement pour Arch Linux sans aucun support fourni pour d'autres Distros Linux: https://github.com/tomaspinho/rtl8821ce

(Note mineure: à partir de février 2019, Tomaspinho n'est malheureusement plus en mesure de maintenir le pilote car il n'a plus accès à un ordinateur avec ce chipset, et donc un nouveau responsable peut être nécessaire , mais le pilote fonctionne toujours avec Ubuntu 18.04 comme à ce temps.)

Il a cependant été rapporté qu'il fonctionnait très bien avec Ubuntu 18.04.

Une connexion Internet temporaire sera requise (comme un câble Ethernet , un dongle USB wifi ou la connexion de votre téléphone avec un câble USB et le ' tethering ' pour utiliser le Wifi de votre téléphone)

La solution est tirée directement du post # 4 par Praseodym (beaucoup d'éloges à leur sagesse!): Https://ubuntuforums.org/showthread.php?t=2398917 et installera un certain nombre de packages pour la construction du module de pilote wifi (git , DKMS, build-essential & linux-headers) et clone le rtl8821ce dépôt git de tomaspinho (louange beaucoup aussi!).

DKMS est utilisé parce que c'est "un système qui recompilera et installera automatiquement un module de noyau lorsqu'un nouveau noyau sera installé ou mis à jour".


Ouvrez un terminal et tapez les lignes suivantes (vous pouvez couper et coller si vous préférez):

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

Une fois cela terminé avec succès, vous devez redémarrer et constater que votre Wifi fonctionne.

Vous voulez également vous assurer que SecureBoot est désactivé dans les paramètres du BIOS ou il ne vous permettra pas de charger le module de noyau auto-conforme non signé.

pHeLiOn
la source
Je peux confirmer que vous n'avez pas besoin de désactiver SecureBoot . Si vous avez activé SecureBoot, suivez simplement les invites pendant le sudo ./dkms-install.shet entrez le même mot de passe que vous choisirez lors du redémarrage.
Niel de Wet
1
A travaillé pour moi. J'ai économisé mon temps.
Iftakharul Alam
Fantastique. Je vous remercie. Cela a fonctionné pour moi.
Dr Xorile
ayant le même problème ... mais le pire. l'idéPadS145 n'a pas d'Ethernet, donc je ne peux même pas installer apt-get. Comment obtenir le module juste compilé pour le noyau par défaut dans eon: 5.3.0-18-generic?
Nico Grunfeld
2

Mise à jour 2018-02-27

Veuillez noter que le pilote suggéré est pour OS sans fin et qu'il peut donc se casser à tout moment. Si un organisme a un pilote officiel pour Ubuntu, ce sera mieux.

Réponse originale

Ce n'est pas une nouvelle réponse, ce serait mieux un commentaire.

J'ai donc essayé de suivre la réponse @ chili555 mais j'ai continué à recevoir des erreurs en essayant de créer le module.

Des erreurs comme:

/rtl8821ce/include/osdep_service_linux.h:294:2: error: implicit declaration of function ‘timer_setup’; did you mean ‘ether_setup’?
[-Werror=implicit-function-declaration]
   timer_setup(ptimer, pfunc, 0);
   ^~~~~~~~~~~   ether_setup

J'ai donc essayé de télécharger une révision différente ( lien de téléchargement direct de l'archive zip ) qui, au moment de la réponse d'origine, pourrait également être maître. J'ai ensuite pu faire le module et l'installer en suivant les étapes fournies par @ chili555

ingkevin
la source
2

dkms build / install pour rtl8821ce peut être trouvé ici: https://github.com/tomaspinho/rtl8821ce

Lorsque vous utilisez cette approche, vous n'aurez pas besoin de reconstruire le module à chaque mise à jour du noyau.

Je viens de le construire sur Lenovo Idea 720s avec kubuntu 18.04.


Je vous suggère également d'éditer Makefile pour changer le niveau de journal de 4 (info) à 3 (avertissements). Sinon, vous trouverez votre /var/log/syslogremplissage à une vitesse folle avec des messages d'information inutiles du conducteur.

Modifiez donc Makefile, pour changer:

CONFIG_RTW_LOG_LEVEL = 4

à:

CONFIG_RTW_LOG_LEVEL = 3

puis créez et installez le module selon les instructions. Si vous l'avez déjà installé, vous devez le désinstaller (à l'aide de dkms-remove.sh), puis le réinstaller à nouveau.

Vous pouvez également modifier manuellement le niveau de journalisation jusqu'au prochain redémarrage avec:

echo 3 > /proc/net/rtl8821ce/log_level

mise à jour: le responsable a modifié le Makefile pour refléter cette suggestion, donc si vous effectuez une nouvelle extraction / téléchargement, il aura déjà le bon réglage (silencieux).

stason
la source
1

Une solution pour l'erreur de minuterie.

Je parviens à le faire fonctionner pour mon lenovo E570 avec ubuntu 16.04 et voici mes étapes: Tout d'abord, je mets à niveau ma version du noyau vers 4.15.4 en utilisant ce guide

Je crois que toute version de noyau supérieure à 4.15.4 devrait fonctionner car j'ai dû à nouveau mettre à niveau mon noyau vers 4.15.9. Notez que le pilote doit être réinstallé.

Ensuite, j'ai suivi les étapes mentionnées dans les réponses @ chili555

Juichung_Kuo
la source
Qu'entendez-vous par «installer le pilote»?
pim
Cela signifie que vous devez refaire l'installation de sudo. s'il vous plaît laissez-moi savoir si cela a fonctionné pour vous et quelle version du noyau utilisez-vous. Cette méthode fonctionnait pour moi auparavant, mais récemment j'ai dû réinstaller Ubuntu plusieurs fois et elle a cessé de fonctionner pour moi.
Juichung_Kuo
Le fil suivant comprend un pilote alternatif au 8821ce, un lien et cela fonctionne à nouveau pour moi
Juichung_Kuo
Je semble avoir exactement la même machine que vous, exécutant 16.04 LTS et semble avoir exactement les mêmes problèmes, mais sans succès. Est-il possible pour vous de poster, ligne par ligne, exactement ce que vous avez fait pour faire fonctionner le vôtre: il me semble tourner en rond et continuer à voir l'arrière de ma tête. Arrrrgh. Merci.
Piloti
euh .. ça fait un moment et je ne me souviens pas exactement de ce que j'ai fait pour le réparer. Mais avez-vous vérifié le lien que j'ai publié ci-dessus, car il contient les commandes que j'ai utilisées. avez-vous également essayé ceci: github.com/lwfinger/rtlwifi_new
Juichung_Kuo
0

crédits à praseodym de ubuntuusers.de pour ce court tutoriel utilisant dkms pour installer le pilote car après avoir essayé plusieurs variantes répondues, seulement cela a fonctionné pour moi sur une nouvelle debian 10 (buster) installée:

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 

la suppression fonctionne de cette façon:

sudo ./dkms-remove.sh 

il a également été mentionné de désactiver éventuellement le démarrage sécurisé, même avant l'installation du système d'exploitation. Je ne sais pas si cela fait une différence car j'en avais besoin sur un "PC de bureau HP Slimline (290-a0512ng)" dont le démarrage sécurisé était désactivé par défaut, j'ai vérifié / remarqué après l'installation du système d'exploitation.

vchrizz
la source
0

C'est ainsi que je me suis fixé sur un IdeaPad s145-15ast. Si vous souhaitez toujours utiliser ubuntu 16.04, commencez par installer l'activation matérielle:

apt-get install linux-generic-hwe-16.04

Ajoutez ensuite "Jesse Sung" Realtek 8821c dkms pour 4.15

add-apt-repository ppa:wenchien/rtl8821c
apt-get update
apt install oem-realtek-8821ce-lp1767920-4.15-dkms

Redémarrez et c'est tout.

cheche
la source