Linux: Realtek RTL8192EU WLAN-Treiber kompilieren und installieren

von cooper.bin
veröffentlicht am 14.04.2024 aktualisiert am 14.04.2024

In einem Projekt hatte ich die Aufgabe, einen Plug & Play Hotspot mit einem WLAN-Stick auf einem Raspberry Pi zu realisieren. Das hat soweit auch recht einfach funktioniert, eine Sache jedoch hatte mir mehr Probleme bereitet: Einen unterstützten WLAN-Stick zu finden.

Nach zwei Fehlkäufen und einer Menge Frust hatte ich in den Tiefen meiner Schubladen glücklicherweise noch einen uralten DLINK-Wlan Stick gefunden der von meinem Linux-System erkannt wurde. Das Problem dabei ist jedoch, dass es diesen WLAN-Stick nicht mehr zu kaufen gibt. Dieser WLAN-Stick verwendet den Chipsatz Ralink RT3072 - dieser wird nativ unterstützt und ist somit direkt einsatzbereit. Die beiden neuen WLAN-Sticks konnte ich erst nach dem manuellen kompilieren und installieren zusätzlicher Treiber verwenden.

Es geht speziell um den Chipsatz Realtek RTL8192EU der in beiden WLAN-Sticks verwendet wird. In diesem Tutorial werden wir die Treiber für den Chipsatz Realtek RTL8192EU unter Linux kompilieren und installieren.

Zum Kapitel springen WLAN-Stick prüfen

Um zu prüfen, ob ein WLAN-Stick bereits als unterstützte Netzwerk-Schnittstelle erkannt wird, kann man sich die unter Linux Network-Interfaces auflisten lassen. Mit diesem Befehl erhält man einen Überblick über alle verfügbaren Netzwerk-Schnittstellen, auch die für WLAN:

ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        [...]

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        [...]

wlan0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether bc:f6:85:02:59:25  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Anhand der Schnittstelle wlan0 ist ersichtlich, dass der WLAN-Stick bereits ohne zutun erkannt wird. Das ist der Best-Case - der WLAN-Stick wird direkt erkannt und kann genutzt werden. Ein Blick in die Übersicht der USB-Geräte zeigt, welcher Chipsatz vom WLAN-Stick genutzt wird:

lsusb
Bus 001 Device 011: ID 07d1:3c0a D-Link System DWA-140 RangeBooster N Adapter(rev.B2) [Ralink RT3072]

In diesem Fall mit dem Chipsatz RT3072. Auch wenn dieser WLAN-Stick direkt erkannt wird ist dies nicht immer der Fall.

Zum Kapitel springen Chipsatz validieren

Bei dem Versuch, einen anderen WLAN-Stick zu verbinden, wird keine wlan0 Netzwerkschnittstelle erkannt. Beim Prüfen des Chipsatzen über den Befehl lsusb wird ersichtlich, um welchen Chipsatz es sich bei diesem Stick handelt:

Bus 001 Device 012: ID 2357:0109 TP-Link TL-WN823N v2/v3 [Realtek RTL8192EU]

Es wird der Chipsatz Realtek RTL8192EU verwendet. Gut für uns, denn genau diese Treiber werden wir in diesem Tutorial kompilieren und installieren. Auch wenn aktuell keine wlan0 Schnittstelle erkannt wird, wird das nach dem Tutorial der Fall sein.

Der Aufruf von lsusb ist jedoch leider keine Garantie, den Chipsatz herauszufinden. Ein dritter WLAN-Stick zeigt dies:

Bus 001 Device 013: ID 0bda:c811 Realtek Semiconductor Corp. 802.11ac NIC

Selbst mit der erweiterten Ausgabe lsusb -v gibt es keinerlei Informationen zum verwendeten Chipsatz.

Mit der Installation der Treiber ist folgender WLAN-Stick kompatibel und getestet:

Grundsätzlich können nach der Installation aber alle WLAN-Sticks mit dem Chipsatz RTL8192EU verwendet werden.

Produktempfehlungen und -suche in Verbindung mit dem Amazon Partnerprogramm:

¹ Angaben ohne Gewähr. Bei einem Kauf über den Link erhalten wir eine Provision.

Zum Kapitel springen Treiber installieren

Für die Installation der Treiber wird auf die GIT-Repository rtl8192eu-linux zurückgegriffen. Stand 12.04.2024 unterstützt dieser Treiber alle Kernel bis zu Version 6.6 – um die aktuelle Kernel Version abzufragen kann folgender Befehl in der Konsole abgesetzt werden:

uname -r
5.10.152-rt75-v7l

Du kannst den Support der Kernel-Version jederzeit über das Repository prüfen. Als Systemarchitektur wird x86 sowie ARM unterstützt.

Zum Kapitel springen Benötigte Pakete

Um den Treiber auf einem Raspberry Pi kompilieren und installieren zu können müssen auf einem Raspberry Pi folgende Header-, Build-, DKMS- und Git-Pakete installiert werden.

Produktempfehlungen und -suche in Verbindung mit dem Amazon Partnerprogramm:

¹ Angaben ohne Gewähr. Bei einem Kauf über den Link erhalten wir eine Provision.

sudo apt install git raspberrypi-kernel-headers build-essential dkms

Zum Kapitel springen Download der Treiber

Nach der Installation der passenden Pakete kann das GIT-Repository heruntergeladen werden. Wechsle dafür zunächst in das Home-Verzeichnis, klone dir dann das GIT-Repository und wechsle in den Ordner:

cd ~
git clone https://github.com/clnhub/rtl8192eu-linux.git
cd rtl8192eu-linux

Zum Kapitel springen Makefile anpassen

Wenn du eine andere Architektur als x86 verwendest, was auch bei meinem Raspberry Pi der Fall ist, muss die Makefile bearbeitet werden. Diese enthält definitionen zum Kompilieren. Deine Architektur kannst du mit dem folgenden Befehl auslesen:

dpkg --print-architecture
arm64
nano Makefile

In der Datei müssen zwei Zeilen bearbeitet werden; Mit Strg + W kann nach Inhalten in der Datei gesucht werden.

Vor der Bearbeitung Nach der Bearbeitung
CONFIG_PLATFORM_I386_PC = y CONFIG_PLATFORM_I386_PC = n
CONFIG_PLATFORM_ARM_RPI = n CONFIG_PLATFORM_ARM_RPI = y

Wenn diese beiden Zeilen geändert wurden, kann man die Datei mit Strg + O speichern und den Editor mit Strg + X schließen.

Zum Kapitel springen Treiber installation

Nach allen Installationen und Anpassungen kann der Treiber installiert werden. Dazu reicht ein weiterer Befehl in der Konsole:

./install_wifi.sh

Nach der Installation des Treibers öffnet sich eine Konfigurationsdatei. Diese kann ohne weitere Bearbeitung geschlossen werden.

Anschließend ist es ratsam, das System via sudo reboot now neuzustarten.

Zum Kapitel springen Installation prüfen

Anhand des Kapitels WLAN-Stick prüfen kann nun erneut geprüft werden, ob der WLAN-Stick als Netzwerkschnittstelle wlan0 erkannt wird.


cooper.bin Avatar

cooper.bin

Unterstütze mich und meine Arbeit, so kann ich weiter meiner Leidenschaft nachgehen. Ich lege viel Wert auf Qualität und stecke daher sehr viel Zeit in meine Beiträge. Wenn sie dir gefallen kannst du dir gerne auch meine anderen Artikel anschauen.

Mit PayPal unterstützen

Ich bin auf dem makesmart Discord-Server aktiv. Dort bin ich auch relativ gut erreichbar.

Teile diesen Beitrag



Diese Artikel könnten dich auch interessieren

Raspberry Pi FTP-Server installieren

Der FTP-Server ProFTPD lässt sich im Handumdrehen installieren. Er ist leicht zu konfigurieren und läuft ohne Probleme auf einem Raspberry Pi.

cooper.bin am 23.03.2024

MongoDB installieren - Die NoSQL Datenbank auf dem eigenen Server

MongoDB kann neben einer managed Lösung auch einfach und schnell in wenigen Schritten selbst installiert werden. In diesem Tutorial erfährst du wie du MongoDB auf deinem Server installierst

cooper.bin am 01.04.2024

TLS-Sicherheit für MongoDB: Umfassende Anleitung zur Verschlüsselung

Lerne, wie du MongoDB mit TLS aktiv und effektiv sicherst. Dein Guide zur Absicherung und praktischen Umsetzung mit allen notwendigen Schritten.

cooper.bin am 02.04.2024