Viel bewegt – Die Neuerungen von Linux 2.6.27

Seite 4: Neue Treiber

Inhaltsverzeichnis

Welche Treiber geändert wurden Über das Git-Web-Frontend auf Kernel.org lassen sich auch Informationen zu Änderungen an einzelnen Dateien des Linux-Kernels aufrufen – so lässt sich beispielsweise herausfinden, ob es Neuerungen an den auf dem eigenen System eingesetzten Treibern gab. Dazu muss man allerdings wissen, wo sich die Treiberdateien im Quellcodebaum des Linux-Kernels finden. Bei den zumeist stark auf Modulen setzenden Kerneln der Distributionen helfen häufig die Ausgaben des Programms modinfo bei der Suche: [VERBATIM0] Liegt ein kompiliertes Modul etwa in [...]/kernel/drivers/net/e100.ko, dann findet sich dessen Sourcecode im Linux-Quellcodearchiv normalerweise im Verzeichnis drivers/net/ in Dateien mit ähnlichem Namen – etwa e100.c im Falle des für Intel-100-MBit-Netzwerkhardware zuständigen Treibers e100. Andere Module wie der für Intels PCI-Gigabit-LAN-Chips zuständige Treiber e1000 haben hingegen ein Verzeichnis für sich allein. Kennt man die ungefähre Position des Treiber-Quellcodes, navigiert man im Git-Webinterface über die Tree-Ansicht zu den jeweiligen Quellcode-Dateien und ruft über den Link history eine Übersicht über die jüngsten Änderungen an den zugehörigen Dateien oder dem ganzen Verzeichnis auf. Im Verzeichnis für die Netzwerktreiber lassen sich so beispielsweise die Änderungen am Treibercode von e100 (drivers/net/e100.c) und e1000 (drivers/net/e1000/) anzeigen und näher unter die Lupe nehmen.

Neben den bereits erwähnten Verbesserungen bei der WLAN-Unterstützung gab es eine Unmenge neuer und erweiterter Treiber. So pflegten Torvalds und seine Zuarbeiter unter anderem eine überarbeitete Variante der weitgehend mit Hilfe von Reverse Engineering entstandenen Webcam-Treiber-Sammlung gspca ein (unter anderem 1, 2, 3). Sie eignet sich für Kameras von verschiedensten Herstellern – darunter zahlreiche Modelle von Aiptek, Creative, Logitech oder Philips. Zusammen mit dem für kurz vor Toresschluss in Linux 2.6.26 integrierten USB-Video-Treiber uvcvideo unterstützt der Linux-Kernel somit in Zukunft viele gängige Webcams von Haus aus; bislang mussten Linux-Anwender die beiden Treiber nicht selten umständlich nachinstallieren.

Ganz knapp vor Ende des Merge Window von Linux 2.6.27 hat Linus Torvalds vollkommen unerwartet das ISDN-Framework mISDN (modulares ISDN) in die jetzt veröffentlichte Kernel-Version aufgenommen (1, 2, 3, 4, 5, 6). Der Kernel bekommt damit nach mehreren Jahren Entwicklungszeit endlich einen deutlich überarbeiteten, modular aufgebauten und auf moderne Einsatzzwecke wie Telefonanlagen-Software abgestimmten ISDN-Treiber. Er kümmert sich vor allem um HFC-Chips der Cologne Chip AG, die sich auf einer ganzen Reihe passiver ISDN-Karten befinden und beliebt sind, um ISDN-Telefone direkt anzubinden. Auch Asterisk greift über ein mISDN-eigenes API auf die Dienste von mISDN zu.

Die im Kernel enthaltenen und vom Projekt Alsa (Advanced Linux Sound Architecture) gewarteten Audio-Treiber sind mit 2.6.27 nun ungefähr auf dem Stand der Alsa-Treiber-Version 1.0.17. Zu den Neuerungen dieser Version zählen unter anderem ein Treiber für für die Xonar D1 von Asus, eine größere Renovierung des Treibers snd-azt3328, Unterstützung für die Audio-Hardware der ASUS Eee**PC 90x sowie zahlreiche neue ASoC-(ALSA-System-on-Chip-)Treiber.

Wie mit praktisch jeder neuen Kernel- oder Alsa-Treiber-Version erweiterten die Entwickler die Whitelists für die automatische Anwendung Hardware-spezifischer Workarounds, sodass die Treiber diese bei so manchen PCs, Notebooks und Mainboards nötigen Sonderbehandlungen für die Audio-Codecs auf mehr Hardware als zuvor automatisch vornehmen (etwa 1, 2). Linux-Anwender, deren Audio-Hardware erst mit Hilfe solcher über Modul-Parameter beim Laden des Sound-Treibers manuell aktivierbaren Workarounds funktioniert, sollten diese Informationen daher zusammen mit Angaben zur verwendeten Hardware an die Alsa-Entwickler senden. Diese können die Whitelists dann entsprechend erweitern – davon profitiert man langfristig nicht nur selber, sondern tut auch allen anderen Besitzern der gleichen Hardware einen großen Gefallen, denn auch deren Audio-Hardware funktioniert dann in Zukunft einfach, ohne dass sie die verschiedenen Workarounds umständlich durchprobieren und manuell konfigurieren müssen.

Für die insbesondere bei vielen neuen Netbooks, Notebooks und Mainboards von Asus häufiger anzutreffenden Gigabit-LAN-Chips AR8121, AR8113 und AR8114 von Atheros haben die Kernel-Entwickler den Treiber atl1e aufgenommen. Ein größerer Patch rüstet ferner Unterstützung für die Broadcom-LAN-Chips BCM57711 und BCM57711E im Treiber bnx2x nach. Der e1000-Treiber kümmert sich fortan nicht mehr um PCIe-Gigabit-Chips von Intel – für die ist jetzt ausschließlich der neuere Treiber e1000e zuständig, der nun auch Intels Gigabit-NIC-Chip 82576 ansprechen kann.

Der Treiber sorgte bei Beta-Testern und Entwicklern in der zweiten Septemberhälfte indes für allerlei Hektik, denn er stand in den Vorabversionen von 2.6.27 unter Verdacht, gelegentlich den nichtflüchtigen Speicherbereich (NVM) von Intel-Netzwerkchips auf Boards mit ICH8, ICH9 oder ICH10 zu überschreiben. Teilweise gingen dadurch "nur" die MAC-Adresse oder andere im NVM gespeicherte Konfigurationsdaten verloren – ab und an wurde der Speicher aber auch so weit überschreiben, dass der Netzwerkchip gar nicht mehr funktionierte. Die genaue Fehlerursache haben die Entwickler bislang nicht gefunden; vermutlich ist aber nicht der Treiber selbst, sondern ein Fehler an anderer Stelle die Ursache für das Problem. Durch eine nach dem RC8 von 2.6.27 eingepflegte Änderung am Treiber verhindert dieser nun ein ungewolltes Überschreiben des NVMs.

Die Kernel-Entwickler haben zahlreiche, im wesentlichen von Intel-Entwicklern programmierte Änderungen in den Hauptentwicklungszweig von Linux eingepflegt, die den nichtflüchtigen Speicher (NVM) von Intel-Netzwerkchips vor versehentlichem Überschreiben schützen. Das soll das seit knapp zwei Wochen breit diskutierte Problem der bisherigen Vorabversionen von 2.6.27 umschiffen, das teilweise Intel-Netzwerkchips auf Boards unbrauchbar machte, die auf die Netzwerkfunktionen der Intel-Southbridges ICH8, ICH9 oder ICH10 zurückgreifen.

Den Hauptschutz soll ein bereits vor einigen Tagen eingepflegter Patch für den Treiber gewährleisten, durch das der Treiber bereits kurz nach dem Laden den Schreibschutz für den NVM setzt. Zahlreiche 24 Stunden später eingepflegte Änderungen (1, 2, 3, 4, 5, 6) verbessern den Schutz, korrigieren kleinere Fehler oder erleichtern die Fehlersuche. Die eigentliche, vermutlich nicht im e1000e-Treiber zu suchende Ursache für das ungewollte Überschreiben des nichtflüchtigen Speichers haben die Entwickler aber wohl noch nicht gefunden. Einige Distributoren liefern bereits Kernel mit, die den Schutz enthalten – darunter die kürzlich veröffentlichte zweite Beta von OpenSuse 11.1 sowie der Kernel im Entwicklerzweig von Fedora (Rawhide)

Durch größere Änderungen am Treiber fujitsu-laptop unterstützt dieser mehr Fujitsu-Siemens-Notebooks als zuvor und arbeitet besser mit Userspace-Anwendungen zur Regelung der Displayhelligkeit zusammen. Neu sind die Treiber compal-laptop und hp-wmi, mit denen sich einige herstellerspezifische Funktionen bei von HP und Compal gefertigten Notebooks nutzen lassen; beide Treiber leiten etwa Events beim Betätigen der Schalter oder Funktionstasten zum Ein- und Ausschalten von Funkverbindungen weiter. Ebenfalls primär für Notebooks interessant ist der neue Treiber sdricoh_cs, der den MM- und SD-Card-Controller Bay1 von Ricoh anspricht.