Wi-Fi funktioniert nicht mit Lenovo ThinkPad E570 (Realtek RTL8821CE)

17

Wir haben gerade ein Lenovo ThinkPad E570 gekauft (das den Intel 8265 für Wireless haben soll). Dieser Laptop wurde zum Teil gekauft, weil er für den Betrieb mit Ubuntu zertifiziert ist, und für mich wäre es zumindest sinnvoll, wenn die Dinge sofort funktionieren würden ... aber kein solches Glück.

Zuerst habe ich Ubuntu 17.10 installiert und nach der Installation festgestellt, dass Wi-Fi nicht funktioniert. Ich habe Ubuntu 16.04 auch von einem USB-Laufwerk aus versucht, da dies die Version von Ubuntu ist, für die es zertifiziert ist, aber auch dort kein Glück.

Der WLAN-Chip wird nicht erkannt lshw(oder lspcisieht ip linkauch nicht so aus), es wird keine WLAN-Schnittstelle angezeigt, und das iwlwifiKernelmodul wird beim Booten nicht geladen (ich kann dies selbst laden, modprobe iwlwifiaber damit funktioniert WLAN nicht). . Ich denke, es ist ein kombinierter Wi-Fi / Bluetooth-Chip, und Bluetooth scheint zu funktionieren (oder zumindest wird Bluetooth in Gnome und angezeigt rfkill list).

modinfo iwlwifi | grep 8265zeigt mir, dass angeblich eine Datei mit der Endung -34 geladen ist, aber nur eine Datei mit der Endung -33 (und einige andere niedrigere Nummern) /lib/firmware, wenn das hilft).

Ich habe auch den Linux 4.14.9-Kernel installiert, um die Arbeit aufzunehmen, aber auch dies hat das Problem nicht gelöst.

Weitere Informationen

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]

Aktualisieren

Mir ist gerade aufgefallen, dass der Laptop überhaupt keinen Intel Wireless-Chip hat, sondern einen Realtek-Chip ... was bedeutet, dass die Angaben auf der Produktseite des Shops, bei dem ich diesen Laptop gekauft habe, nicht korrekt waren ... Seufzer. Das gleiche Problem besteht jedoch nur bei einem schlechteren drahtlosen Chip.

RobinJ
quelle
1
Für zukünftige Googler möchte ich festhalten, dass die gewählte Antwort auch auf Linux Mint 19.1
LondonRob
Die Lenovo-Website gibt an, dass es sich um eine Intel WiFi-Karte handelt. Wenn Sie diese also gebraucht gekauft haben, haben Sie eine Klage gegen den Shop. Weitere Informationen finden Sie in den oben hinzugefügten Weblinks.
K7AAY
1
Dies funktionierte für mich youtube.com/watch?v=vPfLVsyQU_A
Dagang
danke @Dagang, du hast meine Stunden gespart. Ich bin es auf Lenovo Ideapad 130 15ikb ausprobiert.
Freitag,

Antworten:

15

Erstens würde ich vorschlagen, dass diese Anweisungen eher mit Ubuntu 17.10 funktionieren. Wenn Sie es derzeit nicht ausführen, empfehle ich Ihnen, es erneut zu installieren.

Klicken Sie auf diesen Link, um die Treiberdatei herunterzuladen: https://minhaskamal.github.io/DownGit/#/home?url=https://github.com/endlessm/linux/tree/master/drivers/net/wireless/rtl8821ce

Sofern Sie in Ihrem Browser nichts anderes angegeben haben, werden Downloads in das Verzeichnis Downloads verschoben . Öffne ein Terminal und mache:

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

Scrolle runter zu Zeile 152 und ändere die Zeile, die jetzt lautet:

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

Um jetzt zu lesen:

export TopDIR ?= $ ~/Downloads/rtl8821ce

Lesen Sie zweimal sorgfältig durch und speichern Sie (Strg + o, gefolgt von der Eingabetaste) und schließen Sie (Strg + x) den Texteditor.

Mach jetzt:

make
sudo make install
sudo modprobe 8821ce

Ihr WLAN sollte jetzt funktionieren.

BEARBEITEN: Sie haben das Modul nur für Ihre aktuell ausgeführte Kernel-Version kompiliert. Wenn Update Manager nach dem angeforderten Neustart eine neuere Kernelversion anbietet, die als Linux-Image bezeichnet wird, müssen Sie Folgendes neu kompilieren:

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

Bitte bewahren Sie die Datei und diese Anleitung für diese Zeit auf.

chili555
quelle
Das habe ich gestern auch gefunden und es hat funktioniert :) Ich bin gespannt, ob dies auch weiterhin bei Kernel-Updates funktioniert.
RobinJ
Sehr guter Fang! Bitte sehen Sie meine Bearbeitung oben in ein paar Augenblicken.
chili555
Nach der Bearbeitung der Datei habe ich versucht, make Befehl auszuführen, aber es gibt mir einen Fehler. Ich führe das "make" im "rtl8821ce" -Verzeichnis aus, der Fehler lautet / bin / sh: 1 cc: not found. Irgendeine Idee . Gehört zum Lieferumfang des Betriebssystems ein Standarddienstprogramm?
DILEEP THOMAS
@ DILEEPTHOMAS Bitte stellen Sie eine neue Frage.
Chili555
Für mich war die Bearbeitung der Datei nicht notwendig. Einfach den Treiber herunterladen, kompilieren, installieren und den Mod aktivieren, wo es reicht. Vielen Dank!!!
Diego Andrés Díaz Espinoza
15

Dies ist eine Fortsetzung der Antwort von Stason , der die Verwendung von dkms vorschlägt .

Soweit ich das beurteilen kann, gibt es zum Zeitpunkt des Schreibens noch keinen Wifi-Treiber für den Realtek RTL8821CE in den offiziellen Ubuntu-Repositories.

Drüben auf github gibt es ein Repository mit einem RTL8821CE-Treiber für Kernel 4.14 und höher und speziell für Arch Linux, ohne Unterstützung für andere Linux-Distros: https://github.com/tomaspinho/rtl8821ce

(Kleiner Hinweis: Ab Februar 2019 ist tomaspinho leider nicht mehr in der Lage, den Treiber zu warten, da er keinen Zugriff mehr auf einen Computer mit diesem Chipsatz hat. Daher wird möglicherweise ein neuer Betreuer benötigt , der Treiber arbeitet jedoch weiterhin mit Ubuntu 18.04 wie bisher diese Zeit.)

Es wurde jedoch berichtet, dass es mit Ubuntu 18.04 einwandfrei funktioniert.

Eine temporäre Internetverbindung erforderlich (wie zum Beispiel ein Ethernet - Kabel , USB - WLAN - Dongle oder verbinden Sie Ihr Telefon mit einem USB - Kabel und ‚ Tethering ‘ es Telefons Wifi verwenden)

Die Lösung stammt direkt aus Post 4 von Praseodym (viel Lob für ihre Weisheit!): Https://ubuntuforums.org/showthread.php?t=2398917 und wird eine Reihe von Paketen für den Aufbau des WLAN-Treibermoduls (git ) installieren , dkms, build-essential & linux- headers ) und klone das git repository rtl8821ce von tomaspinho (viel lob auch!).

DKMS wird verwendet, weil es "ein System ist, das ein Kernelmodul automatisch neu kompiliert und installiert, wenn ein neuer Kernel installiert oder aktualisiert wird."


Öffnen Sie ein Terminal und tippen Sie die folgenden Zeilen ein (Sie können ausschneiden und einfügen, wenn Sie möchten):

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

Nachdem dies erfolgreich abgeschlossen wurde, sollten Sie einen Neustart durchführen und feststellen, dass Ihr WLAN funktioniert.

Sie wollen auch sicherstellen, SecureBoot ist für Behinderte in den BIOS - Einstellungen oder es wird nicht zulassen , Sie laden die unsigned selbst Eingewilligt Kernel - Modul.

pHeLiOn
quelle
Ich kann bestätigen, dass Sie SecureBoot nicht deaktivieren müssen . Wenn Sie SecureBoot aktiviert haben, befolgen Sie einfach die Anweisungen während sudo ./dkms-install.shund geben Sie dasselbe Kennwort ein, das Sie während des Neustarts gewählt haben.
Niel de Wet
1
Hat für mich gearbeitet. Sparte meine Zeit.
Iftakharul Alam
Fantastisch. Vielen Dank. Das hat bei mir funktioniert.
Dr Xorile
Ich habe das gleiche Problem ... aber das Schlimmste. Das idePadS145 hat kein Ethernet, daher kann ich es nicht einmal apt-get installieren. Wie kann das Modul nur für den Standardkernel in eon kompiliert werden: 5.3.0-18-generic?
Nico Grunfeld
2

Update 2018-02-27

Bitte beachten Sie, dass der vorgeschlagene Treiber für Endless OS ist und daher an jeder Stelle möglicherweise nicht mehr funktioniert. Wenn irgendjemand einen offiziellen Treiber für Ubuntu hat, ist es besser.

Ursprüngliche Antwort

Dies ist keine neue Antwort, wäre besser ein Kommentar.

Also habe ich versucht, der Antwort von @ chili555 zu folgen, aber beim Versuch, das Modul zu erstellen, sind immer wieder Fehler aufgetreten.

Fehler wie:

/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

Also habe ich versucht, eine andere Revision herunterzuladen ( zip-Archiv-Direkt-Download-Link ), die zum Zeitpunkt der ursprünglichen Antwort auch Master sein könnte. Dann konnte ich das Modul erstellen und installieren, indem ich die von @ chili555 bereitgestellten Schritte befolgte

Ingkevin
quelle
2

dkms build / install für rtl8821ce finden Sie hier: https://github.com/tomaspinho/rtl8821ce

Wenn Sie diesen Ansatz verwenden, müssen Sie das Modul nicht jedes Mal neu erstellen, wenn der Kernel aktualisiert wird.

Ich habe es gerade auf Lenovo Idea 720s mit Kubuntu 18.04 gebaut.


Außerdem empfehle ich Ihnen, Makefile zu bearbeiten , um die Protokollstufe von 4 (Info) auf 3 (Warnungen) zu ändern. Andernfalls werden Sie feststellen, dass Sie /var/log/syslogsich mit nutzlosen Infomeldungen des Fahrers in verrückter Geschwindigkeit vollgetankt haben.

So bearbeiten Sie Makefile, um zu ändern:

CONFIG_RTW_LOG_LEVEL = 4

zu:

CONFIG_RTW_LOG_LEVEL = 3

und dann bauen und installieren Sie das Modul gemäß den Anweisungen. Wenn Sie es bereits installiert haben, müssen Sie es deinstallieren (mithilfe von dkms-remove.sh) und anschließend erneut installieren.

Alternativ können Sie die Protokollebene bis zum nächsten Neustart manuell ändern mit:

echo 3 > /proc/net/rtl8821ce/log_level

Update: Der Betreuer hat das Makefile geändert , um diesen Vorschlag widerzuspiegeln. Wenn Sie also einen neuen Checkout / Download durchführen, hat es bereits die richtige (leise) Einstellung.

Stason
quelle
1

Eine Lösung für den Timer-Fehler.

Ich schaffe es mit Ubuntu 16.04 für mein Lenovo E570 zum Laufen zu bringen und hier sind meine Schritte: Zuerst aktualisiere ich meine Kernel-Version auf 4.15.4 unter Verwendung dieses Handbuchs

Ich glaube, dass jede Kernel-Version über 4.15.4 funktionieren sollte, da ich meinen Kernel erneut auf 4.15.9 aktualisieren musste. Beachten Sie, dass der Treiber neu installiert werden muss.

Dann folgte ich den Schritten in @ chili555 Antworten

Juichung_Kuo
quelle
Was meinst du mit "Treiber installieren"?
PIM
Dies bedeutet, dass Sie sudo make install erneut ausführen müssen. Bitte lassen Sie mich wissen, ob es bei Ihnen funktioniert hat und welche Kernel-Version Sie verwenden. Diese Methode hat bei mir bereits funktioniert, aber kürzlich musste ich ubuntu mehrmals neu installieren und es hat bei mir nicht mehr funktioniert.
Juichung_Kuo
Der folgende Thread enthält einen alternativen Treiber für das 8821ce, einen Link und funktioniert wieder für mich
Juichung_Kuo
Ich habe anscheinend genau die gleiche Maschine wie Sie mit 16.04 LTS und anscheinend genau die gleichen Probleme, aber ohne Erfolg. Können Sie zeilenweise genau das posten, was Sie getan haben, um Ihre Arbeit zum Laufen zu bringen? Ich scheine mich im Kreis zu bewegen und immer wieder meinen Hinterkopf zu sehen. Arrrrgh. Vielen Dank.
Piloti
Ähm ... es ist schon eine Weile her und ich kann mich nicht genau erinnern, was ich getan habe, um es zu reparieren. Aber haben Sie sich den Link angesehen, den ich oben gepostet habe, weil er die Befehle enthält, die ich verwendet habe? hast du es auch versucht: github.com/lwfinger/rtlwifi_new
Juichung_Kuo
0

Dank an praseodym von ubuntuusers.de für dieses kurze Tutorial mit dkms , um den Treiber zu installieren, da nach dem Ausprobieren mehrerer beantworteter Varianten nur dieses für mich auf einem frisch installierten Debian 10 (Buster) funktionierte:

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 

Das Entfernen funktioniert folgendermaßen:

sudo ./dkms-remove.sh 

Es wurde auch erwähnt, dass der sichere Start eventuell deaktiviert werden soll, noch bevor das Betriebssystem installiert wurde. Ich bin mir nicht sicher, ob dies einen Unterschied macht, da ich dies auf einem "HP Slimline (290-a0512ng) Desktop-PC" benötige, dessen sicherer Start standardmäßig deaktiviert ist.

vchrizz
quelle