Treiber
sk98lin, skge und sky2: die Linux-Treiber der SK-Adapter
Der Herstellertreiber sk98lin ist längst aus dem Kernel verschwunden, die Karten laufen trotzdem. Welches Modul heute welche SK-Karte bedient, wie man das prüft und was man mit alten Installationspaketen macht.
Von Redaktion SysKonnect aktualisiert am
Kurz gesagt
Alte SK-Adapter brauchen unter Linux keinen Herstellertreiber mehr: skge bedient die älteren Genesis- und Yukon-Chips der SK-98xx-Reihe, sky2 die Yukon-2-Chips der SK-9Exx- und SK-9Sxx-Modelle. Welches Modul greift, zeigt lspci -k, nicht die Modellnummer auf der Karte.
Wer eine alte SK-Karte in einem Linux-System betreibt, stolpert früher oder später über drei Namen: sk98lin, skge und sky2. Sie stehen für zwei unterschiedliche Ansätze - einen Herstellertreiber und zwei im Kernel gepflegte Module - und die Verwirrung darüber hält sich in Foren seit Jahren.
Die kurze Geschichte
sk98lin war der Treiber des Herstellers. Er wurde als Installationspaket ausgeliefert, kam mit einem Skript, das das Modul gegen den laufenden Kernel übersetzte, und deckte in seinen letzten Versionen sowohl die SK-98xx- als auch die SK-9Exx- und SK-9Sxx-Adapter ab. Genau das war der Inhalt der damaligen Downloadseiten für Linux.
Parallel entstanden im Kernel zwei eigene Module: skge für die älteren Chips und sky2 für die Yukon-2-Generation. Sie waren schlanker, wurden mit dem Kernel gepflegt und mussten nicht bei jedem Update neu gebaut werden. Damit war der Herstellertreiber überflüssig; sk98lin wurde aus dem Mainline-Kernel entfernt. Die Hardware lief einfach weiter.
Welches Modul für welche Karte
Als grobe Zuordnung gilt:
- skge - ältere Karten der SK-98xx-Reihe mit Genesis- und frühen Yukon-Chips, typischerweise auf PCI und PCI-X.
- sky2 - Karten mit Yukon-2-Chip, also die SK-9Exx-Reihe auf PCI Express und die SK-9Sxx-Reihe auf PCI-X, dazu unzählige Onboard-Chips derselben Familie in Mainboards und Notebooks jener Jahre.
Diese Zuordnung ist eine Faustregel, keine Garantie. Innerhalb einer Modellreihe wurden über die Produktionsjahre verschiedene Chips verbaut. Verlässlich ist nur die PCI-ID.
So prüfst du es am laufenden System
Der Blick auf den tatsächlich geladenen Treiber:
lspci -nnk | grep -A 3 -i ethernet
Die Ausgabe nennt Gerät, PCI-ID in eckigen Klammern und darunter Kernel driver in use. Alternativ, wenn der Schnittstellenname bekannt ist:
ethtool -i enp3s0
Steht dort driver: skge oder driver: sky2, ist alles in Ordnung - die Karte wird vom Kernel bedient und überlebt jedes künftige Update. Taucht gar kein Treiber auf, hilft die Fehlersuche Schritt für Schritt weiter.
Was du mit alten Installationspaketen machst
Kurz gesagt: liegen lassen. Die Pakete aus der Kernel-2.6-Zeit lassen sich gegen aktuelle Kernel nicht mehr übersetzen, und selbst wenn es gelänge, wäre das Ergebnis ein Modul, das nach dem nächsten Update wieder kaputt ist. Das Grundprinzip dahinter - In-Kernel-Modul schlägt extern gebautes Herstellermodul - gilt weit über diese Karten hinaus und ist im Treiber-Überblick beschrieben.
Typische Stolpersteine im Betrieb
Energiesparfunktionen. Ältere Chips vertragen aggressives Powermanagement schlecht. Wenn die Verbindung im Leerlauf abreißt und nach dem ersten Paket zurückkommt, lohnt ein Test mit deaktiviertem Wake-on-LAN-Sparmodus über ethtool.
Jumbo Frames. Die Karten beherrschen größere Rahmen, aber nur, wenn Switch und Gegenstelle dieselbe MTU fahren. Eine einseitig gesetzte MTU führt zu Verbindungen, die für kleine Pakete funktionieren und bei großen stehen bleiben.
Ringpuffer. Auf alten Karten sind die Puffer klein. Bei Dauerlast über mehrere Streams hilft ein etwas größerer Wert per ethtool -G, sofern die Karte ihn annimmt.
Alle drei Einstellungen gehören in die dauerhafte Konfiguration, nicht nur in die Shell - siehe Linux-Netzwerktreiber einrichten.
Wann ein Austausch sinnvoller ist
Wenn die Karte in einem produktiven System steckt, das dauerhaft Last fährt, ist eine aktuelle Karte die ruhigere Lösung: geringerer Stromverbrauch, größere Puffer, bessere Verteilung der Last über mehrere Prozessorkerne. Die Auswahlkriterien stehen unter Netzwerkkarten und Adapter, die Modellhistorie der alten Karten im SK-Adapter-Archiv.
Häufige Fragen
Kann ich sk98lin auf einem aktuellen Kernel noch übersetzen?
In der Praxis nein. Die Installationspakete stammen aus der Kernel-2.6-Zeit und nutzen Schnittstellen, die es so nicht mehr gibt. Das ist auch nicht nötig, weil skge und sky2 dieselbe Hardware bedienen.
Mein System lädt sky2, die Karte ist aber eine SK-98xx. Ist das falsch?
Nein. Entscheidend ist der verbaute Chip, nicht die Modellreihe. Innerhalb einer Reihe wurden über die Jahre unterschiedliche Chipgenerationen verbaut, deshalb kann beides korrekt sein.
Wo bekomme ich die historischen Treiberpakete noch her?
Über das Internet Archive, das die alten Downloadseiten samt Dateien konserviert hat. Wir hosten diese Dateien nicht und bieten keinen Support dafür an.