Broadcom WLAN: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
Zeile 6: Zeile 6:
== Kompatibilität ==
== Kompatibilität ==


Es gibt zwei Treiber, den ''b43'' und den ''b43legacy''. Welcher im Endeffekt verwendet wird, hängt vom Chipsatz ab. Generell unterstützt werden die Chipsätze
Es gibt zwei Arten von Firmware, ''b43'' und ''b43legacy''. Welche im Endeffekt verwendet wird, hängt vom Chipsatz ab. Generell unterstützt werden die Chipsätze
* bcm4303 (nur 802.11b-Chips)  
* bcm4303 (nur 802.11b-Chips)  
* bcm4306  
* bcm4306  
Zeile 12: Zeile 12:
* bcm4311 rev 2 / bcm4312 (für Kernel 2.6.24 werden Patches benötigt)  
* bcm4311 rev 2 / bcm4312 (für Kernel 2.6.24 werden Patches benötigt)  
* bcm4318  
* bcm4318  
Da für ältere Chipsätze keine neue Firmware geschrieben wird, müssen diese mit der Firmware-Version 3 vorlieb nehmen, für die der ''b43legacy''-Treiber zuständig ist. Diesen sollte man für folgenden Chips verwenden:
Da für ältere Chipsätze keine neue Firmware geschrieben wird, müssen diese mit der Firmware-Version 3 (b43legacy) vorlieb nehmen. Diese sollte man für folgenden Chips verwenden:
* bcm4301
* bcm4301
* bcm4303
* bcm4303
* bcm4306 (nur bis zur ''MAC core revision'' 4)
* bcm4306 (nur bis zur ''MAC core revision'' 4)
* bcm4309 (nur bis zur ''MAC core revision'' 4)
* bcm4309 (nur bis zur ''MAC core revision'' 4)
Bei letzteren kann man bei einer ''MAC core revision'' höher 4 den ''b43''-Treiber verwenden.
Bei letzteren kann man bei einer ''MAC core revision'' höher 4 die ''b43''-Firmware verwenden.


== Installation ==
== Installation ==

Version vom 24. März 2010, 18:31 Uhr

Überblick

Dieser Artikel behandelt das Einrichten von WLAN-Hardware, die mit einem Broadcom-Chipsatz ausgerüstet ist, der in vielen Notebooks zu finden ist. Diese Karten konnten mittels des Moduls bcm43xx betrieben werden, seit Kernel 2.6.24 ist der Treiber jedoch im Kernel enthalten und das Modul trägt nun den Namen b43. Einziges Problem ist, dass eine spezielle Firmware eingespielt werden muss, sodass die Karte auch zufriedenstellend ihren Dienst verrichtet. Zudem sind bei einem Kernel-Upgrade auf 2.6.24 einige Sachen zu beachten, da sich das Kernelmodul nun geändert hat.

Kompatibilität

Es gibt zwei Arten von Firmware, b43 und b43legacy. Welche im Endeffekt verwendet wird, hängt vom Chipsatz ab. Generell unterstützt werden die Chipsätze

  • bcm4303 (nur 802.11b-Chips)
  • bcm4306
  • bcm4311 rev 1 / bcm4312
  • bcm4311 rev 2 / bcm4312 (für Kernel 2.6.24 werden Patches benötigt)
  • bcm4318

Da für ältere Chipsätze keine neue Firmware geschrieben wird, müssen diese mit der Firmware-Version 3 (b43legacy) vorlieb nehmen. Diese sollte man für folgenden Chips verwenden:

  • bcm4301
  • bcm4303
  • bcm4306 (nur bis zur MAC core revision 4)
  • bcm4309 (nur bis zur MAC core revision 4)

Bei letzteren kann man bei einer MAC core revision höher 4 die b43-Firmware verwenden.

Installation

Nachfolgender Teil könnte obsolet sein, da sich mittlerweile im AUR die Pakete b43-firmware, b43-firmware-legacy und b43-firmware-newest, welche die jeweilige Firmware beinhalten, sowie das Paket broadcom-wl mit den Treibern für die Hardware befinden. Die Installation eines Firmware-Paketes und des Treiberpaketes sowie deren Abhängigkeiten und der Eintrag in die rc.conf (s. unten) sollte genügen, um das W-LAN -Modul in Betrieb nehmen zu können.

Man benötigt die Firmware für den Chipsatz und ein Tool (fwcutter), um diese aus den proprietären Treibern zu Extrahieren. Dieses Tool ist im core-Repo vorhanden.

Die Pakete für die Firmware sind unter http://downloads.openwrt.org/sources/ zu finden:

Hat man nun den fwcutter installiert und das Firmware-Paket entpackt, wechselt man in das Verzeichnis mit den .o-Dateien und kann dann als root mit dem Aufruf

 b43-fwcutter -w /lib/firmware wl_apsta_mimo.o

die Firmware extrahieren. Bei Version 4 ist immer die wl_apsta_mimo.o zu benutzen! Bei Version 3 lädt man bereits die richtige Datei herunter.

Nun muss man in der rc.conf noch unter

 MODULES=(...

das richtige Modul, also b43 oder b43legacy eintragen.

Nach einem Neustart sollte dann alles funktionieren.