0. Einleitung und Hintergrund
Diese Antwort basiert auf einer umfassenden Untersuchung, die von verschiedenen Ubuntu-Benutzern durchgeführt wurde und die in nahezu allen Fragen im Zusammenhang mit Broadcom zusammengearbeitet haben. Besonderer Dank geht an chili555 , der in den Ubuntu-Foren und auf dieser Website mit vielen Fragen zu Wireless-Geräten und anderen geholfen hat, die per E-Mail, Chat, IRC und mehr zum Testen verschiedener Treiber mit mehreren der beliebtesten Broadcom Wireless-Karten beigetragen haben (Ein riesiges Dankeschön an Chili555. Dieser Typ kennt sich aus).
Insgesamt wollten wir eine Antwort anbieten, die einfach zu befolgen ist und die meisten Broadcom-Karten / Treiber abdeckt. Nachdem Sie diese Anleitung befolgt haben , MÜSSEN Sie Ihre drahtlose Verbindung für mindestens 2 Stunden (ich empfehle tatsächlich 8 Stunden) mit einem anderen Gerät im Ad-Hoc-Modus, im Infrastruktur-Modus oder in beiden testen. Häufige Probleme, die behoben werden (abgesehen von nicht installierten Treibern), sind:
- Verbindungsunterbrechung nach einigen Minuten oder Stunden
- Stoppt die Suche nach anderen Geräten (sieht kein anderes Gerät)
- Fordert auch in Fällen, in denen AP keine hat, immer wieder zur Eingabe eines Passworts auf
- Stoppt jeglichen empfangenden / sendenden Datenverkehr (Neustart erforderlich, um vorübergehend Fehler zu beheben)
- System stürzt mit dmesg-Fehlern im Protokoll ab (Link 1 unten)
- Das System friert vollständig ein (Sie können nur den Reboot / Power-Knopf drücken) (Link 1 unten)
- Erstellt umfangreiche Protokollberichte, in denen versucht wird, die Konfiguration oder Verbindung korrekt herzustellen
- Schlägt fehl, wenn die Installation über zusätzliche Treiber / zusätzliche Hardware erfolgt (Link 3 unten)
- Verbindet und trennt sich kontinuierlich alle X Sekunden
- Erscheint in Network Manager verbunden, empfängt aber kein Internet
- Versucht viele Male eine Verbindung herzustellen, ohne die Verbindung korrekt zu beenden
- Dauert zu lange, um eine Verbindung herzustellen
- Nach dem Upgrade von einer früheren Version (zB: 12.04 bis 12.10) funktioniert es nicht mehr
- WLAN-Karte lässt sich nicht einschalten, aktivieren oder deaktivieren (Link 2 unten)
- WLAN-Karte durch Hardware blockiert
- Weitere Probleme wurden in Launchpad, Ubuntu Forum und Askubuntu gefunden
Link 1 - https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1060268
Link 2 - https://bugs.launchpad.net/ubuntu/+source/bcmwl/+bug/732677
Link 3 - Gibt einen ähnlichen Fehler aus wie "Die Installation dieses Treibers ist leider fehlgeschlagen."
In diesem Sinne haben wir jetzt das Folgende, das in nur drei Schritten vereinfacht wird:
1. Wissen, welche Broadcom Wireless-Karte Sie haben
Es gibt Dutzende von Broadcom-Funkkarten, und jeden Tag tauchen weitere auf. Der Schlüssel zum Finden des richtigen Treibers für eine Netzwerkkarte ist die sogenannte PCI-ID (PCI.ID). Um herauszufinden, welche PCI.ID Sie haben, öffnen wir das Terminal durch Drücken von CTRL+ ALT+ T(es sollte ein Fenster mit einem leeren Hintergrund öffnen). In diesem Terminal führen wir den folgenden Befehl aus:
lspci -nn -d 14e4:
Wenn Sie über einen Broadcom Wireless-Adapter verfügen, wird etwa Folgendes angezeigt (die im obigen Beispiel verwendete ID 14e4 ist in den meisten Fällen eine Broadcom Wireless-Karte):
Broadcom Corporation BCM4306 802.11bgn Wireless Network Adapter [14e4:4320] (rev 03)
Die PCI.ID in diesem Beispiel ist 14e4: 4320, wie in den Klammern [...] dargestellt. In einigen Fällen benötigen Sie auch die Revisionsversion (falls diese angezeigt wird) für einige Sonderfälle. In diesem Fall ist die Revisionsversion Rev. 03, wie in den Klammern (...) am Ende gezeigt. Nach dieser Suche benötigen Sie also:
[14e4:4320] (rev 03)
Mit diesen neuen Informationen können Sie in der folgenden Tabelle nachsehen und die entsprechende Methode zur Installation Ihres Treibers auswählen. Beispiel: In diesem Fall wird in den Spalten für Ubuntu 12.04, 13.10 oder 14.04 angezeigt, wenn Sie die Liste mit der exakt gleichen PCI.ID durchgehen , da Sie die Version 14e4: 4320 rev 03 haben der firmware-b43-installer
Pakettreiber. Dies bedeutet, dass Sie nur dieses bestimmte Paket installieren müssen, da es in allen Ubuntu-Versionsspalten angezeigt wird.
ANMERKUNG - Bevor Sie fortfahren, müssen Sie Treiber oder Konfigurationsdateien, die Sie zuvor installiert haben, auf eine Blacklist gesetzt oder auskommentiert haben oder Änderungen am System vorgenommen haben, damit die Treiber in früheren Versuchen funktionieren, rückgängig machen Folgen Sie dieser Anleitung. Wir gehen davon aus, dass Sie dies von Grund auf tun und keine Konfigurationsdateien, Module oder Treiber im System in irgendeiner Weise geändert haben (abgesehen von der Aktualisierung des Systems). Dies schließt alle Installationen ein, die apt-get, aptitude, synaptic, dpkg, Software Center oder manuelle Kompilierung und Installation der Pakete verwenden. Das System muss von vorne beginnen, damit dies funktioniert und Konflikte vermieden werden, die auftreten können, wenn frühere Arbeiten durchgeführt wurden.
Wenn Sie das bcmwl-kernel-source
Paket beispielsweise zuvor installiert haben , müssen Sie es mithilfe der Bereinigungsmethode entfernen:
sudo apt-get purge bcmwl-kernel-source
2. Vorbereiten des Systems
Wenn Sie Ubuntu gerade installiert haben, müssen Sie einen Index der verfügbaren Pakete erstellen, bevor wir Ihren Treiber installieren können, falls Sie dies noch nicht getan haben:
sudo apt update
Ich würde sogar noch weiter gehen, um die Ubuntu-Liste der PCI.IDs zu aktualisieren:
sudo update-pciids
Nur für den Fall, dass die ID eines bestimmten neuen Broadcom-Geräts, das Sie verwenden, gerade angezeigt wurde.
Verwenden wir nun die PCI.ID, die Sie in den obigen Schritten gefunden haben, und suchen wir in der folgenden Liste nach der passenden PCI.ID und der Methode, um den damit verbundenen Treiber auf einfache und korrekte Weise zu installieren. Das Terminal wird verwendet, um Probleme mit der Benutzeroberfläche zu vermeiden. Dies gilt in allen Fällen, sofern nicht anders angegeben. Der Installationsvorgang erfolgt nur über ein Terminal und auch, wenn eine temporäre kabelgebundene Ethernet-Verbindung oder ein USB-Modem mit dem Internet verbunden ist. Nachdem Sie in der Liste unten das richtige Paket gefunden haben, fahren wir mit der Installation fort.
3. Paket installieren (online)
Angenommen, Sie haben die PCI.ID 14e4: 4320 rev 03 verwendet, die Sie oben bei Ihrer Suche gefunden haben, und haben dann in der folgenden Tabelle festgestellt, dass das zu installierende Paket das ist. firmware-b43-installer
Dann installieren Sie einfach dieses Paket im Terminal:
sudo apt install firmware-b43-installer
und dann neu starten
sudo reboot
Das zu installierende Format ist ziemlich einfach, es ist nur:
sudo apt install <PACKAGE_NAME>
In dem obigen Beispiel die PACKAGE_NAME ist firmware-b43-installer
.
BROADCOM WIRELESS TABLE (Aktualisiert am 18. August 2017)
PCI.ID 16.04 LTS 17.10+
------------------------------------------------------------------------------------
14e4:0576 Special Case #1 UNKNOWN
14e4:1713 firmware-b43-installer firmware-b43-installer
14e4:4301 firmware-b43-installer firmware-b43-installer
14e4:4306 firmware-b43-installer firmware-b43-installer
14e4:4306 rev 02 firmware-b43-installer firmware-b43-installer
14e4:4306 rev 03 firmware-b43-installer firmware-b43-installer
14e4:4307 firmware-b43-installer firmware-b43-installer
14e4:4311 firmware-b43-installer firmware-b43-installer
14e4:4311 rev 01 firmware-b43-installer firmware-b43-installer
14e4:4312 firmware-b43-installer firmware-b43-installer
14e4:4313 firmware-b43-installer firmware-b43-installer
14e4:4315 firmware-b43-installer firmware-b43-installer
14e4:4315 rev 01 firmware-b43-installer firmware-b43-installer
14e4:4318 firmware-b43-installer firmware-b43-installer
14e4:4318 rev 02 firmware-b43-installer firmware-b43-installer
14e4:4319 firmware-b43-installer firmware-b43-installer
14e4:4320 rev 02 firmware-b43-installer firmware-b43-installer
14e4:4320 rev 03 firmware-b43-installer firmware-b43-installer
14e4:4321 firmware-b43-installer firmware-b43-installer
14e4:4324 firmware-b43-installer firmware-b43-installer
14e4:4325 firmware-b43-installer firmware-b43-installer
14e4:4328 firmware-b43-installer firmware-b43-installer
14e4:4328 rev 03 bcmwl-kernel-source bcmwl-kernel-source
14e4:4329 bcmwl-kernel-source bcmwl-kernel-source
14e4:432a bcmwl-kernel-source bcmwl-kernel-source
14e4:432b bcmwl-kernel-source bcmwl-kernel-source
14e4:432c bcmwl-kernel-source bcmwl-kernel-source
14e4:432d bcmwl-kernel-source bcmwl-kernel-source
14e4:4331 firmware-b43-installer firmware-b43-installer
14e4:4335 firmware-b43-installer firmware-b43-installer
14e4:4350 firmware-b43-installer firmware-b43-installer
14e4:4353 Special Case #1 UNKNOWN
14e4:4353 rev 01 Special Case #1 UNKNOWN
14e4:4357 Special Case #1 UNKNOWN
14e4:4358 bcmwl-kernel-source bcmwl-kernel-source
14e4:4359 bcmwl-kernel-source bcmwl-kernel-source
14e4:4360 bcmwl-kernel-source bcmwl-kernel-source
14e4:4365 bcmwl-kernel-source bcmwl-kernel-source
14e4:4365 rev 01 bcmwl-kernel-source bcmwl-kernel-source
14e4:43a0 bcmwl-kernel-source bcmwl-kernel-source
14e4:43ae rev 02 UNKNOWN UNKNOWN
14e4:43b1 bcmwl-kernel-source bcmwl-kernel-source
14e4:43b1 rev 03 bcmwl-kernel-source bcmwl-kernel-source
14e4:43c3 rev 04 UNKNOWN Special Case #2
14e4:4727 bcmwl-kernel-source bcmwl-kernel-source
14e4:4727 rev 01 Special Case #1 Special Case #1
14e4:a962 firmware-b43-installer firmware-b43-installer
------------------------------------------------------------------------------------
Sonderfall Nr. 1 - Verwendung bcma
und brcmsmac
Treiberkombination. Die erforderliche Firmware ist standardmäßig im Paket enthalten linux-firmware
.
Sonderfall Nr. 2 - Für den ASUS PCE-AC88 AC3100 sind folgende Schritte erforderlich :
- Laden Sie diese Datei herunter und speichern Sie sie nach dem Entpacken in / lib / firmware / brcm
sudo cp brcmfmac4366c-pcie.bin /lib/firmware/brcm/brcmfmac4366c-pcie.bin
- Dann
sudo nano /etc/rc.local
füge modprobe brcmfmac hinzu und speichere
sudo reboot
Bei Hardware wie dem Lenovo S10-2 besteht die Alternative darin, das bcmwl-kernel-source
Paket zu installieren, wenn Ihre WLAN-Karte beim Herstellen einer Verbindung mit einer SSID hängen bleibt (und weiterhin versucht, eine Verbindung herzustellen) ). Lesen Sie den folgenden Abschnitt zum Debuggen, um weitere Informationen zu diesem drahtlosen Gerät zu erhalten.
WICHTIGER HINWEIS : Wenn Sie nach September 2014 diese Antwort befolgen und dennoch Probleme bei der Installation des richtigen Treibers haben, versuchen Sie es mit dem firmware-b43-installer
Paket und benachrichtigen Sie uns über Kommentare. Es gab einige Änderungen und einige Treiber funktionieren nur mit diesem Paket. Denken Sie daran, ein sauberes System zu haben, bevor Sie es installieren:
sudo apt install firmware-b43-installer
In bestimmten Fällen müssen firmware-b43-installer
Sie das b43-Modul nach der Installation wieder entfernen, es wieder aktivieren und sogar mit rfkill entsperren:
sudo modprobe -r b43
sudo modprobe b43
sudo rfkill unblock all
Wenn Sie eine Broadcom-Karte mit einer anderen pci.id haben, stellen Sie bitte eine neue Frage. Nach dem Lösen wird die Lösung zu dieser Anleitung hinzugefügt.
4. Installieren des Pakets (offline)
4.1 Installieren firmware-b43-installer
Zur firmware-b43-installer
Offline- Installation lesen Sie diese Antwort .
4.2 Installieren bcmwl-kernel-source
In Fällen, in denen Sie installieren müssen, bcmwl-kernel-source
aber offline sind, finden Sie hier eine hervorragende Antwort. Aber im Grunde folgen Sie diesen Schritten:
- Suchen Sie in den Ubuntu-Paket-Repositories nach dem Paket
- Stellen Sie sicher, dass Sie die richtige Architektur auswählen (32-Bit, 64-Bit usw.).
- Laden Sie zugehörige Pakete und Abhängigkeitspakete im selben Ordner herunter.
- Wenn Sie alle benötigten Pakete (und ihre Abhängigkeiten) haben, fahren Sie mit dem Ordner fort, der alle Pakete enthält, und führen Sie ihn aus
sudo dpkg -i *.deb
. Dadurch werden alle Pakete in diesem Ordner installiert. Wenn es Fehler gibt, lesen Sie den Fehler und befolgen Sie die darin aufgeführten Schritte.
Um ein Beispiel zu geben, würden Sie nach dem oben erwähnten Punkt 1, Wenn Sie Broadcom 14e4:43a0
hätten, nach dem bcmwl-kernel-source
Paket suchen und nach Auswahl der entsprechenden Ubuntu-Version (in meinem Fall 16.04 oder Xenial) auf der folgenden Seite landen:
http://packages.ubuntu.com/xenial/bcmwl-kernel-source
Auf dieser Seite würde ich die entsprechende Architektur auswählen (32 oder 64), aber ich müsste auch die 3 auf dieser Seite erwähnten Paketabhängigkeiten herunterladen, wie in der folgenden Abbildung dargestellt:
Nachdem Sie alle Pakete und Abhängigkeiten heruntergeladen haben, können Sie alle Pakete in einen einzelnen Ordner kopieren und den dpkg
in Schritt 4 oben beschriebenen Befehl ausführen.
HINWEIS
Auf einigen Computern müssen Sie vor dem Ausführen der Befehle die Secure Boot-Optionen in Ihrem BIOS deaktivieren. Dies gilt zum Beispiel für Fälle, in denen die bcmwl-Kernel-Quelle bereits installiert ist, der Treiber jedoch noch nicht funktioniert. Sie können eine Neuinstallation durchführen oder Secure Boot deaktivieren, indem Sie zu Ihrem BIOS-Setup gehen:
sudo apt-get install --reinstall bcmwl-kernel-source
DEBUGGING
Bei den folgenden Informationen handelt es sich um zusätzliches Material zum Lösen verschiedener Probleme im Zusammenhang mit der drahtlosen Verwaltung und Konflikten mit anderen Netzwerkgeräten. Beachten Sie, dass in einigen Fällen eine aktualisierte Kernel-Version erforderlich ist, da mit jeder neuen Kernel-Version entweder neue Netzwerktreiber eingeführt, vorhandene Treiber verbessert oder Fehler in Bezug auf diese behoben werden.
Stellen Sie vor dem Lesen der unten genannten Punkte sicher, dass alle Repositorys auf Ihrem Ubuntu-System aktiviert sind. Führen Sie zur Überprüfung das Terminal aus software-properties-gtk
und stellen Sie sicher, dass alle Optionen auf der Registerkarte Ubuntu-Software aktiviert sind.
Um Ihre drahtlosen Geräte über das Terminal zu konfigurieren, empfehle ich, wie Sie eine Verbindung zu einem Netzwerk manuell im Terminal herstellen und trennen können.
Wenn Ihre Verbindung von Zeit zu Zeit unterbrochen wird, haben einige Benutzer vorgeschlagen, IPv6 auf Ignorieren zu setzen . Gehen Sie einfach zu Network Manager (Das Netzwerksymbol im oberen Bereich). Klicken Sie darauf und wählen Sie Einstellungen bearbeiten . Gehen Sie dann zu der von Ihnen verwendeten drahtlosen Verbindung und wählen Sie sie aus. Gehen Sie nun zu der letzten Registerkarte, in der IPv6-Einstellungen erwähnt werden . Wählen Sie im Feld Methode die Option Ignorieren .
Wenn Ihr Laptop Ihre WLAN-Karte nicht erkennt, haben einige Benutzer erwähnt, dass die Verwendung rfkill unblock all
das Problem löst. Andere schalteten einfach den WiFi-Schalter an ihren Laptops aus und wieder ein (physischer Schalter auf diesen Laptops verfügbar). Für weitere Informationen rfkill
lesen Sie bitte rf kill unblock all DOES NOT WORK!
Wenn Sie den Fehler b43-phy0 erhalten: Schwerwiegender DMA-Fehler / Warnung b43-phy0: PIO erzwungen, gehen Sie wie folgt vor:
sudo rmmod b43
sudo modprobe b43 pio=0 qos=0
Wenn es funktioniert, fügen Sie es zu Ihren RC-Dateien hinzu, damit es bei jedem Start ausgeführt wird. Sie können PIO zu 1 ändern, wenn Sie es benötigen.
Wenn bei der Installation eines DKMS-Moduls (z. B. Nvidia, Broadcom oder andere) ein erforderlicher Schlüssel nicht verfügbar ist , können Sie die Antwort des Piloten hier aufrufen
Wenn Ihre WLAN-Karte den Router sieht / nicht sieht und in einer Endlosschleife "Verbindungsversuch (Versuch 1/3)" hängen bleibt, liegt die Lösung möglicherweise in der richtigen Konfiguration Ihres Routers oder Ihres WLAN-SSID-Geräts.
Bei allen Wireless-Karten im Allgemeinen ist es sehr wichtig, auch die von Ihnen verwendeten Netzwerkgeräte (Router, Switches, Wireless-Kanäle und Wireless-Bänder usw.) zu berücksichtigen. Mit diesen Informationen können Sie die Ursache des Problems besser einschätzen, wenn Sie in eine Sackgasse geraten. Ein Beispiel wäre das Lenovo S10-2, das die PCIID 14e4: 4315 rev 01 verwendet. Sogar nach der Installation des richtigen Treibers würde der Benutzer in eine "Versuch, eine Verbindung herzustellen" -Schleife geraten. Es würde die WLAN-SSID sehen, aber beim Versuch, eine Verbindung herzustellen, würde es in eine Wiederverbindungsschleife eintreten.
Die Lösung bestand darin, dass dieses spezielle drahtlose Gerät weder 40-MHz-Kanäle noch 802.11N unterstützt. Der Router sendete in diesem Fall tatsächlich nur mit erzwungenen 40 Mhz und über WiFi-N. Wenn der Router auf Auto-Modus und 20/40 MHz-Kanal eingestellt war, funktionierte die WLAN-Karte ordnungsgemäß. Dies ist ein Fallszenario, das sich auch in anderen Fällen wiederholt, sodass eine ordnungsgemäße Evaluierung der Netzwerkausrüstung sehr hilfreich wäre.
Für Fälle, in denen Sie wiederholt werden:
ERROR @ wl_cfg80211_get_station: Falsche Mac-Adresse ...
Wenn Sie eine Verbindung herstellen dmesg
und Ihre drahtlose Verbindung häufig unterbrochen wird (mehrmals pro Stunde oder pro Tag), liegt das Problem möglicherweise darin, dass Sie sich in einem drahtlosen Signal befinden, das als drahtlose Brücke verwendet wird (2 Router, die dieselbe SSID und Verbindung verwenden). Dies kann bei modernen Routern der Fall sein, die die Möglichkeit haben, die drahtlose Verbindung zu erweitern, indem sie dieselbe SSID anbieten. Ihre drahtlose Verbindung wird möglicherweise unterbrochen, da Sie sich möglicherweise zwischen beiden Routern befinden und die Signalstärke zwischen beiden fast gleich ist.
Wenn Ihre Verbindung sehr oft unterbrochen wird, befinden Sie sich fast in der Mitte beider Router. Versuchen Sie, sich so zu positionieren, dass Ihre WLAN-Karte nur einen Router erkennen kann oder mindestens einer der Router eine höhere Signalstärke als der andere hat, um die Ausfallrate Ihres WLAN-Geräts zu verringern oder zu beseitigen.
Es gibt auch einige Techniken, mit denen das drahtlose Gerät gezwungen wird, nur eine Verbindung zu einem bestimmten Router herzustellen, indem die BSSID auf die MAC-Adresse des Routers eingestellt wird, zu dem Sie eine Verbindung herstellen möchten. Dadurch wird Ihr drahtloses Gerät NUR dazu gezwungen, eine Verbindung zu ihm herzustellen.
Probleme beim sicheren Booten
In bestimmten Szenarien funktioniert die Installation der Treiber, sei es im Offlinemodus über verschiedene DEB-Pakete oder über apt-get mit Internetzugang, nicht, wenn Secure Boot nicht deaktiviert ist.
Dies liegt daran, dass der erforderliche Zugriff durch Secure Boot verweigert wird, sodass die Treiber so aussehen, als wären sie korrekt installiert, obwohl dies nicht der Fall war. In sehr speziellen Fällen müssen Sie Secure Boot vorübergehend deaktivieren, damit die Treiber funktionieren.
Linux Firmware Update
In anderen Fällen kann das Problem durch Suchen und Installieren der neuesten Linux-Firmware behoben werden. Lösen Sie kleinere Probleme, die mit einer funktionierenden Karte aufgetreten sind, oder lassen Sie die Karte zum ersten Mal funktionieren.