Linux unterstützt heute nativ eine große Anzahl von WLAN-Chips verschiedener Hersteller. Möglich macht das der clevere WLAN-Stack Mac80211.
Was im Alltag funktionieren soll, braucht eine gut programmierte Struktur im Hintergrund. Wenn sich daran etwas ändert, merkt das der Benutzer im Idealfall überhaupt nicht – auch nicht im Extremfall eines Komplettumbaus. Ein Beispiel eines solchen erfolgreichen Wechsels stellte die Einführung des WLAN-Stacks mac80211[1] in den Linux-Kernel dar. Vor fast genau einem Jahr übergaben die Maintainer des neuen Stacks den Code an Linus Torvalds, der ihn in den Release Candidate des damals neuen Kernels 2.6.22 einfließen ließ. Kuriosum am Rande: Mit dem Stack zog kein einziger Treiber mit in den Kernel ein. Dies war ein Novum, da die Kernel-Maintainer eine solche Vorgehensweise nur in seltenen Fällen zulassen. Bei Mac80211 sollte die Ausnahme der Weiterentwicklung des Stacks dienen. Die Treiberlosigkeit dauerte auch nur kurze Zeit: Bereits der Nachfolgekernel 2.6.23 brachte die ersten WLAN-Karten mit dem neuen Stack zum Laufen.
Mac80211 entstand aus dem von Devicescape [2] entwickelten Stack d80211. Das Unternehmen hatte die bewährte Lösung, die schon in verschiedenen Embedded-Devices eingesetzt war, im Jahr 2007 unter der GPL freigegeben. Daraufhin nahmen sich viele Entwickler des Codes an und machten ihn reif für die Aufnahme in den Kernel. Mittlerweile hat Mac80211 das ältere IEEE80211-Subsystem fast vollständig ersetzt.
Zurück zu dem, was der Anwender vom neuen Stack merkt. Aus technischer Sicht wird ihm so gut wie nichts auffallen, sofern er nicht als regelmäßiger Besucher der Kommandozeile seine WLAN-Hardware manuell konfiguriert. In der Regel übernehmen diese Aufgabe die in den Distributionen integrierten Netzwerkmanager oder zusätzliche Anwendungen wie das jüngst vorgestellte Programm Wicd [3]. Der Anwender freut sich lediglich darüber, dass nach und nach immer mehr handelsübliche Netzwerkkarten aus dem Stand heraus ganz ohne komplizierte Installation funktionieren. Damit gehören Installations- und Kompilier-Orgien oder nächtelange Versuchsreihen mit dem Ndiswrapper der Vergangenheit an.
Einheitliches im Hintergrund
Das stellt den größten Vorteil der neuen Stack-Architektur dar, meint auch der deutsche Entwickler Johannes Berg: Er ist der Maintainer von Mac80211. Er hebt hervor, dass der neue Stack das Entwickeln, Einbinden und Nutzen von WLAN-Geräten einfacher macht und vor allem einheitlich gestaltet. Ein Großteil der Funktionen seien in Softmac umgesetzt – ein Verfahren, das auch viele Gerätehersteller einsetzen. Dieses ermöglicht Einsparungen bei den Entwicklungs- und Pflegekosten und mehr Flexibilität. Berg sagt: “Den WLAN-Stack kann man sich als zentrale Ebene zwischen den Netzwerkkomponenten im Kernel und der Hardware vorstellen.” Daraus ergibt sich, dass sich fast alle Hardware identisch verhält und auch alle Userspace-Programme gleich auf die Geräte zugreifen können. Sonderlösungen braucht es nur noch im seltenen Ausnahmefall. Für die Hardware-Hersteller bietet der neue Stack ebenfalls Vorteile: Sie können sich bei der Programmierung ihren Treiber ein großen Teil Code sparen, da diesen Mac80211 bereits zentral vorhält. Als für alle Seiten positiven Nebeneffekt beschränkt der neue Stack die Anzahl der noch notwendigen proprietären Bestandteile auf ein Minimum – in der Regel genügen Firmware-Dateien, die sich flexibel nachladen lassen.
State-of-the-art in Sachen drahtlosem Netzwerk: Der Kernel 2.6.25 unterstützt 18 verschiedene WLAN-Chips, 16 davon über Mac80211. “Die meisten handelsüblichen Karten funktionieren jetzt,” freut sich Johannes Berg. Nur der Atheros-Treiber macht noch ein wenig Sorgen. Er läuft noch nicht stabil und unterstützt auch noch nicht alle verfügbaren Karten mit diesem Chipsatz. Zur nutzbaren Hardware gehören vor allem Karten mit Chips von Ralink, Broadcom und Intel. jedoch klammert Berg bei den ersten beiden Herstellern die neueren Chips noch aus. Diese nutzen den kommenden Übertragungsstandard IEEE 802.11n, der sich derzeit noch im Entwurfsstadium befindet. Der einzige Hersteller mit von Linux voll unterstützten 802.11n-Chips ist Intel. Das Unternehmen steckt bis heute viel Energie und finanzielle Mittel in seine Linux-Treiber und war auch teilweise an der Entwicklung von Mac80211 beteiligt.
Alte Technik mit neuen Funktionen
Der neue Stack bringt auch Besitzern älterer Hardware Vorteile. Konnten deren alten Karten oftmals nicht mit aktuellen Schutzmechanismen wie der WPA-Verschlüsselung umgehen, ist dies jetzt möglich. Die Lösung ist der Stack selbst: Er übernimmt die Ver- und Entschlüsselung in Software. Den WPA-Supplicant – den Client, der für den Austausch des Schlüssels verantwortlich ist – braucht der Anwender weiterhin, bald sogar mehr denn je. In Zukunft wollen die Entwickler noch mehr verschlüsselungsrelevanten Code aus dem Kernel in das Userspace-Tool packen. Außerdem sollen eine ganze Reihe neuer Funktionen wie Fast-Roaming hinzukommen. Als Grund dafür nennt Mac80221-Maintainer Berg höhere Stabilität und die Möglichkeit, neue Features schneller integrieren zu können. Außerdem erleichtere die Verlagerung die Fehlersuche und -behebung.
Was die Zukunft bringt
Zu Neuerungen an denen derzeit gearbeitet wird, gehören die Unterstützung für Mesh-Netzwerke und das neue Konfigurationstool für die Kommandozeile. Das Werkzeug sei jedoch derzeit noch nicht ausgereift und einsetzbar, erklärt Johannes Berg. In Zukunft soll es die Werkzeugsammlung iwconfig ersetzen. Dann müssen Administratoren ein klein wenig umdenken, da die Entwickler beabsichtigen, die Befehlssyntax dicht an jene der Netzwerksteuerung ip anzulehnen. Doch das ist noch umstritten, weiß Berg aus Entwicklerkreisen zu erzählen. Als ebenfalls noch nicht einsatzbereit gilt das Mesh-Networking, an dem noch gearbeitet wir. Es soll nach derzeitigem Planungsstand in den Kernel 2.6.26 einfließen. Ein weitere Baustelle, auf der die Entwickler noch viel zu tun haben, stellen das Power-Management und die Stromsparfunktionen von drahtlosen Geräten dar. Johannes Berg bringt dieses Thema prägnant auf den Punkt: “Das könnte besser sein.”
Fazit
Vom neuen WLAN-Stack Mac80211 merken Sie als Anwender in der Regel nichts. Jedoch gibt es dank des neuen Systems nun immer seltener Probleme, Linux-kompatible WLAN-Hardware zu finden. Dank der zentralisierten Struktur des Stacks lassen sich auch zukünftige Chips bei entsprechender Unterstützung durch die Hersteller in kurzer Zeit unter Linux zum Laufen bringen. Damit stellt Mac80211 einen entscheidenden Schritt auf dem Weg dar, Linux auf Augenhöhe mit anderen aktuellen Betriebssystemen zu bringen.
Glossar
-
Softmac
-
Zusätzliche Abstraktionsschicht zwischen Betriebssystem und Netzwerkkarte, die Anpassungen und Funktionserweiterungen auf dem MAC-Layer ermöglicht.
-
IEEE 802.11n
-
Der erste Entwurf des kommenden Standards – genannt Draft-n – für die drahtlose Übertragung über WLAN wurde im Januar 2006 verabschiedet. Mit der endgültigen Verabschiedung wird im Juni 2009 gerechnet. Der n-Standard soll größere Distanzen überbrücken und Brutto-Übertragungsraten bis 300 Mbit/s erreichen [4].
-
Fast-Roaming
-
Die Fähigkeit kommender WLAN-Chips, sich flexibel und nahtlos in immer neue Netzwerke einklinken zu können. Fast-Roaming wird Bestandteil des Standards IEEE 802.11r [5] sein.
-
Mesh-Netzwerke
-
Netze aus mehreren Endgeräten, die sich selbst initiieren und konfigurieren. Im Mesh-Netz dient jedes Gerät gleichzeitig als Sender, Empfänger und Router. Spezielle Routing-Verfahren sorgen dafür, dass sich das Netz beständig anpasst, wenn sich Knoten bewegen, hinzukommen oder ausfallen.
[1] WLANs mit Linux: http://linuxwireless.org
[2] Devicescape: http://www.devicescape.com
[3] Wicd: Jahn Rähm, “… und drin!”, LinuxUser 04/2008, S. 34, http://www.linux-user.de/ausgabe/2008/04/034/
[4] Status von IEEE 802.11n: http://grouper.ieee.org/groups/802/11/Reports/tgn_update.htm
[5] Status von IEEE 802.11r: http://grouper.ieee.org/groups/802/11/Reports/tgr_update.htm





