Original-URL des Artikels: https://www.golem.de/0606/45965.html    Veröffentlicht: 19.06.2006 09:10    Kurz-URL: https://glm.io/45965

Linux-Kernel 2.6.17 mit neuen WLAN-Treibern

Suspend-to-Disk soll im Userspace ablaufen

Linux-Chefentwickler Linus Torvalds hat mit Version 2.6.17 nun eine neue, stabile Version des Linux-Kernels freigegeben. Dieser enthält nun einen freien Treiber für Broadcoms WLAN-Chipsets 43xx und einen Patch, um Suspend-to-Disk im Userspace ablaufen zu lassen. Außerdem unterstützt der neue Kernel Suns Niagara-Plattform.

Vor allem für Nutzer von drahtlosen Netzwerken bringt der neue Kernel einige Verbesserungen mit: Nachdem nun SoftMAC in den Kernel aufgenommen wurde, konnten auch Treiber folgen, die dieses voraussetzen. SoftMac ergänzt das IEEE80211-Subsystem und implementiert einige Funktionen in Software, die teurere Chips direkt über die Hardware erledigen. Dies ist unter anderem Voraussetzung für Broadcoms Chipsets 43xx, deren durch Reverse Engineering entstandener Treiber nun Teil des offiziellen Kernels ist. Diese Chips kommen beispielsweise in Apples AirPort-Extreme-Karten von Apple und in Linksys' Routern zum Einsatz.

Der von Devicescape unter der GPL veröffentlichte WLAN-Stack ist noch kein Teil des neuen Kernels, soll aber in einer späteren Version aufgenommen werden. Derzeit portieren die Entwickler Treiber auf diesen neuen Stack, mit dem beispielsweise der Broadcom-Treiber auch WPA beherrschen wird. Dennoch wurden weitere WLAN-Treiber aktualisiert, darunter ipw2100 und ipw2200 für Intels Centrino-WLAN. Durch Änderungen am ipw2200-Modul benötigt der Treiber nun die zugehörige Firmware allerdings mindestens in Version 3.0.

Suspend-to-Disk funktioniert mit dem Linux-Kernel schon länger und lässt sich sowohl auf Laptops als auch auf Desktop-Rechnern einsetzen, um den aktuellen Zustand des Systems auf der Festplatte zu speichern. Leider funktioniert der bisher verwendete Code nicht auf jedem Computer, weshalb auch außerhalb des Kernels an alternativen Implementierungen gearbeitet wird. Mit dem "Swsusp3"-Patch wurde nun ein Patch aufgenommen, der einen Teil des Suspend-Prozesses in den Userspace verlagert und daher auch auf bisher nicht unterstützten Systemen funktionieren soll. Da der Code allerdings noch sehr frisch ist, wird er noch als experimentelle Funktion angesehen. Wer also Wert darauf legt, dass sein Computer auch wieder aufwacht, sollte Swsup3 mit Vorsicht genießen.

Der Multiple-Device-Treiber (MD), mit dem sich unter Linux Software-RAID-Arrays einrichten lassen, hatte zuletzt mit Kernel 2.6.15 einige wichtige Neuerungen bekommen. Mit Kernel 2.6.17 unterstützt der MD-Treiber nun auch das so genannte RAID-5-Reshaping. Damit kann man ein RAID-5-Array erweitern, ohne das Array neu anlegen und die zuvor gesicherten Daten wiederherstellen zu müssen. Das Array muss hierfür nicht einmal heruntergefahren werden. Dieser Vorgang ist allerdings schwierig, da sowohl die Daten als auch die Paritätsinformationen neu über das komplette Array verteilt werden müssen. Die neue MD-Version erledigt nicht nur diesen Vorgang, sondern kann dies auch dann machen, wenn noch Lese- und Schreibvorgänge erfolgen. Außerdem legt der Treiber Prüfpunkte an, so dass der Vorgang gegebenfalls wieder aufgenommen werden kann, falls er zwischendurch unterbrochen wurde.

Devfs wurde nun aus dem SCSI-Subsystem entfernt. Es verbleibt jedoch auch weiterhin in anderen Teilen des Kernels, auch wenn die Entwickler Devfs schon länger nicht mehr unterstützen und dessen Entfernung angekündigt haben. Greg Kroah-Hartman, von dem das Nachfolgesystem Udev stammt, wird daher vermutlich auch dieses Mal wieder seine seit Kernel 2.6.12 eingereichten Patches vorschlagen, um Devfs endgültig aus dem Kernel zu schmeißen.

Große Teile des SPARC64-Codes wurden aktualisiert, so dass Linux nun auch auf Suns UltraSPARC T1 läuft. Neben der eigentlichen CPU funktionieren auch PCI-Geräte, der Hypervisor und die serielle Konsole des Hypervisors sowie weitere Teile der Niagara-Plattform. Ein Teil des für die SPARC64-Architektur notwendigen Quelltextes wurde zu diesem Zweck komplett neu geschrieben.

Des Weiteren haben sich die Linux-Entwickler wie immer einzelnen Treibern gewidmet. Ein Teil der USB-Audio-Treiber wurde aus der aktuellen Kernel-Version entfernt, da die betroffenen Geräte mit den passenden ALSA-Treibern besser funktionieren. ALSA selbst und die bestehenden ALSA-Codecs wurden teilweise ebenfalls aktualisiert, so dass nun beispielsweise auch Adlib-FM-Karten und Audiotraks Prodigy 7.1 LT unterstützt werden. Auch das Video4Linux-Subsystem erhielt wieder einige Updates, insbesondere in Bezug auf DVB-Geräte, so dass neue DVB-T-, aber auch DVB-S-Karten unterstützt werden. Bei Hauppauges HVR 900 funktioniert zudem der Composite-Eingang und zusätzlich wurden Probleme mit alten Treibern behoben. Durch Änderungen an der "libata" für SATA-Unterstützung funktionieren nun unter anderem Promise-Fasttrak-TX4300/TX4310-Controller.

Ein neues RTC-Subsystem ermöglicht die Nutzung diverser Echtzeituhren und die einzelnen Dateisysteme wie Ext3, JFS, XFS und FUSE wurden überarbeitet. So unterstützt JFS nun auch die Mount-Optionen uid, gid und umask. Der SMB-Nachfolger CIFS soll Verzeichnisse zudem schneller lesen können.

Netfilter, mit dem sich Netzwerkpakete abfangen und manipulieren lassen, wurde um einen Connection Tracking Helper für das für audiovisuelle Kommunikation zuständige H.323-Protokoll erweitert. Damit funktionieren die Verbindungsverfolung - also das Speichern von Informationen wie der Quell- und Zieladresse - und Network Address Translation (NAT) mit H.323.

Neu ist auch eine leichtgewichtige Futex-Implementierung, ein Mutex-System, das im Userspace läuft. Mutex (Mutual Exclusion) verhindert, dass Prozesse gleichzeitig auf Daten zugreifen, die diese beschädigen könnten. Mit Futex kann dieses ohne den Kernel ablaufen, was vor allem den Overhead senken soll. Der Kernel wird nur dann aktiv, wenn wartende Prozesse sich in eine Warteschlange einreihen müssen. Sobald Futex verfügbar ist, informiert der Kernel diese dann darüber - wird keine Warteschleife benötigt, arbeitet Futex hingegen komplett ohne Einsatz des Kernels.

Mit EXPORT_SYMBOL_GPL_FUTURE() wurde darüber hinaus ein neues, internes Symbol integriert, das Greg Kroah-Hartman angeregt hatte. Dieses markiert Symbole, die sich in Zukunft dahingehend ändern könnten, dass sie sich nur noch von GPL-Modulen aufrufen lassen. Um zu vermeiden, dass eine solche Änderung für Anbieter der entsprechenden Module überraschend kommt, werden diese nun durch EXPORT_SYMBOL_GPL_FUTURE() gewarnt und können sich überlegen, wie sie reagieren.

Nach dem Erscheinen von Kernel 2.6.17 wird Adrian Bunk nun vermutlich eine neue, stabile Kernel-Serie auf Basis von Kernel 2.6.16 starten. Ob die von Kernel-Maintainer Andrew Morton angeregte Verlangsamung der Entwicklung eintritt, um sich mehr den zunehmend auftretenden Fehlern im Kernel zu widmen, wird sich wohl schon bei Erscheinen des ersten Release Candidates für die nächste Kernel-Version 2.6.18 abzeichnen. Die von Andrew Morton vorgestellte Liste an Änderungen, die für 2.6.18 in Frage kommen, lässt eine Verlangsamung allerdings nicht vermuten.

Kernel 2.6.17 kann entweder als vollständiges Archiv oder als Patch von kernel.org heruntergeladen werden. Außerdem steht die neue Version auf diversen Mirror-Servern zum Download bereit.  (js)


Verwandte Artikel:
Sicherheitslücke im Netfilter-Code von Linux (Update)   
(22.03.2006, https://glm.io/44185 )
Linux-Kernel 2.6.16 unterstützt Oracles Cluster-Dateisystem   
(20.03.2006, https://glm.io/44112 )
IBRS und Retpoline: Linux-Entwickler diskutieren weiter über Spectre-Paches   
(24.01.2018, https://glm.io/132364 )
Google: Chromebooks bekommen "Linux-VMs" und "Terminal"   
(27.02.2018, https://glm.io/133030 )
Linux: Kernel-Hacker wollen Yaml zur Hardware-Beschreibung nutzen   
(30.10.2017, https://glm.io/130868 )

Links zum Artikel:
kernel.org: http://www.kernel.org

© 1997–2019 Golem.de, https://www.golem.de/