Hardware | Netzwerk | Thorsten Eggeling | 6/2025 | 26. September 2025

Mehr Treiber für Linux

Ubuntu und Linux Mint verwenden nicht den neuesten Linux-Kernel und unterstützen daher manchmal neuere Hardware nicht. Mit zusätzlichen Kernel-Modulen oder einem neuen Kernel können Sie das Problem beheben.

Das Tool Hardware-Probe erstellt einen Bericht und reicht ihn bei https://linux-hardware.org ein. Hier kann man die Ergebnisse prüfen und mit denen anderer Nutzer vergleichen.

Damit eine Hardwarekomponente im PC ihre Aufgabe erfüllen kann, ist Software nötig. Treiber sorgen dafür, dass die Festplatte ansprechbar ist, ein Bild auf dem Monitor erscheint und der Netzwerkadapter Daten transportiert. Unter Linux nennen sich die Treiber Kernel-Module, gehören zum Linux-Kernel und sind auf dessen Entwicklungsstand. LTS-Versionen (Long Term Support) wie Ubuntu 24.04 oder Linux Mint 22.1 gelten als besonders stabil, müssen aber über einen längeren Zeitraum mit einer relativ alten Kernel-Version auskommen. Bei der Linux-Installation auf sehr neuer Hardware kann es daher sein, dass nicht jede Komponente vom Kernel unterstützt wird. Der Artikel beschreibt, welche Lösungen es gibt.

Der Linux-Kernel und die Treiber

Der Linux-Kernel ist modular aufgebaut. Er enthält die zentralen Elemente des Betriebssystems wie Speicher- und Prozessverwaltung. Treiber, die bereits beim Start des Systems erforderlich sind, etwa für die SATA-Schnittstelle, sind im Kernel enthalten. Das meiste wird bei Bedarf dynamisch nachgeladen, damit der Kernel nicht zu groß wird und zu viel Speicher belegt. Der Kernel untersucht beim Start die Hardware, ermittelt die passenden Module und lädt sie.

Die Herausforderung dabei: Die PC-Hardware ist vielfältig. Die Hersteller sorgen für passende Windows-Treiber, Unterstützung für Linux ist aber oft zweitrangig. Es kommt hinzu, dass sich bei einem Gerät bei gleichbleibender Produktbezeichnung die Spezifikationen ändern können. Unter Linux kann das zu einer fehlerhaften Erkennung der Hardware führen und der vermeintlich passende Treiber funktioniert nicht. Bis die Kernel-Entwickler das Problem erkannt und behoben haben, kann es einige Zeit dauern. Bis die Anpassungen dann in die LTS-Versionen einfließen, vergeht wieder Zeit.

Die Hardware im PC untersuchen

Während der Arbeit an diesem Artikel wurden wir von den Ereignissen überholt. Im August 2025 hat Canonical Ubuntu 24.04.3 mit Kernel 6.14 veröffentlicht (vorher Kernel 6.11). Nach diesem Update funktionierte der Netzwerkadapter unseres Testrechners mit einem Gigabyte Z790 UD Mainboard, wie er sollte. Mit Kernel 6.11 wurde die Hardware „Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller (rev 0c)“ zwar erkannt, der geladene Treiber r8169 gab jedoch den Fehler „unknown chip XID 688“ aus und ein Netzwerkzugriff war nicht möglich. Bei einer Neuinstallation ist das mehr als lästig, denn ohne Netzwerk lassen sich keine Updates installieren oder Treiber herunterladen. Man benötigt dann – zumindest vorübergehend – einen von Linux unterstützten USB-Netzwerkadapter (Ethernet oder WLAN). Bei Linux Mint 22.1 (Stand August 2025, Kernel 6.8) besteht das Problem bei der Neuinstallation weiterhin. Der Nachfolger 22.2 mit Kernel 6.14 befand sich zu diesem Zeitpunkt noch in der Betaphase.

Auch wenn unser Problem durch das Kernel-Update inzwischen gelöst ist, kann es als exemplarisch gelten. Bei Hardwareproblemen jeder Art sollte man zuerst eine ausführliche Bestandsaufnahme durchführen, danach ist einiges an Detektivarbeit erforderlich. Am einfachsten gelingt die Prüfung mit dem Tool Hardware-Probe, das Sie im Terminal mit

sudo apt install hw-probe

installieren und mit

sudo -E hw-probe -all -upload

starten. Das Tool gibt nach der Prüfung eine URL von https://linux-hardware.org aus, unter der Sie den Bericht finden. In der Spalte „Status“ zeigt „works“, dass die Komponente funktioniert. Steht hier „detected“, wurde die Hardware erkannt, funktioniert aber möglicherweise nicht. Ein Ausrufungszeichen weist auf zusätzliche Anmerkungen hin. Per Klick auf das Feld gelangen Sie zur Detailansicht für das Gerät. Beim Status „failed“ gibt es meist den Hinweis, dass kein Linux-Kernel diese Hardware unterstützt. Manchmal sind weiterführende Infos enthalten, die zu einer Problemlösung führen.

Treiber für Linux: Unter „/lib/modules/[Version]/kernel/drivers“ liegen sämtliche Module, die der Kernel nachladen kann. Bei sehr neuer Hardware ist das passende Modul eventuell nicht dabei.

Bei unserem Realtek-Netzwerkchip stand bei Kernel 6.11 „detected“ und als Kernel-Modul war „r8169“ angegeben. Ein Klick auf den Eintrag bescheinigt dem Chip, dass er ab Kernel 5.4 unterstützt wird. Das ist richtig, unterschlägt aber die Tatsache, dass es sich um das Modell RTL8125 rev 0c handelt. Der erste Eintrag in der Tabelle mit dem Status „fixed“ verweist auf https://wiki.ubuntuusers.de/Howto/Realtek-r8125 mit hilfreichen Hinweisen. Allerdings stammt der Artikel von 2018 und bezieht sich auf Ubuntu 20.04. Trotzdem ist ihm zu entnehmen, dass ein Quellcode von Realtek mit der Bezeichnung „r8125“ existiert.

Ein neues Kernel-Modul erstellen

Der Quellcode eines Treibers muss sich mit dem aktuellen Kernel kompilieren lassen. Tatsächlich findet man bei Realtek einen aktuellen Treiber mit der Version 9.016.01 vom August 2025 für den Kernel bis Version 6.12 (https://www.realtek.com/Download/List?cate_id=584). Der würde für unseren Kernel 6.11 ausreichen, allerdings berücksichtigt die automatische Installation von Realtek keine künftigen Kernel-Updates. Auf https://github.com/awesometic/realtek-r8125-dkms ist der gleiche Treiber mit mehr Installationsvarianten zu finden. Die nötigen Schritte sind nicht bei jedem Treiber gleich. Lesen Sie daher immer die zugehörigen Anleitungen sorgfältig durch. So gehen Sie bei diesem Kernel-Modul vor:

Schritt 1: Installieren Sie im Terminal einige zusätzliche Pakete:

sudo apt update && sudo apt install git build-essential dkms linux-headers-$(uname -r)

Schritt 2: Erstellen Sie ein Arbeitsverzeichnis und laden Sie den Quelltext des Treibers herunter (vier Zeilen):

mkdir ~/src

cd ~/src

git clone https://github.com/awesometic/realtek-r8125-dkms.git

cd realtek-r8125-dkms

Schritt 3: Es empfiehlt sich, den Treiber für einen ersten Test manuell zu erstellen (zwei Zeilen):

make clean

make modules

Danach entladen Sie das untaugliche Modul und laden das neue (zwei Zeilen):

sudo rmmod r8169

sudo insmod src/r8125.ko

Mit

sudo dmesg

kontrollieren Sie die Meldungen des Treibers, die zuletzt „r8125: enp130s0: link up“ (oder ähnlich) lauteten. Das Ethernet-Netzwerk ist danach verfügbar.

Vorbildlich: Realtek stellt einen aktuellen Linux-Treiber für den 2,5-GB-Ethernet-Adapter bereit. Die vorgegebene Installationsmethode lässt sich allerdings deutlich verbessern.

Schritt 4: Wenn alles funktioniert, installieren Sie den Treiber im System. Im heruntergeladenen Quellcode ist dafür ein Script zuständig, das Sie mit

sudo ./dkms-install.sh

starten. Dkms ist eine Methode, die den Quellcode für alle Kernel bereitstellt. Bei einem Kernel-Update wird das Modul automatisch erstellt.

Schritt 5: Damit der Kernel das Modul r8169 nicht unnötig lädt, setzen Sie es auf die schwarze Liste. Erstellen Sie die Konfigurationsdatei mit

sudo nano blacklist_r8169.conf

und dem Inhalt

blacklist r8169

Hinweis: Selbst erstellte Kernel und Kernel-Module sind nicht digital signiert. Wenn Secure Boot aktiviert ist, lässt sich der Treiber nicht laden. Deaktivieren Sie daher die Funktion im Firmwaresetup.

Neuere Treiber per Kernel-Update

Auch für LTS-Systeme gibt es bei Ubuntu Kernel-Updates. Das Update erfolgt im Rahmen der automatischen Updates einige Zeit nach dem Erscheinen des Point Release. Aus Ubuntu 24.04.2 wird dann zur Zeit 24.04.3 mit Kernel 6.14. Wer das Installationsmedium von Ubuntu 24.04.2 für die Neuinstallation verwendet, erhält das Update ebenfalls, wenn sich eine Internetverbindung herstellen lässt. Es ist aber sinnvoller, die ISO-Datei von Ubuntu 24.04.3 oder neuer zu verwenden, weil dann weniger Updates anfallen und die Einrichtung schneller abläuft.

Sollte ein neuerer Kernel verfügbar, aber bisher nicht automatisch installiert worden sein, können Sie die Installation manuell durchführen. Welcher Kernel aktuell im Einsatz ist, finden Sie im Terminal mit

uname -a

heraus. Mit der Zeile

apt search linux-generic-hwe

suchen Sie nach dem verfügbaren HWE-Kernel (Hardware Enablement). Ist dieser neuer als der aktuell genutzte, dann installieren Sie ihn:

sudo apt --install-recommends linux-generic-hwe-24.04

Linux Mint installiert neuere Kernel nicht automatisch. Der Ubuntu HWE-Kernel ist aber in den Paketquellen enthalten. Gehen Sie im Menü auf „Systemverwaltung –› Aktualisierungsverwaltung“ und dann auf „Ansicht –› Linux-Kernel“. Wählen Sie den gewünschten Kernel, etwa „6.14.0-28“, und klicken Sie auf „Installieren“.

Linux Mint bietet eine eigene Kernel-Verwaltung, über die Sie aktuellere Versionen installieren können. Ein automatisches Update wie bei Ubuntu erfolgt nicht.

Neue Kernel selbst zusammenbauen

Ein per Update aktualisierter Kernel kann das Hardwareproblem beheben, sichergestellt ist das aber nicht. Die Daten von https://linux-hardware.org können eine bestimmte Kernel-Version bei fehlenden Treibern empfehlen, aber auch in die Irre führen, wie unser Realtek-Beispiel zeigt. Bei bisher nicht oder unzureichend unterstützter Hardware kann der Versuch mit einem noch neueren Kernel aber nicht schaden. Einen eigenen Kernel zu erstellen ist zeitaufwendig, kann aber die Stabilität des Systems nicht gefährden.

Nutzern von Ubuntu oder Linux Mint empfehlen wir, den Ubuntu-Kernel zu verwenden. Damit können Sie aus dem Quellcode DEB-Pakete erstellen, die sich einfacher installieren und deinstallieren lassen. Auf https://kernel.ubuntu.com/mainline sind auch fertig kompilierte DEB-Pakete zu finden. Die neueren Kernel lassen sich aber aufgrund fehlender Abhängigkeiten unter Ubuntu 24.04 nicht installieren und sind nur für neuere Ubuntu-Versionen geeignet.

Kernel selbst erstellen: Unser Build-Script erzeugt DEB-Pakete für Kernel und Module, die Sie sicher installieren und bei Problemen auch wieder schnell entfernen können.

Über https://m6u.de/BMK laden Sie das Script „build-mainline-kernel.sh“ herunter, mit dem Sie einen aktuellen Kernel und Installationspakete dafür erstellen. Öffnen Sie das Script in einem Texteditor und passen Sie die Versionsnummer hinter „KVERSION=“ für den gewünschten Kernel an. Wenn ein proprietärer Nvidia-Treiber installiert ist, entfernen Sie das Kommentarzeichen vor „sudo apt install nvidia-dkms-575“ und ändern die Versionsnummer für den verwendeten Treiber. Dann setzen Sie das „Ausführen“-Attribut 

chmod +x build-mainline-kernel.sh

und starten Sie das Script:

./build-mainline-kernel.sh

Es richtet zuerst die erforderlichen Entwicklungspakete ein, lädt dann den Quellcode herunter und erstellt Kernel und Module. Die DEB-Pakete installieren Sie aus dem Arbeitsverzeichnis mit (zwei Zeilen)

sudo dpkg -i linux-headers*

sudo dpkg -i linux-image*

Damit das Grub-Menü mit der Kernel-Auswahl erscheint, setzen Sie in der Datei
„/etc/default/grub“ ein Kommentarzeichen („#“) vor „GRUB_TIMEOUT_STYLE“ und geben hinter „GRUB_TIMEOUT=“ beispielsweise „10“ an (Sekunden). Aktualisieren Sie die Grub-Konfiguration

sudo update-grub

und starten Sie Linux neu. Das System lädt automatisch den neuen Kernel, weil er eine höhere Versionsnummer trägt. Bei Problemen wählen Sie im Grub-Menü „Advanced Options for [Version]“ und dann den vorherigen Kernel.