it-swarm.com.de

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

Wir haben gerade ein Lenovo gekauft ThinkPad E57 (welches den Intel 8265 für WLAN 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 Funkchip wird von lshw (oder sogar lspci) nicht erkannt, ip link zeigt keine Funkschnittstelle an und das iwlwifi Kernelmodul nicht beim Booten geladen (ich kann dies selbst mit modprobe iwlwifi laden, aber dies macht Wi-Fi nicht funktionsfähig). Ich denke, es ist ein kombinierter Wi-Fi/Bluetooth-Chip, und Bluetooth scheint zu funktionieren (oder zumindest wird Bluetooth in Gnome und rfkill list angezeigt).

modinfo iwlwifi | grep 8265 zeigt mir, dass angeblich eine Datei mit der Endung -34 geladen ist, aber in /lib/firmware nur eine Datei mit der Endung -33 (und einige andere niedrigere Nummern) vorhanden ist, 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

[email protected]:~# modinfo iwlwifi | grep 8265
firmware:       iwlwifi-8265-34.ucode
[email protected]:~# rfkill list all
0: tpacpi_bluetooth_sw: Bluetooth
    Soft blocked: no
    Hard blocked: no
1: hci0: Bluetooth
    Soft blocked: no
    Hard blocked: no
[email protected]:~# dmesg | grep iwl
[email protected]:~# 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 Spezifikationen auf der Produktseite angegeben des Shops, in dem ich diesen Laptop gekauft habe Es stimmte nicht ... Seufz. Das gleiche Problem besteht jedoch nur bei einem schlechteren drahtlosen Chip.

11
RobinJ

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 nach unten 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.

EDIT: Sie haben das Modul nur für Ihre aktuell laufende Kernelversion 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.

15
chili555

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

Soweit ich das beurteilen kann, gibt es zum Zeitpunkt des Schreibens noch keinen WLAN-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 kann den Treiber nicht mehr warten da er keinen Zugriff mehr auf einen Computer mit diesem Chipsatz hat und somit einen neuen Betreuer wird möglicherweise benötigt , aber der Treiber arbeitet noch mit Ubuntu 18.04 wie zu diesem Zeitpunkt.)

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

Eine vorübergehende Internetverbindung ist erforderlich (z. B. ein Ethernet-Kabel , USB-WLAN-Dongle oder die Verbindung Ihres Telefons mit ein USB-Kabel und " Tethering ", um das Wifi Ihres Telefons zu verwenden)

Die Lösung stammt direkt aus dem Beitrag # 4 von Praseodym (viel Lob für ihre Weisheit!): https://ubuntuforums.org/showthread.php? t = 2398917 und installiert eine Reihe von Paketen zum Erstellen des WLAN-Treibermoduls (git, dkms, build-essential & linux-headers) und klont das rtl8821ce Git-Repository 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 möchten auch sicherstellen, dass SecureBoot ​​Disabled in den BIOS-Einstellungen ist, sonst können Sie das nicht signierte selbstkompatible Kernel-Modul nicht laden.

9
pHeLiOn

Update 2018-02-27

Bitte beachten Sie, dass der vorgeschlagene Treiber für Endless OS ist und daher an jeder Stelle möglicherweise fehlerhaft ist. 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 ( Zip-Archiv-Direkt-Download-Link ) herunterzuladen, 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

2
ingkevin

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 schlage ich vor, dass Sie Makefile bearbeiten, um die Protokollstufe von 4 (Info) auf 3 (Warnungen) zu ändern. Ansonsten füllt sich Ihr /var/log/syslog mit verrückter Geschwindigkeit mit nutzlosen Infomeldungen des Fahrers.

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 (mit 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.

1
stason

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

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

Ich glaube, jede Kernel-Version über 4.15.4 sollte funktionieren, 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

1
Juichung_Kuo

credits an praseodym von ubuntuusers.de für dieses kurzes Tutorial mit dkms um den Treiber zu installieren, da nach dem Ausprobieren mehrerer beantworteter Varianten nur dieses für mich auf einem neu 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. Ich habe es nach der Installation des Betriebssystems überprüft/bemerkt.

0
vchrizz