Zum Hauptinhalt Zur Navigation

Linux-Kernel 2.6.22 mit neuem WLAN-Stack

Zusätzlicher Firewire-Stack integriert. Der neue Linux-Kernel 2.6.22 bringt vor allem zwei große Änderungen mit: einen neuen WLAN- sowie einen neuen Firewire-Stack. Neben den üblichen neuen Treibern enthält der Kernel nun außerdem eine Art Logical Volume Manager für Flash-Speicher.
/ Julius Stiebert
41 Kommentare News folgen (öffnet im neuen Fenster)

Der neue WLAN-Stack "mac80211" dürfte die wichtigste Neuerung im Linux-Kernel 2.6.22 sein. Ursprünglich wurde er von der Firma Devicescape entwickelt und dann unter die GPL gestellt. Da dauerte es nicht lange, bis sich die Kernel-Entwickler der Software annahmen – WLAN unter Linux funktioniert zwar, es gibt jedoch noch vieles, das zumindest besser laufen könnte. Der neue Stack soll daher auch das erst mit dem Kernel 2.6.14 integrierte IEEE80211-Subsystem ablösen.

Das neue System bietet einige zusätzliche Funktionen wie eine komplette Software-MAC-Implementierung, wie sie von einigen Chipsätzen benötigt wird. Auch WPA- und WEP-Verschlüsselung kennt "mac80211" und bietet darüber hinaus sogar Quality-of-Service, um Dienste wie Voice-over-IP zu priorisieren. Durch Unterstützung von Hostapd lassen sich Linux-Rechner in Access Points verwandeln.

Wichtig dabei ist vor allem, dass die für den neuen Stack geschriebenen Treiber diese Funktionen direkt ansprechen können und Entwickler sie damit nicht selbst für ihre Treiber schreiben müssen. Ein Problem bleibt aber freilich: Die bestehenden Treiber können mit "mac80211" nichts anfangen und müssen portiert werden. Insofern bleibt der neue WLAN-Stack erst einmal nur für Entwickler interessant, denn die bereits vorhandenen Portierungen – etwa für Intels IPW3945- und IPW4965-Chips – sind noch nicht in den Kernel gelangt. Endnutzer profitieren aber bereits bei Fedora 7 und Ubuntu 7.04 von dem neuen Stack. Die Distributionen setzen ihn nämlich schon ein – inklusive entsprechender Treiber. Langfristig sollte sich die WLAN-Unterstützung unter Linux durch "mac80211" deutlich verbessern.

Ebenfalls neu und parallel zum Bestehenden integriert ist ein neuer Firewire-Stack. Hier stehen vor allem Design-Änderungen wie ein aufgeräumtes API im Vordergrund. Zudem nutzt der neue Stack keine Kernel-Threads, wohingegen der alte einen Thread für das Subsystem plus einen je Firewire-Controller nutzte. Die bisher vier Userspace-ABIs wurden in einem ABI zusammengefasst und über Bibliotheken soll auch die Abwärtskompatibilität sichergestellt sein.

Nutzer sollen etwa von einer genaueren Zugriffskontrolle profitieren, um den direkten Zugriff auf Firewire-Speichergeräte zu unterbinden. Problematisch auch hier: Es fehlen Treiber und einige werden wohl gar nicht mehr portiert, da niemand der Entwickler mehr einen PCILynx-Chipsatz hat. Zudem enthält der neue Stack noch einige Fehler.

Mit UBI hat des Weiteren eine Art Logical Volume Manager (LVM) für NAND-Flash-Speicher Einzug in den Kernel gehalten. Damit entsteht im Prinzip ein weiterer LVM, der aber nötig wird, da Flash-Speicher anders zu handhaben ist als gewöhnliche Festplatten. Mit den so genannten "UBI Volumes" lassen sich also dynamisch Flash-Partitionen erstellen, löschen sowie ihre Größe ändern.

Der von SGI entwickelte Slab-Allocator(öffnet im neuen Fenster) SLUB wurde ebenfalls aufgenommen – und damit ein neuer Teil für das Speicher-Subsystem des Kernels. Der Slab-Allocator verwaltet den Arbeitsspeicher und ist damit entscheidend für die Leistung des Systems. SGI beklagte einige Probleme mit dem derzeitigen System und entwickelte daher ein neues. In einigen Fällen kann so eine höhere Leistung durch effizientere Speichernutzung erreicht werden, obwohl das grundlegende Design einfacher ist als das des Standard-Slab-Allocators. SLUB ist allerdings nicht aktiviert und vom Betrieb in Produktivumgebungen wird noch abgeraten.

Mit "ivtv" ist nun der Treiber für die MPEG-Encoder/Decoder Conexant cx23416/cx23415 im Kernel. Laut Commit-Eintrag(öffnet im neuen Fenster) brauchte es drei Betreuer für diesen Treiber, mehr als vier Jahre Arbeit und acht neue I2C-Module sowie Unterstützung durch zahlreiche Nutzer, um ivtv letztlich in den offiziellen Kernel zu bringen.

Zusätzlich gibt es unter anderem einen neuen Framebuffer-Treiber für den VIA-Chip VT8623. Auch wer Linux auf einem Intel-Mac nutzt, darf sich freuen: Ein neuer SMC-Treiber für die Hardware-Überwachung und -Steuerung liest die Temperatur aus, bietet Unterstützung für die Tastaturbeleuchtung und kann die Lüfter steuern. Auch Apples "Sudden Motion Sensor" lässt sich so benutzen. Überdies wurden wie üblich auch die bestehenden Treiber aktualisiert, was sich vor allem an der Unterstützung zusätzlicher Hardware bei den Video4Linux-Modulen zeigt. Zusätzlich wurden die ACPI-Module für Thinkpads und Sony-Notebooks überarbeitet. Das entsprechende Asus-Modul kann nun – sofern vorhanden – GPS-Hardware ansprechen.

Bei den Dateisystemen gab es dieses Mal vergleichsweise wenige Änderungen. CIFS funktioniert nun mit IPv6. Bei AFS wurde der komplette Quelltext aufgeräumt und grundlegende Unterstützung zum Schreiben von Dateien integriert. OCFS2 bringt nun auch Sparse-B-Trees mit und kann daher mit Sparse-Dateien(öffnet im neuen Fenster) umgehen.

Zu den architekturspezifischen Änderungen zählt beispielsweise die Hotplug-Unterstützung für G5-CPUs und Suspend-to-Disk auf G5-Rechnern. Zudem läuft der Kernel nun auf ARM-v7-Prozessoren und auf SPARC64-Systemen gibt es nun MMU-Statistiken via Sysfs. Mit Blackfin ist außerdem die Unterstützung für eine zusätzliche Architektur hinzugekommen. Die von Intel und Analog Devices gemeinsam entwickelte Architektur wird auch bereits von GCC unterstützt. Eine Anleitung(öffnet im neuen Fenster) erklärt, wie sich eine Cross-Compiling-Umgebung für Blackfin einrichten lässt.

Hinzu kommen auch bei Linux 2.6.22 kleinere Änderungen, unter anderem an Netfilter, SELinux, KVM und den Kryptographiefunktionen.

Wie üblich steht der neue Kernel 2.6.22 als komplettes Archiv(öffnet im neuen Fenster) und als Patch(öffnet im neuen Fenster) zum Download bereit. Auch auf diversen Mirror-Servern(öffnet im neuen Fenster) liegen die Dateien.

Was kommt als Nächstes?

Weiter stellt sich die Frage, was mit dem Dateisystem Reiser4 passiert. Es liegt noch immer in Andrew Mortons Kernel-Zweig und es sieht nicht so aus, als würde es diesen bald verlassen. Schon bald könnte hingegen ein neuer Scheduler, der für die Zeitzuweisung an Prozesse zuständig ist, in den Kernel gelangen. Dabei sind zwei Ansätze von Con Kolivas und Ingo Molnar im Rennen.

Denkbar wäre auch die Aufnahme von Lguest, einem einfachen x86-Hypervisor, um mehrere Kopien eines 32-Bit-Kernels zu starten. Defizite sehen die Kernel-Entwickler vor allem auch bei der Energieverwaltung und wollen sich deshalb verstärkt diesem Thema widmen.


Relevante Themen