GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So aktivieren Sie Broadcom Wireless auf Manjaro

Hier ist ein interessantes Problem. Vor einigen Wochen habe ich Manjaro 18.0.4 Illyria auf meinem HP Pavilion-Laptop getestet und bin auf ein interessantes Phänomen gestoßen. Der Laptop ist mit einer Broadcom Wireless-Karte ausgestattet, und in der Live-Session war das Netzwerk sowohl mit kostenlosen als auch mit nicht kostenlosen Treibern in Ordnung. Allerdings hatte ich nach der Installation kein WLAN.

Wenn ich mir das System anschaue, habe ich einen Fehler gefunden, der WLC_SCAN-Fehler (-22) besagt. Als ich mit dieser Suche auf Intertubes traf, brach die Hölle los. Ich habe Dutzende von Arch- und Manjaro-Forenbeiträgen gefunden, die sich mit diesem Problem befassen. Es wurden einige Lösungen angeboten, die jedoch entweder unwirksam oder sehr schwierig umzusetzen waren. Also beschloss ich, das Problem selbst zu beheben, daher diese Anleitung. Folge mir.

Problem im Detail

Zufälligerweise wurde in meinem Fall das Wireless-Symbol angezeigt, und der Netzwerkmanager listete eine Reihe von Zugriffspunkten in der Nähe des Laptops auf. Aber als ich versuchte, eine Verbindung herzustellen, passierte nichts. Ich würde das Passwort eingeben, warten, und dann würde der ausgewählte Zugangspunkt einfach aus der Liste verschwinden, und es würde keine Verbindung hergestellt werden. Beim Ausführen von dmesg sah ich den folgenden Text:

[ 526.274664] IPv6:ADDRCONF(NETDEV_UP):wlo1:Link ist nicht bereit
[ 526.276614] ERROR @wl_cfg80211_scan :
[ 526.276619] WLC_SCAN-Fehler (-22)

Ich habe eine drahtlose Netzwerkkarte identifiziert (in Betrieb). Das (kostenlose) wl-Kernelmodul wurde in den Speicher geladen. Das System konnte jedoch keine Verbindung herstellen. Das Deaktivieren von IPv6 hat nicht geholfen - dies ist nur ein Artefakt der Nichtverwendung von IPv6 auf dem/den Router(n).

Ich habe einige der in den verschiedenen Threads vorgeschlagenen Schnellkorrekturen versucht. Eine davon bestand darin, die Wireless-Antenne mit der Hardware-Taste am Laptop-Gehäuse ein- und auszuschalten und dann den Status mit dem Befehl rfkill zu überprüfen. Einige Leute berichteten, dass dies ihnen geholfen hat, ihre Karten zu "entsperren". Bei mir hat es nicht funktioniert.

rfkill list
0:hp-wifi:Wireless LAN
Soft blockiert:nein
Hard blockiert:ja
1:hp-bluetooth:Bluetooth
Soft blockiert:ja
Hard blockiert:ja
2:phy0:Wireless LAN
Soft blockiert:nein
Hard blockiert:nein

Ich wollte an dieser Stelle nicht anfangen, mit yaourt herumzuspielen, broadcom-wl-dkms und andere erwähnte Tipps und Tricks auszuprobieren. Ich wollte sehen, ob ich dieses Problem mit minimalen Änderungen an meinem Systemstatus lösen kann und hoffentlich keine Downloads über ein kabelgebundenes Netzwerk (oder ähnliches) brauche.

Lösung

Als ich mir andere Distributionen ansah, die ich auf diesem Rechner verwendet habe – darunter das etwas problematische Fedora 30, sowie andere, die eine gute, vernünftige Netzwerkverbindung und -geschwindigkeit hatten, wurde mir klar, dass ich lieber die b43-Kernel-Module für das Wireless-Gerät verwenden sollte als der wl-Blob. Der erste Schritt bestand darin, das vorhandene Modul (wl) manuell zu entladen und das b43-Modul zu laden:

sudo modprobe -r wl

sudo modprobe b43

Nachdem ich dies getan hatte, änderte sich das Problem. Ich hatte überhaupt kein Wireless mehr, obwohl das b43-Modul in den Speicher geladen wurde. Also habe ich die Systemmeldungen noch einmal überprüft und den folgenden Fehler gesehen:

[ 120.170582] Unterstützung für Kernrevisionen 0x17 und 0x18 durch Modulparameter allhwsupport=0 deaktiviert. Versuchen Sie b43.allhwsupport=1
[ 120.170590] b43:Prüfung von bcma0:1 fehlgeschlagen mit Fehler -524
[ 120.170611] Broadcom 43xx-Treiber geladen [ Features:PNLS ]

Wie der Fehler sagt, musste ich das Modul mit anderen Parametern laden:

sudo modprobe b43 allhwsupport=1

Erfolg! Sobald ich dies getan hatte, erwachte die Wireless-Karte wieder zum Leben, ich konnte mich problemlos mit dem Netzwerk verbinden und es nutzen. Das Problem ist also gelöst - aber wir müssen noch verstehen, warum und dann die Verwendung des b43-Moduls beim Booten automatisch aktivieren.

Module auf der schwarzen Liste

Aus irgendeinem Grund haben sowohl die kostenlose als auch die unfreie Edition von Manjaro Illyria das b43-Modul auf der schwarzen Liste, was erklären würde, warum sie beim Booten nicht geladen würden. Sie können dies überprüfen, indem Sie den Inhalt der Datei namens linux419-broadcom-wl.conf unter /etc/modprobe.d untersuchen. Darin war die gesamte Bandbreite relevanter Module aufgelistet, darunter b43, b43legacy, bcma, ssb und andere.

Laden von b43 beim Booten aktivieren

Jetzt, da wir eine manuelle Korrektur haben, müssen wir sie dauerhaft machen. Dazu müssen zwei Dateien bearbeitet werden. Erstens müssen Sie b43 zur Liste der zu bootenden Module unter /etc/modules-load.d/modules.conf hinzufügen. Wenn Sie den Inhalt dieser Datei kategorisieren, wird etwa Folgendes angezeigt:

# Liste der beim Booten zu ladenden Module

Sie müssen b43 wie folgt darunter einfügen:

# Liste der beim Booten zu ladenden Module
b43

Aber das ist nicht alles. Wir müssen eine Modulladeoption unter /etc/modprobe.d hinzufügen. Dies ähnelt dem, was wir mit der Realtek Wireless-Karte gemacht haben, damit sie auf älteren 3.X-Kernels funktioniert. Sie müssen eine Konfigurationsdatei mit folgendem Format erstellen:"Modulname".conf. In diesem Fall b43.conf. Innerhalb dieser Datei benötigen wir die Option allhwsupport:

Optionen b43 allhwsupport=1

Zur Überprüfung sollte die Datei so aussehen:

cat /etc/modprobe.d/b43.conf
options b43 allhwsupport=1

Und das ist es. Starten Sie neu und Ihr Wireless ist betriebsbereit.

Schlussfolgerung

Na, bitte. Das war nicht trivial. Aber ich finde das eleganter, als Module manuell zu kompilieren und zu bauen und ein separates Netzwerk verwenden zu müssen, nur um die notwendigen Pakete zu bekommen. Die Tatsache, dass es auch zwei verschiedene Verzeichnisse gibt, die Sie verwenden müssen, um das Laden von Modulen zu ermöglichen, macht dies auch etwas komplizierter.

Wie auch immer, die langfristige Lösung besteht darin, dass die Distribution potenziell "schlechte" Hardware bereits in der Live-Phase automatisch erkennt und entsprechende Anpassungen vornimmt - Kompilierungstools und Header installiert, die Systemkonfiguration im Voraus ändert und dergleichen, also wenn sich der Benutzer anmeldet beim ersten mal funktioniert alles. Ich hoffe, Sie fanden dieses Tutorial nützlich. Pass auf dich auf, Manjarianer.


Linux
  1. So aktivieren Sie HAProxy-Statistiken

  2. So aktivieren Sie die IP-Weiterleitung unter Linux

  3. So aktivieren Sie HTTP2 in NGINX

  4. So aktivieren Sie md5-Hashing unter Linux

  5. Wie aktiviere ich die Linux-Swap-Partition?

So deinstallieren Sie WINE-Anwendungen

Wie aktiviere ich IPv6 in Nginx?

So aktivieren Sie die GZIP-Komprimierung in Nginx

So aktivieren Sie ein EPEL-Repository

So aktivieren Sie Cloud-Sicherungen

Wie aktiviere ich die Klartext-Authentifizierung in Dovecot?