Kernelmodul (broadcom-wl) aus dem Quellcode kompilieren fuer openSUSE 15.5

Hinweis: In dem Thema Kernelmodul (broadcom-wl) aus dem Quellcode kompilieren fuer openSUSE 15.5 gibt es 5 Antworten. Der letzte Beitrag () befindet sich ganz unten auf dieser Seite.
  • Hallo,


    mein Laptop hat einen BCM4360-WiFi-Chip und benoetigt daher das Modul "broadcom-wl". Dieses ist untder dem "kernel-default" auch erfolgreich installaiert und WiFi als auch BT funktionieren parallel, was nicht selbstverstaendlich ist, da sich die Technologien Frequenzen teilen.

    Nun habe ich den Kernel 5.14.21.x-rt parallel installiert aber das Modul broadcom-wl wird fuer diesen Kernel nicht installiert.


    Folgendes habe ich zur moeglichen Fehlerloesung gemacht:

    - kernel-rt-devel Paket installiert

    - Modul broadcom-wl & *kmp-default erneut installiert, nachdem der rt-Kernel installiert

    - Neustart des BS

    - dkms installiert (mit autoinstall_all_kernels="true" in framework.conf)

    - das Modul erneut neuinstalliert, um dkms zu triggern, das Modul fuer alle vorhanden Kernel zu installieren


    Jetzt bin ich an dem Punkt, das Modul aus den Quellen bauen zu wollen.

    Die Modulquellen habe ich von Quellcode: broadcom-wl


    Kurz nach dem Start von make gibt es Fehlermeldungen und Warnungen, wie:

    "implicit declaration of function",

    "return makes pointer from integer without a cast" und

    "passing argument {0|1|2} of 'kernel_read'",

    die ich mit meinem (wenigen) Programmierwissen nicht loesen kann.

    Ich bin fuer jeden Tip dankbar.

    Für den Inhalt des Beitrages 306920 haftet ausdrücklich der jeweilige Autor: zizlog

  • Danke schnupi84 , das geht in die gewuenschte Richtung.
    Eine Suche nach "broadcom-wl-dkms" fuehrte zu broadcom-wl-dkms-6.30.223.271-14.fc36.x86_64.rpm, welches die Patches als auch den Quellcode beinhaltet.
    Das Paket liess sich installieren und hat korrekterweise broadcom-wl als Konflikt gemeldet, welches dann deinstalliert wurde.

    Die Installation dauerte einen Moment, so dass ich anahm, das Modul wird fuer alle installierten Kernelversionen kompiliert. Letztlich wurden nur die Quellen in /usr/src/broadcom-wl-dkms-6.x installiert aber kein Modul kompiliert.

    Meiner Ansicht nach haette "broadcom-wl-kmp-default" auch deinstalliert werden muessen, da in diesem Paket das eigentliche Modul wl.ko enthalten ist. Habe ich also auch deinstalliert.

    Die Anzahl der beigefuegten Patches stellt mich vor ein weiteres Problem. Welcher davon ist anzuwenden?


    Ein make auf die installierten Quellen fuerhte zu Fehlern in der Datei wl_linux.c: "conflicting types for ‘eth_hw_addr_set’" und einer Warnung "passing argument 1 of ‘memcpy’ discards ‘const’ qualifier from pointer target type".

    Einmal editiert, zuletzt von zizlog () aus folgendem Grund: Nachtrag der "make"-Ausabe

    Für den Inhalt des Beitrages 306925 haftet ausdrücklich der jeweilige Autor: zizlog

  • Sag mal, nutzt du eigentlich das "Packman" Repo ?


    Für den Inhalt des Beitrages 306936 haftet ausdrücklich der jeweilige Autor: schnupi84

  • Sag mal, nutzt du eigentlich das "Packman" Repo ?

    Ja, nutze ich. Was ist mit dem Repo? "broadcom-wl-dkms" ist da nicht enthalten, nur "broadcom-wl-kmp-default.
    Ich war jetzt eine Woche nicht am Computer, so dass es keinen Fortschritt gibt.

    Für den Inhalt des Beitrages 307075 haftet ausdrücklich der jeweilige Autor: zizlog

  • 1. Eine Suche nach "eth_hw_addr_set" (vom den Fehler in #3) in den im rpm-Paket enthaltenen Patch-Dateien führte zum Patch "broadcom-wl-fix-linux-5.17. Da bei mir Kernel v5.14.21.x läuft, lag es nahe diesen Patch testhalber rückgänging zu machen, was die Lösung war.

    2. Das Modul ließ sich jetzt mit "dkms install broadcom-wl/6.30.223.271" kompilieren und installieren.


    3. Das automatische Laden des Modules erfordert die Datei in /etc/modules-load.d/broadcom-wl-dkms.conf, in der lediglich wl eingetragen ist.


    3. Obwohl es eine Datei broadcom-wl-dkms.conf in /etc/modprobe.d/ gibt, in der kollidierene Module auf der schwarzen Liste sind, was ein Laden verhindern soll, wurden diese neben dem Modul wl geladen.

    Mit einem "systemctl disable pullin-bcm43xx-firmware.service" konnte ich auch das beheben.

    Nach dem Laden von KDE Plasma dauert es einen Moment bis die WLAN-Verbindung aufgebaut ist. Ursache unbekannt aber erst einmal ok.

    Damit markiere ich den Beitrag als erledigt.

    (Der Titel des Beitrages müßte nun passenderweise "Kernelmodul mit dkms aus dem Quellcode kompilieren", da es allgemein anwendbar ist, er sich aber nicht ändern läßt. )


    Umlaute kann ich auf meiner QWERTY-Tastatur mit Hilfe der "Compose"-Taste nun auch verwenden. ;)

    Für den Inhalt des Beitrages 307083 haftet ausdrücklich der jeweilige Autor: zizlog