zurück zum Artikel

Broadcom veröffentlicht Open-Source-WLAN-Treiber für Linux

Thorsten Leemhuis

Als letzter großer Hersteller von WLAN-Chips unterstützt nun auch Broadcom die Entwickler von quelloffenen Linux-Treibern.

Broadcom hat den für die 802.11n-WLAN-Chips BCM4313, BCM43224 und BCM43225 geeigneten Linux-WLAN-Treiber brcm80211 [1] unter einer GPL2-kompatiblen Lizenz freigegeben [2]. Kernel-Hacker [3] Greg Kroah-Hartman hat ihn bereits in den Entwicklerzweig des für qualitativ minderwertige Treiber gedachten Staging-Tree aufgenommen [4] und angekündigt [5], den Treiber für die Ende dieses oder Anfang nächsten Jahres erwartete Linux-Version 2.6.37 in den Hauptentwicklungszweig [6] von Linux zu integrieren.

Der langjährige Linux-WLAN-Treiber-Entwickler Luis R. Rodriguez ("mcgrof") lobt Broadcom in einem Dent [7] bei der Twitter-Alternative Identi.ca; seiner Ansicht nach [8] komme damit die Mission zur Offenlegung aller wichtigen 802.11-WLAN-Treiber nach ungefähr fünf Jahren zu einem Ende. Mit diesem Schritt dürfte langfristig auch die Warnung [9] vor dem Kauf von Broadcom-Hardware überflüssig werden, die kürzlich in das Wiki der derzeit in San Francisco [10] tagenden WLAN-Treiber-Entwickler einfloss und im vor einigen Tagen [11] veröffentlichten Kernel-Log [12] Erwähnung fand.

Linux-WLAN-Hacker Luis R. Rodriguez kurz nach der Freigabe des 802.11n-Broadcom-Treibers.

Hintergrund für diese Warnung war der proprietäre Treiber broadcom-wl, der neben dem kaum mehr gewarteten Ndiswrapper [13] bislang die einzige Möglichkeit war, viele der neueren WLAN-Chips von Braodcom unter Linux in Betrieb zu nehmen. Für viele ältere Broadcom-WLAN-Chips enthält der Linux-Kernel schon länger einen maßgeblich mit Hilfe von Reverse Engineering entstandenen Treiber b43; auf dessen Seite im Wiki der Linux-WLAN-Entwickler [14] finden sich neben den vom neuen Treiber unterstützten Chips noch einige weitere, die bislang als nicht unterstützt gelten. Schon die Freigabe-Ankündigung von Brcm80211 [15] weist darauf hin, dass der Treiber ein Framework zur Unterstützung weiterer Chips biete.

Der jetzt freigegeben Treiber basiert auf dem Mac80211 genannten WLAN-Stack des Linux-Kernels, auf dem alle neueren WLAN-Treiber des Kernels aufsetzen; damit ist er einigen der anderen Treiber im Staging-Zweig voraus, die auf anderen WLAN-Stacks basieren – das ist aber nur einer der Gründe ist, warum diese Treiber im Bereich für minderwertige Treiber residieren.

Einige Hinweise zum Funktionsumfang von Brcm80211 liefert dessen Dokumentation [16]; die bei Staging-Treibern vorgeschriebene ToDo-Datei [17] liefert einen Überblick über die noch anstehenden Arbeiten, bevor der Treiber aus Staging-Bereich an den für ordentliche WLAN-Treiber vorgesehenen Platz im Kernel-Quellcode umziehen kann. Möglicherweise erweitern die Kernel-Entwickler aber mit Hilfe des nun offenliegenden Codes auch den älteren Broadcom-Treiber um Unterstützung für die von Brcm80211 unterstützten Bausteine oder verpassen ihm im Rahmen von größeren Überarbeitungen einen neuen Namen. (thl [18])


URL dieses Artikels:
https://www.heise.de/-1076480

Links in diesem Artikel:
[1] http://linuxwireless.org/en/users/Drivers/brcm80211
[2] http://thread.gmane.org/gmane.linux.kernel.wireless.general/55418
[3] http://www.heise.de/glossar/entry/Kernel-Hacker-397919.html
[4] http://git.kernel.org/?p=linux/kernel/git/gregkh/staging-next-2.6.git;a=tree;f=drivers/staging/brcm80211;h=d3e39828e31c1599e1826042296762489f6e3c51;hb=refs/heads/staging-next
[5] http://twitter.com/gregkh/status/24027482819
[6] http://www.heise.de/glossar/entry/Hauptentwicklungslinie-397933.html
[7] http://identi.ca/notice/49649449
[8] http://identi.ca/notice/49652702
[9] http://wireless.kernel.org/en/users/Drivers/b43#And_why_is_there_now_broadcom-wl.3F
[10] http://wireless.kernel.org/en/developers/Summits/SanFranciscoBayArea-2010
[11] https://www.heise.de/hintergrund/Kernel-Log-Videos-von-der-Linuxcon-Pflege-von-2-4-und-2-6-27-naehert-sich-dem-Ende-1073492.html
[12] http://www.heise.de/glossar/entry/Kernel-Log-397909.html
[13] http://sourceforge.net/apps/mediawiki/ndiswrapper/
[14] http://linuxwireless.org/en/users/Drivers/b43
[15] http://linuxwireless.org/en/users/Drivers/brcm80211
[16] http://git.kernel.org/?p=linux/kernel/git/gregkh/staging-next-2.6.git;a=blob;f=drivers/staging/brcm80211/README;h=97fa01c06b12db358446b83005c9bb69ed5effca;hb=refs/heads/staging-next
[17] http://git.kernel.org/?p=linux/kernel/git/gregkh/staging-next-2.6.git;a=blob;f=drivers/staging/brcm80211/TODO;h=aa38d49e27f219839274690aacbee4f512f0e7ca;hb=refs/heads/staging-next
[18] mailto:thl@ct.de