Kernel-Log – Was 2.6.33 bringt (5): Treiber

Verbesserungen im Alsa-Code für HD-Audio-Codecs, ein V4L/DVB-Treiber für den Mantis-TV-Chip sowie Treiber für MSI-Notebooks und neuere AMD-CPUs und einiges mehr verbessern die Hardware-Unterstützung von Linux. Die Android-Treiber sind aus dem Staging-Bereich geflogen, Ramzswap (früher Compcache), Framework zum Komprimieren von Arbeitsspeicher, hinzugekommen.

In Pocket speichern vorlesen Druckansicht 1 Kommentar lesen
Lesezeit: 40 Min.
Von
  • Thorsten Leemhuis
Inhaltsverzeichnis

Ende vergangener Woche hat Linus Torvalds mit Linux 2.6.33-rc8 die achte Vorabversion des Linux-Kernel 2.6.33 freigegeben. Er denkt laut Freigabemail, dass dies die letzte Vorabversion sei, was auf die Freigabe der nächsten Kernel-Version aus dem Hauptentwicklungszweig Ende dieser oder Anfang nächster Woche hindeutet; es wäre aber auch nicht das erste Mal, dass Torvalds doch noch eine weitere Version einschiebt und den Kernel drei bis sieben Tage später veröffentlicht.

Die folgende Beschreibung der Neuheiten rund um Treiber in den Bereichen Audio und Video, Notebooks, Eingabegeräte und Hardware-Monitoring, USB und Firewire sowie der sie umgebenden Infrastruktur schließt die Berichterstattung über die wichtigsten Neuheiten von Linux 2.6.33 im Rahmen der Mini-Serie "Was 2.6.33 bringt" ab. Die bedeutsamsten Änderungen inklusive neuer Treiber rund um die Netzwerkunterstützung, Dateisysteme, Storage-Subsystem, Grafikhardware, Architektur, Tracing und Virtualisierung waren Thema im ersten, zweiten, dritten und vierten Teil der Serie.

Bei den Audio-Treiber gäbe es diesmal nicht so viel Änderungen wie bei 2.6.31 und 2.6.32, erklärte Takashi Iwai in einer Mail, in der er die wichtigsten der für 2.6.33 vorbereiteten Neuerungen zusammengefasst hat. So hebt er hervor, dass sich der Code zur Unterstützung von HD-Audio-Codecs stabilisiere, auch wenn es noch viele Änderungen gebe. Erwähnenswert ist ihm auch die Unterstützung für HDMI-Audio-Codecs von Intel sowie der Code zum Ansprechen zahlreicher von VIA gefertigten HD-Audio-Codecs – deren Namen und Links zu diesen und anderen Commits finden sich im Abschnitt "Die kleinen Perlen" in der zweiten Hälfte des Artikels. Dort sind wie immer auch viele systemspezifische Sonderbehandlungen ("Quirks") verzeichnet, die die Kernel-Entwickler für zahlreiche separat verkaufte oder in PCs oder Notebooks eingesetzte Mainboards aufgenommen haben. Entfernt haben die Kernel-Hacker OSS-Audio-Treiber für Ensoniq-SoundScape-Hardware.

Von den über zehntausend seit der Freigabe von Linux 2.6.32 im Hauptentwicklungszweig vorgenommenen Commits sind über 330 im Audio-Subsystem angesiedelt. Das V4L/DVB-Subsystem übertrifft das aber locker, denn dort gab es diesmal über 600 große und kleine Änderungen. Die wichtigsten hebt Subsystem-Verwalter Mauro Carvalho Chehab in seinen Haupt-Git-Pull-Requests hervor. Unter den neuen Treiber sind etwa die neuen Gscpa-Subtreiber pac7302 und stv0680 für diverse Webcams-Chips. Größere Umbauarbeiten gab es auch an der Infrastruktur zum Ansprechen vom Infrarot-Empfängern für Fernbedienungen. Erst kurz vor der fünften Vorabversion stieß zudem der Treiber Mantis zum Kernel, der den gleichnamigen Chipsatz und den auf diversen TV-Karten eingesetzten Chip unterstützt.

Neu zum Kernel stieß der Treiber msi-wmi, mit dessen Hilfe die Funktionstasten zum Regeln der Lautstärke oder Displayhelligkeit einiger MSI-Notebooks auch unter Linux arbeiten sollten. Auch der Treiber classmate-laptop für Intels Classmate-PCs ist neu dabei. Erheblich überarbeitet haben die Kernel-Hacker einige Teile rund um die Audio-Unterstützung des Treibers für Thinkpad-Notebooks von IBM und Lenovo (1, 2, 3).

Den Treiber wacom erweiterten die Kernel-Entwickler um Unterstützung für die von Wacom gefertigten Single- und Multi-Touch-LCD-ISDv4-Tablets mit den Identifikationscodes 9F, E2 und E3. Verbessert haben die Entwickler die Unterstützung für Geräte wie die Dell-Latitude-Notebooks der Serie E6x00, die Touchpads und Trackpoints von ALPS haben. Der ALPS-Treibercode unterstützt nun auch die etwa bei Notebooks von Acer gelegentlich zu findenden Touchpads mit einem "4-directional button" besser.

Mit Hilfe des neu zum Kernel gestoßenen Treibers k10temp lassen sich die Temperatursensoren verschiedener neuerer AMD-CPUs auslesen. Da viele CPUs jedoch fehlerhafte Werte liefern, arbeitet der Code erst nach Angabe eines speziellen, in der Dokumentation angegebenen Parameters. Der Treiber via-cputemp ist ebenfalls frisch dabei und gibt die Daten der Temperatursensoren in neueren VIA-CPUs aus.

Zum USB-Subsystem stieß ein maßgeblich von Nokia entwickelter Treiber für den USB-EHCI-Controller von OMAP-34xx-Prozessoren. Einige weitere Änderungen im USB-Subsystem finden sich über die Links in der zweiten Artikelhälfte und den Git-Pull-Request des USB-Subsystem-Verwalters.

Der Verwalter des FireWire-Codes von Linux, Stefan Richter, rät Distributionen über einen Git-Pull-Request und einigen Änderungen am bei der Kernel-Konfiguration eingeblendeten Hilfe-Text nun nachhaltig zum Umstieg auf des neueren, Juju genannten FireWire-Stack. Details zu den nötigen Schritten liefert das Wiki der Linux-FireWire-Entwickler; dort sind auch einige weitere Korrekturen und Verbesserungen am FireWire-Code von Linux 2.6.33 gelistet

Wie bereits ersten Teil der Mini-Serie "Was 2.6.33 bringt" erwähnt, nahmen die Kernel-Entwickler den Treiber rtl8192u für die gleichnamigen WLAN-Chips von Realtek in den Staging-Zweig auf – er ist leicht zu verwechseln mit den Treibern rtl8192e und rtl8192su, die schon bei früheren Kerneln in den Bereich für unreife und "mistige" Treiber aufgenommen wurden. Umbenannt wurde der Treiber rtl8187se, da ein ordentlicher Linux-Treiber in Zukunft diesen Namen tragen soll.

Größere Änderungen gab es auch an den Staging-Treiber für neuere WLAN-Chips von Ralink – der Treiber rt3090 etwa konnte entfernt werden, weil dessen Funktionen nun der Staging-Treiber rt2860 erledigt. Diese Staging-Treiber basieren auf einigen von Ralink selbst entwickelten und unter der GPL freigegebenen Treibern, die der Hersteller zwischenzeitlich aktualisiert hat – einige der dort enthaltenen Verbesserungen haben die Kernel-Entwickler in die Staging-Treiber des Kernels überführt.

Im Staging-Zweig landete auch das zuvor Compcache und nun Ramzswap genannte Framework, das die auf einem virtuellen Swap-Device abgelegten Daten komprimiert im Arbeitsspeicher ablegt, um diesen effizienter zu nutzen – Hintergründe zu der Technik liefert die Dokumentation sowie ein im Mai vergangenen Jahres bei LWN.net publizierter Artikel. Neu dabei ist auch Code zur Überstützung des Protokolls B.A.T.M.A.N. (Better Approach To Mobile Ad-Hoc Networking), das den Aufbau von Ad-Hoc-Mesh-Netzwerken ermöglicht – Details dazu finden sich bei open-mesh.org

Wie erwartet wurde der Code für Distributed storage (DST) und einige Treiber für Googles Android aus dem Staging-Bereich entfernt, weil sich niemand um deren Code gekümmert hat. Die Hintergründe im Fall der Android-Treiber erläuterte Staging-Verwalter Greg Kroah-Hartman in einem Blog-Post genauer, über das wir bereits berichteten.

Einen Überblick über weitere Änderungen im Staging-Bereich und deren Hintergründe liefert Kroah-Hartman in einem zweiten Blog-Eintrag. Dort droht er auch einigem anderen Treibern einen Rauswurf in naher Zukunft an. Darunter sind auch die Treiber zur Unterstützung von Hyper-V, weil die dafür zuständigen Microsoft-Entwickler wieder einmal verschwunden seien ("The developers again seem to have disappeared, this is getting old"). Bereits im vergangenen September hatte Kroah-Hartman deren Rauswurf aus dem selben Grund angedroht, dann tauchten die Entwickler aber wieder auf – so auch jetzt, sodass der Rauswurf fürs erste abgewendet scheint.

Viele weitere nicht ganz so wichtige, aber keineswegs unbedeutende Neuerungen finden sich in der folgenden Liste mit den englischen Commit-Überschriften der jeweiligen Änderung. Die Einträge verlinken genau wie viele der Verweise im vorangegangenen Text auf das Webfrontend des von Linus Torvalds gepflegten Git-Zweigs mit den Kernel-Quellen auf Kernel.org. Im Webfrontend liefern normalerweise der Commit-Kommentar und der Patch selbst zahlreiche weitere Informationen zur jeweiligen Änderungen.

Audio

Asoc

FireWire

EDAC/HW-Monitoring/I2C

Input

Notebooks

USB

Staging:

V4L/DVB

Various Drivers

Die Kernel-Entwickler pflegen das Gros der Änderungen für eine neue Kernel-Version am Anfang des Entwicklungszyklus in das Quellcodeverwaltungssystem ein. Dadurch kann das Kernel-Log die Neuerungen einer noch in Entwicklung befindlichen Linux-Version beschreiben, Wochen bevor Linus Torvalds diese freigibt. Häufig nehmen die Kernel-Entwickler in der zweiten Phase des Entwicklungszyklus aber noch einige kleinere, zumeist nicht ganz so wichtige Änderungen der Kategorie "Die kleineren Perlen" in den Linux-Kernel auf – teilweise, nachdem wir über die entsprechenden Bereiche berichtet haben.

Diesmal gehörte der "Firmware download driver" ath3k für Bluetooth-Chips von Atheros zu einem der Nachzügler. Eine Auswahl einiger weiter – darunter TCP_NODELAY-Unterstützung für CIFS, ein neue Mount-Option für Btrfs oder Performance-Verbessungen für CFQ – finden Sie solcher in der folgenden Liste:

Dateisysteme

Grafik

Netzwerk

Storage

USB

Im vierten, Architektur und Virtualisierung gewidmeten Teil der Serie "Was 2.6.33 bringt" fehlten im Abschnitt "Die kleinen Perlen" versehentlich einige Links zu einigen weiteren im Bereich Infrastruktur angesiedelten Änderungen:

Weitere Hintergründe und Informationen zu Entwicklungen im Linux-Kernel und dessen Umfeld finden sich in den vorangegangenen Kernel-Logs auf heise open. Neue Ausgaben des Kernel-Logs werden auf den Identi.ca- und Twitter-Konten "@kernellog" erwähnt; die englischen, bei den Kollegen von "The H" erscheinenden Übersetzungen auf den Identi.ca- und Twitter-Konten "@kernellog2". Der Autor des Kernel-Logs zwitschert unabhängig davon über einige Kernel-Log-Themen bei Identi.ca und Twitter als "@kernellogauthor". (thl). (thl)