Notebook-WLAN geht nicht; Firmware falsch?

Guten Abend allerseits, nachdem ich bei der Installation von oS-Tumbleweed keine Netzverbindung hatte, wollte ich fehlende Firmware für das WLAN-Device von Broadcom herunterladen lassen, was auch funktioniert hat, d.h. die Verzeichnisse /lib/firmware/b43 und /lib/firmware/b43legacy wurden mit etlichen *.fw-Dateien bestückt. Leider scheint der Kernel bzw. der Treiber bcma die Firmware nicht laden zu können. Hier nochmal das Herunterladen mittels Systemd-Service: rechner:~ # systemctl restart pullin-bcm43xx-firmware.service [Die vollständige Ausgabe habe ich jetzt nicht mehr, aber den Status, wo sie teilweise drinsteht] luna:~ # systemctl status pullin-bcm43xx-firmware.service ● pullin-bcm43xx-firmware.service - download broadcom firmware files needed for bcm43xx WLAN chips Loaded: loaded (/usr/lib/systemd/system/pullin-bcm43xx-firmware.service; enabled; vendor preset: disabled) Active: active (exited) since Fri 2015-10-23 15:10:30 CEST; 4h 48min ago Process: 29291 ExecStart=/usr/sbin/install_bcm43xx_firmware_wrapper (code=exited, status=0/SUCCESS) Main PID: 29291 (code=exited, status=0/SUCCESS) CGroup: /system.slice/pullin-bcm43xx-firmware.service Oct 23 15:10:30 luna install_bcm43xx_firmware_wrapper[29291]: Extracting b43legacy/a0g1bsinitvals5.fw Oct 23 15:10:30 luna install_bcm43xx_firmware_wrapper[29291]: Extracting b43legacy/a0g0initvals2.fw Oct 23 15:10:30 luna install_bcm43xx_firmware_wrapper[29291]: Extracting b43legacy/a0g1initvals5.fw Oct 23 15:10:30 luna install_bcm43xx_firmware_wrapper[29291]: Extracting b43legacy/b0g0bsinitvals2.fw Oct 23 15:10:30 luna install_bcm43xx_firmware_wrapper[29291]: Extracting b43legacy/b0g0initvals5.fw Oct 23 15:10:30 luna install_bcm43xx_firmware_wrapper[29291]: Extracting b43legacy/b0g0initvals2.fw Oct 23 15:10:30 luna install_bcm43xx_firmware_wrapper[29291]: Extracting b43legacy/a0g0bsinitvals5.fw Oct 23 15:10:30 luna install_bcm43xx_firmware_wrapper[29291]: b43 firmware successfully installed. Oct 23 15:10:30 luna install_bcm43xx_firmware_wrapper[29291]: b43legacy firmware successfully installed. Oct 23 15:10:30 luna systemd[1]: Started download broadcom firmware files needed for bcm43xx WLAN chips. Hier ein Auszug aus dem Log, was der Kernel bei dem Versuch spricht, die Firmware zu laden: Oct 23 16:50:35 luna wickedd-dhcp4[24985]: em1: defer timeout 15 reached (state SELECTING) Oct 23 16:50:44 luna wicked[28746]: em1 device-ready Oct 23 16:50:44 luna wicked[28746]: wlp2s0b1 device-ready Oct 23 16:50:44 luna wicked[28746]: em1 setup-in-progress Oct 23 16:50:44 luna wicked[28746]: wlp2s0b1 device-not-running Oct 23 16:55:11 luna kernel: brcmsmac bcma0:1: Direct firmware load for brcm/bcm43xx-0.fw failed with error -2 Oct 23 16:55:11 luna kernel: ieee80211 phy0: brcmsmac: fail to load firmware brcm/bcm43xx-0.fw Oct 23 16:55:11 luna wickedd[24990]: ni_wpa_add_interface: dbus call failed (fi.epitest.hostap.WPASupplicant.AddError: wpa_supplicant couldn't grab this interface.) Oct 23 16:55:11 luna wickedd[24990]: ni_wpa_interface_bind(wlp2s0b1): No such process Oct 23 16:55:11 luna wickedd[24990]: wpa_supplicant doesn't know interface wlp2s0b1 Oct 23 16:55:11 luna wickedd-nanny[24991]: device wlp2s0b1: call to org.opensuse.Network.Wireless.changeDevice() failed: General failure Interessant scheint mir die Angabe "brcm/bcm43xx-0.fw", denn eine solche Datei wurde nicht heruntergeladen und ist demnach nicht zu finden in den FW-Verzeichnissen. Kann es sein, dass oS hier beim Download der Firmware die falsche erwischt hat? Wie bekomme ich die (richtige) Firmware geladen? Soll ich einfach die FW direkt von Broadcom holen und in die Verzeichnisse /lib/firmware/... kopieren? Danke im Voraus für Eure Tipps! Gruß, Tom P.S.: Knoppix 7.5 hat übrigens kein Problem. Der NetworkManager zeigt im SysTray gleich die sichtbaren SSIDs der Umgebung an. Ich musste nur zuerst das WLAN auf aktiv schalten. -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org

On Fri, 23 Oct 2015 20:27, Thomas Michalka (MLs) wrote:
...
Erster Tipp: Hast Du nach dem holen & installieren der Firmware den auch die "initrd" neu gebaut? Denn das Zeug wird wärend des Bootens geladen, muß also in di initrd hinein. Der notwendige Befehl heist "dracut", guck dir aber besser noch die notwendigen parameter in der man-page an. Schönes Wochenende, - Yamaban.

Hallo, vielen Dank schon mal für Deine Antwort. Am 23.10.2015 um 20:37 schrieb Yamaban:
Meines Wissens braucht es in der initrd nur solche Treiber, die der Kernel schon vor dem Mounten des Root-Dateisystems braucht, z.B. sata, ext4 u.a., damit er die Geräte und Dateisysteme überhaupt ansprechen kann. Ein WLAN-Treibermodul gehört sicher nicht dazu. Nach dem Mounten des Root-FS steht das Verzeichnis /lib/firmware ja zur Verfügung, von wo sich das Treibermodul die FW holen kann. Nach dem Log scheint das WLAN-Treibermodul genau das zu versuchen. Wie Du im Log gesehen hast, versucht der Treiber bcma die Firmware nachzuladen, was durchaus beabsichtigt erscheint, und zwar immer wieder, wenn man das WLAN-Gerät starten will (ifup wlp...). Außerdem wird für das nachträgliche Beschaffen (normalerweise sicher schon irgendwann im Verlauf der Installation) der Firmware, die nicht auf der Install-DVD ist, mit dem Service pullin-bcm43xx-firmware.service ein gewisser Aufwand betrieben. Hierzu wird das Skript /usr/sbin/install_bcm43xx_firmware gestartet, womit die FW heruntergeladen und installiert werden soll. Ich kann mir nicht vorstellen, dass man bei dem Automatisierungsgrad ausgerechnet an der initrd selber Hand anlegen sollte. Das würde den Automatismus ad absurdum führen. Momentan bin ich an dem Skript dran und finde seltsamerweise eine Datei namens broadcom-wl-5.100.138/linux/wl_apsta.o (der Pfad in dem tarball broadcom-wl-5.100.138.tar.bz2 von www.lwfinger.com/b43-firmware) in den Verzeichnissen /lib/firmware/b43* nicht, obwohl sie dahin ausgepackt worden sein sollte. Das gleiche gilt für die zweite Datei wl_apsta-3.130.20.0.o (direkt von downloads.openwrt.org/sources). Trotzdem scheinen die Treiber installiert worden zu sein (zunächst ein Auszug aus dem Skript install_bcm43xx_firmware): # !/bin/sh # # install_bcm43xx_firmware ... if [ -d /lib/firmware/b43 ] ; then echo "b43 firmware successfully installed." /sbin/modprobe -r b43 # evtl. alten Treiber entfernen /sbin/modprobe b43 else echo "b43 firmware installation failed." fi if [ -d /lib/firmware/b43legacy ] ; then echo "b43legacy firmware successfully installed." /sbin/modprobe -r b43legacy # evtl. alten Treiber entfernen /sbin/modprobe b43legacy else echo "b43legacy firmware installation failed." fi ... luna:~ # lsmod | grep b43 b43legacy 131072 0 b43 450560 0 ssb 77824 2 b43,b43legacy pcmcia 69632 2 b43,ssb mac80211 786432 3 b43,brcmsmac,b43legacy cfg80211 589824 4 b43,brcmsmac,mac80211,b43legacy bcma 57344 3 b43,brcmsmac mmc_core 143360 4 b43,ssb,sdhci,sdhci_pci Es bleibt aber die Fehlermeldung aus dem SysLog: Oct 23 16:55:11 luna kernel: brcmsmac bcma0:1: Direct firmware load for brcm/bcm43xx-0.fw failed with error -2 Oct 23 16:55:11 luna kernel: ieee80211 phy0: brcmsmac: fail to load firmware brcm/bcm43xx-0.fw In /lib/firmware gibt es weder den pfad brcm/ noch die Datei bcm43xx-0.fw. Der Hund liegt doch darin begraben, dass hier anscheinend entweder falsche Pfade und FW-Dateinamen von brcmsmac bcma0 und ieee80211 phy0 erwartet werden, oder die falsche Firmware besorgt wurde. Wie gehe ich hier jetzt systematisch weiter vor? Anderen Kernel bzw. Kernel-Module? Andere Firmware besorgen? Obwohl ich hier weiter nachforschen werde, wäre ich für Hinweise auf den richtigen Weg sehr dankbar.
Der notwendige Befehl heist "dracut", guck dir aber besser noch die notwendigen parameter in der man-page an.
Ich schau mir das trotz meiner vorherigen Überlegungen Bedenken noch an. Ebenso schönes Wochenende, Tom -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org

Thomas Michalka (MLs) schrieb:
Hi Thomas von meinen Vorschlägen halten viele nichts: Trotzdem, gib mal bei Google ein, was Dir auch Dein Log sagt: " firmware brcm/bcm43xx-0.fw "
Frank -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org

Hallo Frank, Am 24.10.2015 um 16:46 schrieb Frank:
Danke für Deinen Hinweis, der mich direkt auf dieselbe Seite geführt hat, die ich gestern über den Suchbegriff Firmware BCM43224 schon gefunden habe. Die Fehlermeldung des Kernels im Log zeigt ja auch, dass er in einem anderen Verzeichnis sucht, nämlich brcm/ /wohl unter /lib/firmware. Hier nochmal der Log-Ausschnitt: Oct 24 18:54:55 luna kernel: brcmsmac bcma0:1: Direct firmware load for brcm/bcm43xx-0.fw failed with error -2 Oct 24 18:54:55 luna kernel: ieee80211 phy0: brcmsmac: fail to load firmware brcm/bcm43xx-0.fw Oct 24 18:54:55 luna wickedd[24990]: [....] Jetzt habe ich mir mal die eine FW-Datei bcm43xx-0.fw von https://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/tre... geholt und siehe da, jetzt verlangt der kernel nach einer weiteren Datei, nämlich bcm43xx_hdr-0.fw: Oct 24 18:56:13 luna wickedd[24990]: ni_wpa_add_interface: dbus call failed [...] Oct 24 18:56:13 luna kernel: brcmsmac bcma0:1: Direct firmware load for brcm/bcm43xx_hdr-0.fw failed with error -2 Oct 24 18:56:13 luna kernel: ieee80211 phy0: brcmsmac: fail to load firmware brcm/bcm43xx_hdr-0.fw Oct 24 18:56:13 luna wickedd[24990]: ni_wpa_interface_bind(wlp2s0b1[...] Oct 24 18:56:13 luna wickedd[24990]: wpa_supplicant doesn't know [...] Oct 24 18:56:13 luna wickedd-nanny[24991]: device wlp2s0b1: call [...] Tun wir ihm den Gefallen und laden sie auch noch nach /lib/firmware/brcm. Dann ergibt sich folgendes Bild: Oct 24 18:58:05 luna wickedd[24990]: ni_wpa_add_interface: dbus [...] Oct 24 18:58:05 luna kernel: ieee80211 phy0: brcms_check_firmwares: non integral fw hdr file size 5062/12 Oct 24 18:58:05 luna wickedd[24990]: ni_wpa_interface_bind(wlp2s0b [...] Oct 24 18:58:05 luna wickedd[24990]: wpa_supplicant doesn't know [...] Oct 24 18:58:05 luna wickedd-nanny[24991]: device wlp2s0b1: call [...] Ich bin mir nicht sicher, ob der Kernel noch ein Problem sieht, aber die Ausgabe der Meldung mit journalctl ist rot, was darauf hindeutet. Wenn ich die Treiber mit modprobe -r b43 und modprobe -r b43legacy erst entferne und dann wieder lade, gibt es kein Fehlermeldungen vom Kernel. Erst, wenn ich mit ifup wlp2s0b1 das WLAN-Gerät starten möchte, sehe ich die obigen 5 Zeilen Fehlermeldungen im Log. Jetzt habe ich den Kernel mit dem gefüttert, was er wollte und nun ist es auch wieder nicht recht. Ich glaube, ich wende mich mal an die oS-Factory-ML, schließlich habe ich Tumbleweed installiert, und auf der Seite wird die Liste als Kontakt zum Tumbleweed-Projekt genannt. Als weitere Möglichkeit fällt mir ein, dass ich mir mal ansehe, welche FW Knoppix 7.5 verwendet. Allerdings wird der Kernel noch einer aus der 3er-Serie sein. Aber vielleicht geht die auch für den 4.2er Kernel. Vielen Dank für die Anregungen und schönen Abend allerseits Tom -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
participants (3)
-
Frank
-
Thomas Michalka (MLs)
-
Yamaban