Wi-Fi funktioniert nicht unter Linux? So beheben Sie es

Eine der großen Herausforderungen, mit denen Benutzer bei Linux konfrontiert sind, ist Wi-Fi. Wi-Fi-Treiber sind oft nicht im Kernel enthalten, und als Ergebnis gibt es viele Probleme, nicht-Intel-Wi-Fi-Module unter Linux zum Laufen zu bringen. Hier erklären wir, was passiert, wenn Wi-Fi unter Linux nicht funktioniert und wie man es beheben kann.
Inhaltsverzeichnis
- Hardware- vs. Software-Wi-Fi-Probleme
- Treiber aus Ubuntu ISO installieren
- Problem Eins: Gerät nicht erkannt
- Problem Zwei: Treibermodul fehlt
- Problem Drei: DNS
- Problem Vier: Kein Netzwerkmanager
Tipp: erfahren Sie, wie Sie gespeicherte Wi-Fi-Passwörter in Linux finden können.
Hardware- vs. Software-Wi-Fi-Probleme
Ein Wi-Fi-Verbindungsproblem kann entweder ein Hardware- oder ein Softwareproblem sein. Hardwareprobleme sind relativ leicht zu diagnostizieren – alles, was Sie tun müssen, ist das Terminal zu öffnen und den folgenden Befehl einzugeben:
ping localhost
Dies ist eine einfache Möglichkeit zu prüfen, ob Ihre physische Hardware funktioniert. localhost fungiert als Adresse, um die Schaltung Ihres NIC zu überprüfen. Wenn dies nicht funktioniert, müssen Sie möglicherweise an der Hardware arbeiten, sei es selbst oder durch jemand anderen.
Wenn dieser Ping erfolgreich ist oder Sie Ihre Wi-Fi-Karte nicht mal sehen, haben Sie wahrscheinlich ein Softwareproblem.
Abgesehen davon können Sie auch überprüfen, ob Ihr System eine aktive Netzwerkschnittstelle erkennt, indem Sie ip addr ausführen. Die meisten Distributionen kennzeichnen aktuell aktive drahtlose Karten als „wl“, gefolgt von den Bus- und Slotnummern des Geräts auf dem Motherboard des Computers.
Zum Beispiel bedeutet ein Label von „wlp0s1“, dass es sich um eine drahtlose Netzwerkschnittstelle auf Bus 0, Slot 1 handelt.

Hinweis: Wenn Sie nicht im Internet surfen können, müssen Sie möglicherweise IPv6 auf Ihrem Linux-Rechner deaktivieren.
Treiber aus Ubuntu ISO installieren
Wenn Ihre Distribution Ihr Wi-Fi-Netzwerk überhaupt nicht erkennt oder Sie Fehler erhalten, können Sie versuchen, die Wi-Fi-Treiber aus der Ubuntu ISO-Datei zu installieren oder neu zu installieren. Zuerst müssen Sie die Ubuntu ISO herunterladen, die Ihrer Ubuntu-Version entspricht. (Vermutlich müssen Sie dies auf einem anderen Gerät herunterladen oder es mit Ihrer Ethernet-Verbindung auf Ubuntu herunterladen.)
Öffnen Sie ein Terminal und geben Sie dann die folgende Befehlssequenz ein, um die Ubuntu ISO auf ein virtuelles Laufwerk zu mounten:
sudomkdir/media/cdrom
sudomount-o loop ~/Downloads/ubuntu-*.iso /media/cdromGehen Sie im Dashboard zu „Software-Updater“ und klicken Sie dann auf die Schaltfläche Einstellungen in der unteren linken Ecke des Fensters.

Klicken Sie auf die Registerkarte Zusätzliche Treiber, wählen Sie die Option Drahtlosadapter und klicken Sie auf Änderungen anwenden.
Problem Eins: Gerät nicht erkannt
Wenn das drahtlose Gerät von Ubuntu (oder einer anderen Distribution) nicht erkannt wird, öffnen Sie eine Terminal-Sitzung und geben Sie den folgenden Befehl ein:
sudo lsusbDieser Befehl gibt alle USB-Geräte aus, die derzeit an Ihrem Gerät angeschlossen sind. Suchen Sie nach einer Zeile, die entweder „Drahtlosadapter“ oder „RTL“ enthält.
sudo lsusb |grep"RTL"
Neben der Auflistung aller USB-Adapter können Sie auch Ihr System nach PCI-Drahtlosgeräten durchsuchen. Führen Sie dazu den folgenden Befehl aus:
sudolspciÄhnlich wie beim Befehl lsusb suchen Sie in der Ausgabe von lspci nach Zeilen, die entweder das Label „Netzwerkcontroller“ oder „Ethernet-Controller“ enthalten.

Finden Sie das genaue Treibermodul, das Ihr drahtloses Gerät derzeit verwendet, indem Sie den folgenden Befehl ausführen:
sudo lshw -C network |grep"driver"Markieren Sie den Wert der Variablen „driver“ und kopieren Sie ihn in die Zwischenablage.

Problem Zwei: Treibermodul fehlt
Nachdem die Befehle lsusb und lspci erfolgreich ausgeführt wurden, und Ihr Linux-Distro die drahtlose Karte sehen kann, können Sie davon ausgehen, dass die Firmware funktioniert, nur dass das System keine Ahnung hat, was es mit dem Gerät tun soll. An dieser Stelle werden Treiber oder Module benötigt.
Geben Sie den folgenden Befehl ein und ersetzen Sie „modulename“ durch den Inhalt Ihrer Zwischenablage:
sudo modprobe modulenameWenn Ihr drahtloser Treiber beispielsweise „iwlwifi“ ist, würde es wie folgt aussehen:
sudo modprobe iwlwifiNachdem Sie dies getan haben, führen Sie sudo lsmod | grep "modulename" aus, um zu sehen, ob der Linux-Kernel Ihr Wi-Fi-Gerät korrekt geladen hat.

Treibermodul beim Booten automatisch laden
Es ist zwar selten, aber manchmal bleibt das Modul beim Booten nicht bestehen. In diesem Fall können Sie es zwingen, dauerhaft geladen zu werden. Geben Sie den folgenden Befehl im Terminal ein:
sudonano/etc/modulesFügen Sie Ihren Modulnamen am Ende hinzu und speichern Sie die Datei.

Starten Sie das Gerät neu, um zu überprüfen, ob der Linux-Kernel das drahtlose Gerät korrekt geladen hat.
Gut zu wissen: erfahren Sie, wie Ihr Computer seine Hardware verwaltet, indem Sie noch heute Ihren eigenen benutzerdefinierten Linux-Kernel in Ubuntu installieren.
Problem Drei: DNS
Es ist selten, dass das DNS ein Problem darstellt; es lohnt sich jedoch, zu untersuchen, ob Sie weiterhin Verbindungsprobleme haben. Geben Sie im Terminal den folgenden Befehl ein, um den standardmäßigen DNS-Resolver des Systems zu überprüfen:
nmcli device show INTERFACE-NAME |grep IP4.DNSStandardmäßig wird dies auf die IP-Adresse Ihres Routers gesetzt. Wenn es nicht funktioniert, müssen Sie möglicherweise „wlp0s1“ durch das zu verwendende drahtlose Gerät ersetzen. Der folgende Befehl kann auch verwendet werden, um die Bezeichnung zu erfassen:
ip addr|grep": "Sobald Sie diese Informationen haben, pingen Sie die Adresse Ihres DNS-Resolvers an. Wenn das funktioniert, können Sie auch einen Ping an ein externes Netzwerk wie die DNS-Resolver von Google senden:
ping 8.8.8.8Wenn alle Geräte in Ihrem Netzwerk Seitenladefehler anzeigen, ändern Sie die DNS-Resolver auf Ihrem Router in die Server von Google oder OpenNIC. Sie müssen sich an den Hersteller Ihres Routers wenden, um herauszufinden, wie dies funktioniert, aber es wird in der Regel durchgeführt, indem Sie auf die Administrationskonsole des Geräts zugreifen. Sie erreichen diese auf den meisten Routern, indem Sie in einem Webbrowser entweder „192.168.0.1“ oder „192.168.254.254“ eingeben.
Einen benutzerdefinierten DNS-Server in NetworkManager hinzufügen
Das gesagt, können Sie auch den DNS-Resolver pro Gerät ändern. Um dies in Ubuntu zu tun, klicken Sie auf die Steuerungstaste in der oberen rechten Ecke des Desktops und wählen Sie dann das Zahnradsymbol.

Klicken Sie auf die Kategorie Wi-Fi und suchen Sie die Kategorie Sichtbare Netzwerke.

Wählen Sie das Zahnradsymbol auf der Zeile, die den Namen Ihres drahtlosen Zugangspunktes enthält.
Klicken Sie auf die Registerkarte IPv4 in der oberen Leiste des kleineren Fensters.

Gehen Sie zum Abschnitt DNS und schalten Sie den Schalter Automatisch aus.

Geben Sie „8.8.8.8,8.8.4.4“ in das Textfeld für DNS ein und klicken Sie auf Anwenden, um die Einstellungen zu speichern.

Öffnen Sie ein neues Terminal und führen Sie den folgenden Befehl aus, um alle vorherigen DNS-Resolver-Daten zu entfernen:
resolvectl flush-cachesTesten Sie, ob Ihr System nun die neuen DNS-Resolver-Einstellungen verwendet, indem Sie Folgendes ausführen:
resolvectl status |grep"Current DNS Server"Überprüfen Sie, ob die aktuellen DNS-Einstellungen Ihr Netzwerkproblem gelöst haben, indem Sie eine Webseite in einem Webbrowser laden.

Gut zu wissen: erfahren Sie mehr über Nameserver und DNS-Resolver, indem Sie dig in Linux verwenden.
Problem Vier: Kein Netzwerkmanager
Angenommen, Sie haben den Netzwerkmanager entfernt oder versehentlich deinstalliert. Dies ist eine wirklich problematische Situation: Sie haben kein Internet und keinen Netzwerkmanager, aber es gibt Dinge, die Sie tun können.
Vorausgesetzt, das Paket ist noch in Ihrem Cache, können Sie ins Terminal gehen und Folgendes eingeben:
# Debian/Ubuntu
sudo apt install network-manager
# Fedora
sudo dnf install NetworkManager
# Arch Linux
sudo pacman -Syu networkmanagerWenn das nicht funktioniert, können Sie Ihr System zwingen, sich mit einem drahtlosen Zugangspunkt zu verbinden, indem Sie wpa_supplicant verwenden. Dies ist ein Befehlszeilen-Tool, das den Treiber Ihres drahtlosen Gerätes verwendet, um sich ohne Verwendung des Netzwerkmanagers mit einem Zugangspunkt zu verbinden.
Um zu beginnen, erstellen Sie eine Konfigurationsdatei für wpa_supplicant mit Ihrem bevorzugten Texteditor:
sudonano/etc/wpa_supplicant.confFügen Sie den folgenden Codeblock in die Konfigurationsdatei ein und ersetzen Sie „SSID“ und „PASSWORD“ durch den Namen des Zugangspunktes und das Passwort Ihres Routers:
network={
ssid="SSID"
password="PASSWORD"
}Speichern Sie die Konfigurationsdatei und fügen Sie die folgende Zeile in Ihre Terminal-Sitzung ein:
sudo wpa_supplicant -B-i INTERFACE-NAME -c/etc/wpa_supplicant.conf -D nl80211Ersetzen Sie den Wert des „-i“-Flags durch den Namen Ihrer drahtlosen Schnittstelle.
Hinweis: Dieser Befehl funktioniert nur mit neueren drahtlosen Karten. Wenn Sie versuchen, eine ältere Wi-Fi-Karte zu verbinden, ersetzen Sie den Wert des „-D“-Flags durch „wext.“
Fordern Sie eine neue IP-Adresse von Ihrem Router an, indem Sie den DHCP-Dämon neu laden:
sudo dhclient INTERFACE-NAMETesten Sie, ob Ihre Wi-Fi-Verbindung jetzt funktioniert, indem Sie eine externe Seite anpingen:
ping-c5 maketecheasier.comInstallieren Sie den Netzwerkmanager neu, um die vollständige Wi-Fi-Funktionalität Ihres Linux-Systems wiederherzustellen:
sudo apt install network-managerStarten Sie Ihren Rechner neu, um die neue Installation des Netzwerkmanagers zu laden.
Zu verstehen, wie Wi-Fi-Module und Kernel-Treiber funktionieren, ist nur der erste Schritt, um zu lernen, wie Linux im Hintergrund funktioniert. Erkunden Sie mehr von der technischen Seite dieses Betriebssystems, indem Sie ein verstecktes Dateisystem mit Shufflecake erstellen.