Broadcom Wireless: Unterschied zwischen den Versionen
K (→Übersicht der PCI-IDs und dazu passender Module) |
|||
Zeile 17: | Zeile 17: | ||
− | == Übersicht der PCI-IDs und dazu | + | == Übersicht der PCI-IDs und das dazu passende Modul == |
{| border=1 | {| border=1 | ||
! PCI-ID !! Modul (Treiber) !! Alternative | ! PCI-ID !! Modul (Treiber) !! Alternative | ||
Zeile 73: | Zeile 73: | ||
! 14E4:A99D || [[Broadcom_Wireless#broadcom-wl.2Fbroadcom-sta|broadcom-wl]] || | ! 14E4:A99D || [[Broadcom_Wireless#broadcom-wl.2Fbroadcom-sta|broadcom-wl]] || | ||
|} | |} | ||
− | |||
==b43/b43legacy== | ==b43/b43legacy== |
Version vom 13. Mai 2012, 12:27 Uhr
Inhaltsverzeichnis
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 openSUSE, ab Version 12.1 und Kernel 3.1.*. Ergänzungen zu anderen Distributionen sind aber jederzeit willkommen.
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 Karte ihr wirklich verwendet, erfahrt ihr über die Ausgabe von:
lspci -nnk | grep -i -A2 net
Dort sollten dann bestimmte Nummern auftauchen, welche die Hersteller- und Produktnummer anzeigen, zum Beispiel 14E4: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 funktioniert nicht bei Karten welchen den proprietären Treiber (broadcom-wl/broadcom-sta) benötigen und dieser noch nicht installiert ist.
Übersicht der PCI-IDs und das dazu passende Modul
PCI-ID | Modul (Treiber) | Alternative |
---|---|---|
14E4:0576 | brcm80211 (brcmsmac) | broadcom-wl |
14E4:4301 | b43legacy | |
14E4:4306 | b43legacy | |
14E4:4307 | b43legacy | |
14E4:4311 | b43 | broadcom-wl |
14E4:4312 | b43 | broadcom-wl |
14E4:4315 | b43 | broadcom-wl |
14E4:4318 | b43 | |
14E4:4319 | b43 | |
14E4:432A | broadcom-wl | |
14E4:432B | b43 | broadcom-wl |
14E4:432C | broadcom-wl | |
14E4:432D | broadcom-wl | |
14E4:4320 | b43/b43legacy | |
14E4:4321 | b43 | |
14E4:4324 | b43/b43legacy | |
14E4:4325 | b43/b43legacy | |
14E4:4328 | b43 | broadcom-wl |
14E4:4329 | b43 | broadcom-wl |
14E4:435A | broadcom-wl | |
14E4:4353 | brcm80211 (brcmsmac) | broadcom-wl |
14E4:4357 | brcm80211 (brcmsmac) | broadcom-wl |
14E4:4358 | broadcom-wl | |
14E4:4359 | broadcom-wl | |
14E4:4727 | brcm80211 (brcmsmac) | broadcom-wl |
14E4:A99D | broadcom-wl |
b43/b43legacy
Unterstützte Chipsätze
- b43
14E4:4307 | 14E4:4311 | 14E4:4312 | 14E4:4315 |
14E4:4318 | 14E4:4319 | 14E4:4320 | 14E4:4321 |
14E4:4324 | 14E4:4325 | 14E4:4328 | 14E4:4329 |
14E4:432B |
- b43legacy
14E4:4301 | 14E4:4306 | 14E4:4320 |
14E4:4321 | 14E4:4324 | 14E4:4325 |
Bezugsquellen
Es wird Firmware benötigt welche unter anderem über PackMan zu beziehen ist, die Pakete nennen sich b43-firmware und b43legacy-firmware.
Einrichtung
Die Module (die "Treiber") sind schon im Kernel enthalten, werden also mitgeliefert. Sofern die passende Karte vorhanden ist und erkannt wurde, sollten die passenden 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
- Für b43legacy
zypper in b43legacy-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
brcm80211 (brcmsmac/brcmfmac)
Unterstützte Chipsätze
- brcmsmac (PCIe):
14E4:0576 | 14E4:4353 |
14E:4357 | 14E: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 (die "Treiber") sind schon im Kernel enthalten, werden also mitgeliefert. Sofern die passende Karte vorhanden ist und erkannt wurde, sollten die passenden 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
broadcom-wl/broadcom-sta
Dieser Treiber sollte nur verwendet werden wenn die Verwendung eines der zuvor genannten Module nicht möglich ist.
Unterstützte Chipsätze
14E4:0576 | 14E4:4311 | 14E4:4312 |
14E4:4313 | 14E4:4315 | 14E4:432A |
14E4:432B | 14E4:432C | 14E4:432D |
14E4:4328 | 14E4:4329 | 14E4:435A |
14E4:4353 | 14E4:4357 | 14E4:4358 |
14E4:4359 | 14E4:4727 | 14E4:A99D |
Bezugsquellen
Für openSUSE gibt es fertige Pakete über PackMan.
- Direkter Link zu PackMan (z.B. für "Ein-Klick Installation").
Einrichtung
Es muss das zum Kernel passenden Paket 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.
Links und weitere Hinweise
Passende Module geladen, aber der NetworkManager stellt sich stur? Dann könnte diese Seite die Lösung sein.
- Übersicht b43 auf linuxwireless.org
- Übersicht brcm80211 auf linuxwireless.org
- collectNWData - Hilfreiches Analysescript bei Netzwerkprobleme