Broadcom Wireless

Aus Linupedia
Wechseln zu: Navigation, Suche
Dieser Artikel bezieht sich auf die aktuelle Linux-Distribution openSUSE (Version 13.2) und nur auf intern verbaute PCI-Geräte, nicht auf externe USB-Geräte welche einen Chipsatz von Broadcom enthalten. Letzte (komplette) Überarbeitung und Stand der Dinge (Aktualität) war/ist vom 28.06.2015.


Einleitung

In diesem Artikel geht es darum welche WLAN-Karte, bzw. welcher Chip von Broadcom (Wireless/Drahtlos) von welchem Modul („Treiber“) unterstützt wird. Es wird hier auch, falls notwendig, erklärt woher was zu beziehen (Firmware, Treiber) und einzurichten ist. Hauptsächlich geht es hier um die Verwendung unter der aktuellen Version von openSUSE (zur Zeit 13.2 und Kernel 3.16.*), Ergänzungen zu anderen Distributionen sind aber jederzeit willkommen.

Der Abschnitt broadcom-wl/broadcom-sta hingegen, ist auch für die Versionen 11.4 bis 13.2, Tumbleweed, Factory von openSUSE, sowie SLE 11 bis 12 gültig und anwendbar.


Es ist uninteressant welche Bezeichnung der Hartware (Hardware) als Kennung von außen her mitgegeben wurde, z.B. Broadcom BCM4311, wichtig ist was wirklich innerlich verarbeitet wurde.

Welche(r) Karte/Chip genau verwendet wird, erfahrt ihr über die Ausgabe von:

lspci -nnk | grep -i -A3 net

Unter openSUSE als „normaler“ Benutzer mit:

/sbin/lspci -nnk | grep -i -A3 net

Dort sollten dann bestimmte Nummern auftauchen, welche die Hersteller- und Produktnummer anzeigen, zum Beispiel 14E4:4325 (die erste Nummer stellt die Hersteller-ID (14E4) dar, die zweite Nummer die Geräte-/Produkt-ID (4325). Nach diesen Nummern könnt ihr hier dann das passende Modul herausfinden, eventuell wird es sogar gleich bei der Ausgabe mit angezeigt.

Welches Modul benötigt wird, lässt sich aber auch mit der Eingabe von

modprobe -c | grep -i "14E4.*4325"

, über Root/su/sudo in der Konsole eingegeben, herausfinden. Die Nummern müssen dann mit denen ersetzt werden, welche über lspci ermittelt wurden. Das gilt (neuerdings) nicht bei Karten die den proprietären Treiber (broadcom-wl/broadcom-sta) benötigen oder nutzen können, aber dafür gibt es hier ja diese Liste(n).

Übersicht der PCI-IDs und das dazu passende Modul

PCI-ID Modul (Treiber) Alternative
14E4:0576 bcma/brcm80211 (brcmsmac)
14E4:43A0 broadcom-wl
14E4:4301 b43
14E4:4306 b43
14E4:4307 b43
14E4:4311 b43 broadcom-wl
14E4:4312 b43 broadcom-wl
14E4:4313 bcma/brcm80211 (brcmsmac) broadcom-wl
14E4:4315 b43 broadcom-wl
14E4:4318 b43
14E4:4319 b43
14E4:432A broadcom-wl
14E4:432B b43 broadcom-wl
14E4:432C b43 broadcom-wl
14E4:432D broadcom-wl
14E4:4320 b43
14E4:4321 b43
14E4:4322 b43
14E4:4324 b43
14E4:4325 b43
14E4:4328 b43 broadcom-wl
14E4:4329 b43 broadcom-wl
14E4:4331 bcma/brcm80211 (brcmsmac) broadcom-wl
14E4:4350 b43
14E4:4353 bcma/brcm80211 (brcmsmac) broadcom-wl
14E4:4357 bcma/brcm80211 (brcmsmac) broadcom-wl
14E4:4358 bcma/brcm80211 (brcmsmac) broadcom-wl
14E4:4359 bcma/brcm80211 (brcmsmac) broadcom-wl
14E4:4365 bcma/brcm80211 (brcmsmac) broadcom-wl
14E4:43b1 bcma/brcm80211 (brcmsmac) broadcom-wl
14E4:4727 bcma/brcm80211 (brcmsmac) broadcom-wl
14E4:A8D6 b43
14E4:A8D8 bcma/brcm80211 (brcmsmac)

Nach oben zum Seitenanfang.

b43 (ssb)

Unterstützte Chipsätze

  • b43
14A4:4318 14E4:A8D6 14E4:4301 14E4:4306 14E4:4307
14E4:4311 14E4:4312 14E4:4315 14E4:4318 14E4:4319
14E4:4320 14E4:4321 14E4:4322 14E4:4324 14E4:4325
14E4:4328 14E4:4329 14E4:432B 14E4:432C 14E4:4350


Bezugsquellen

Es wird Firmware benötigt welche unter anderem über PackMan zu beziehen ist, das Paket nennt sich b43-firmware. Eine weitere Möglichkeit zur Installation der Firmware ist nachfolgend unter Einrichtung beschrieben.

Einrichtung

Die Module („Treiber“) sind meistens schon im Kernel enthalten und aktiviert, werden also mitgeliefert. Sofern die passende Karte vorhanden ist und erkannt wurde, sollten die richtigen Module (u.a. b43/b43legacy und ssb) schon geladen sein. Dieses lässt sich mit dem Befehl

lsmod

oder

/usr/sbin/hwinfo --wlan

, bzw.

/usr/sbin/hwinfo --netcard

über die Shell, oder einem Terminalemulator feststellen.

Die Firmware kann mittels RPM, Zypper, oder YaST installiert werden. Wer das Repo von PackMan schon eingebunden und eine bestehende Internetverbindung hat, führt einfach als Root/su in der Shell/einem Terminalemulator folgenden Befehl aus:

  • Für b43
zypper in b43-firmware


Eine weiter Möglichkeit die Firmware unter openSUSE zu installieren besteht aus zwei bis drei Schritten und eine Verbindung zum Internet sollte schon bestehen (z.B. über LAN). Über Root/su in die Shell/einem Terminalemulator einloggen und folgende Befehle ausführen:

zypper in b43-fwcutter
/usr/sbin/install_bcm43xx_firmware

Danach muss eventuell noch das Netzwerk, bzw. der NetworkManager neu gestartet werden. Beispiel (bei Verwendung von systemd und dem NetworkManager):

systemctl restart NetworkManager.service

Wird der NetworkManager nicht verwendet, sondern YaST/ifup, dann ist anstelle diesem der Eintrag network zu nehmen, also:

systemctl restart network.service

Nach oben zum Seitenanfang.

Zur Gesamtliste der PCI-IDs und Module.

bcma/brcm80211 (brcmsmac/brcmfmac)

Unterstützte Chipsätze

  • bcma/brcmsmac (PCIe):
14E4:A8D8 14E4:0576 14E4:4313 14E4:4331 14E4:4353
14E4:4357 14E4:4358 14E4:4359 14E4:4365 14E4:43b1 14E4:4727

Bezugsquellen

Die passende Firmware (bcm43xx-0.fw und bcm43xx_hdr-0.fw), für openSUSE, ist im Paket kernel-firmware enthalten, dieses ist von der DVD oder aus dem OSS-Repo zu installieren.

Einrichtung

Die Module („Treiber“) sind meistens schon im Kernel enthalten und aktiviert, werden also mitgeliefert. Sofern die passende Karte vorhanden ist und erkannt wurde, sollten die richtigen Module (u.a. bcma/brcmsmac) schon geladen sein. Dieses lässt sich mit dem Befehl

lsmod

oder

/usr/sbin/hwinfo --wlan

, bzw.

/usr/sbin/hwinfo --netcard

über die Shell, oder einem Terminalemulator feststellen.

Die Firmware kann mittels RPM, Zypper, oder YaST installiert werden. Wer schon das OSS-Repo eingebunden und eine bestehende Internetverbindung hat, führt einfach als Root/su in der Shell/einem Terminalemulator folgenden Befehl aus:

zypper in kernel-firmware

Dieses funktioniert auch wenn keine Verbindung zum Internet besteht, die DVD eingelegt und als Installationsquelle aktiviert ist.

Danach muss eventuell noch das Netzwerk, bzw. der NetworkManager neu gestartet werden. Beispiel (bei Verwendung von systemd und dem NetworkManager):

systemctl restart NetworkManager.service

Wird der NetworkManager nicht verwendet, sondern YaST/ifup, dann ist anstelle diesem der Eintrag network zu nehmen, also:

systemctl restart network.service

Nach oben zum Seitenanfang.

Zur Gesamtliste der PCI-IDs und Module.

broadcom-wl/broadcom-sta

Dieser Treiber sollte nur verwendet werden wenn die Verwendung eines der zuvor genannten Module nicht möglich ist, oder Probleme bereitet.

Unterstützte Chipsätze

(Version: 6.30.223.248)

14E4:43A0 14E4:4311 14E4:4312 14E4:4313 14E4:4315
14E4:4328 14E4:4329 14E4:432A 14E4:432B 14E4:432C
14E4:432D 14E4:4331 14E4:4353 14E4:4357 14E4:4358
14E4:4359 14E4:4365 14E4:43b1 14E4:4727

Bezugsquellen

Für openSUSE gibt es fertige Pakete über PackMan.

Einrichtung

Es muss das zum Kernel passenden KM-Paket (KMP = Kernel Module Package) installiert werden. Welches das ist, lässt sich mit dem Befehl

uname -r

herausfinden.

Beispiel: Ergibt die Ausgabe 3.1.10-1.9-desktop, dann muss das Paket broadcom-wl-kmp-desktop und zusätzlich, unabhängig vom Kernel, noch das Paket broadcom-wl installiert werden. Wenn das Repo (die/das Paketquelle/-depot) von PackMan eingebunden ist und eine Verbindung zum Internet besteht, dann reicht ein:

zypper in broadcom-wl broadcom-wl-kmp-desktop

(desktop ist eventuell durch default, pae oder xen zu ersetzen, je nachdem was die Ausgabe von uname -r ergibt.)

Bei der Installation wird die Datei 50-broadcom-wl-blacklist.conf unter /etc/modprobe.d/ angelegt, diese sorgt dann dafür das andere "störende" Module (b43, brcm80211, ndiswrapper usw.) nicht mehr geladen werden.

Nach einem Neustart des Rechners sollte das richtige Modul (wl) geladen sein und der Einrichtung des Netzwerkes nichts mehr im Wege stehen. Ohne einem Neustart, um die Module gleich zu verwenden, sind folgende Schritte nötig:

modprobe -v -r b43 brcmsmac
modprobe -v wl

Danach muss eventuell noch das Netzwerk, bzw. der NetworkManager neu gestartet werden. Beispiel (bei Verwendung von systemd und dem NetworkManager):

systemctl restart NetworkManager.service

Wird der NetworkManager nicht verwendet, sondern YaST/ifup, dann ist anstelle diesem der Eintrag network zu nehmen, also:

systemctl restart network.service

Ob das Modul dann wirklich geladen wurde und in Verwendung ist, lässt sich mit lsmod oder

/usr/sbin/hwinfo --wlan

, bzw.

/usr/sbin/hwinfo --netcard

über die Shell, oder einem Terminalemulator feststellen.

Nach oben zum Seitenanfang.

Zur Gesamtliste der PCI-IDs und Module.

Offline Installationen/Installationen ohne bestehende Verbindung zum Internetz am zu nutzenden Computer

Dieser Abschnitt ist zur Zeit noch in Vorbereitung/Bearbeitung.

--tomm.fa (Diskussion) 13:14, 31. Mai 2014 (CEST)


Hier wird erklärt, wie man die benötigten Pakete, am Beispiel von openSUSE 13.1, ohne eine bestehende Verbindung zum Internetz (Internet) des einzurichtenden Computer installiert. Dazu muss man jedoch einen anderen Computer mit einer bestehenden Verbindung zum Internetz verfügbar haben (z.B.: ein Zweitrechner, bei Freunden/Freundinnen oder Bekannten, Internetcafé, weiteres Betriebssystem auf dem gleichen Gerät mit bestehender Internetverbindung usw.).


Links und weitere Hinweise

Passende Module geladen, aber der NetworkManager stellt sich stur? Dann könnte diese [Seite] die Lösung sein.

Nach oben zum Seitenanfang.

Zur Gesamtliste der PCI-IDs und Module.

Zurück zu WLAN

Zurück zur Hauptseite