Patch für WLAN bei Samsung Galaxy Book

Hast Du Probleme mit Hardware, die durch die anderen Foren nicht abgedeckt werden? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
Benutzeravatar
NetFoxy
Beiträge: 107
Registriert: 12.11.2009 17:53:50

Patch für WLAN bei Samsung Galaxy Book

Beitrag von NetFoxy » 15.09.2021 18:52:18

Hallo liebes Forum,

weil ich das ständig für mein Galaxy Book mache, hier der Patch für den Kernel, damit man WLAN bekommt.

Achtung: Bei mir ist bei Kernel 5.11.0 Schluss, weil bei 5.13 der Touchscreen nicht funktioniert. (Siehe viewtopic.php?f=13&t=182022)

Code: Alles auswählen

diff --git a/linux-5.15-rc1/drivers/net/wireless/ath/regd_common.h~
b/linux-5.15-rc1/drivers/net/wireless/ath/regd_common.h
index c4bd26e..cdb1e9a 100644
--- a/linux-5.15-rc1/drivers/net/wireless/ath/regd_common.h~
+++ b/linux-5.15-rc1/drivers/net/wireless/ath/regd_common.h
@@ -76,6 +76,7 @@ enum EnumRd {
        APL7_FCCA = 0x5C,
        APL8_WORLD = 0x5D,
        APL9_WORLD = 0x5E,
+       APL10_WORLD = 0x5F,

        WOR0_WORLD = 0x60,
        WOR1_WORLD = 0x61,
@@ -204,6 +205,7 @@ static struct reg_dmn_pair_mapping regDomainPairs[] = {
        {APL6_WORLD, CTL_ETSI, CTL_ETSI},
        {APL8_WORLD, CTL_ETSI, CTL_ETSI},
        {APL9_WORLD, CTL_ETSI, CTL_ETSI},
+       {APL10_WORLD, CTL_ETSI, CTL_ETSI},

        {APL3_FCCA, CTL_FCC, CTL_FCC},
        {APL7_FCCA, CTL_FCC, CTL_FCC},
@@ -426,6 +428,7 @@ static struct country_code_to_enum_rd allCountries[] = {
        {CTRY_KOREA_ROC, APL9_WORLD, "KR"},
        {CTRY_KOREA_ROC2, APL2_WORLD, "K2"},
        {CTRY_KOREA_ROC3, APL9_WORLD, "K3"},
+       {CTRY_KOREA_ROC4, APL10_WORLD, "K4"},
        {CTRY_KUWAIT, ETSI3_WORLD, "KW"},
        {CTRY_LATVIA, ETSI1_WORLD, "LV"},
        {CTRY_LEBANON, NULL1_WORLD, "LB"},

Code: Alles auswählen

diff --git a/linux-5.15-rc1/drivers/net/wireless/ath/regd.h~
b/linux-5.15-rc1/drivers/net/wireless/ath/regd.h
index 8d5a16b..774419c 100644
--- a/linux-5.15-rc1/drivers/net/wireless/ath/regd.h~
+++ b/linux-5.15-rc1/drivers/net/wireless/ath/regd.h
@@ -126,6 +126,7 @@ enum CountryCode {
        CTRY_KOREA_ROC = 410,
        CTRY_KOREA_ROC2 = 411,
        CTRY_KOREA_ROC3 = 412,
+       CTRY_KOREA_ROC4 = 413,
        CTRY_KUWAIT = 414,
        CTRY_LATVIA = 428,
        CTRY_LEBANON = 422,
Damit sollte es funktionieren. Habe das der Entwicklerliste linux-wireless geposted. Ob die das einbauen, weiß ich aber nicht.

Beste Grüße
Andreas

Benutzeravatar
NetFoxy
Beiträge: 107
Registriert: 12.11.2009 17:53:50

Re: Patch für WLAN bei Samsung Galaxy Book

Beitrag von NetFoxy » 15.09.2021 18:55:06

Für die Leute, die noch nie einen Kernel kompiliert haben, hier die Kurzanleitung:
  • Kernel von https://www.kernel.org/ als Tarball herunterladen
  • Tarball auspacken
  • Die Dateien regd.h und regd_common.h um die genannten Zeilen erweitern
  • In dem ausgepackten Verzeichnis mit

    Code: Alles auswählen

    make menuconfig
    den Kernel konfigurieren. Dazu kann es sein, dass man einiges nachinstallieren muss. Wenn man will, kann man auch die Konfiguration aus dem /boot Verzeichnis des eigenen Debians im ausgepackten Verzeichnis des neuen Kernels als .config speichern und dann make menuconfig durchführen. Dann ist der neue Kernel näher an dem Kernel, denn auch das aktuell installierte Debian verwendet.
  • Damit man den Kernel nicht signieren muss muss man das noch ausschalten. Dazu in der .config-Datei folgende Zeile modifizieren:

    Code: Alles auswählen

    diff --git a/.config~ b/.config
    index b6a95a6..5ac62b4 100644
    --- a/.config~
    +++ b/.config
    @@ -9508,7 +9508,7 @@ CONFIG_MODULE_SIG_KEY=""
     CONFIG_MODULE_SIG_KEY_TYPE_RSA=y
     # CONFIG_MODULE_SIG_KEY_TYPE_ECDSA is not set
     CONFIG_SYSTEM_TRUSTED_KEYRING=y
    -CONFIG_SYSTEM_TRUSTED_KEYS="debian/certs/debian-uefi-certs.pem"
    +CONFIG_SYSTEM_TRUSTED_KEYS=""
     # CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set
     CONFIG_SECONDARY_TRUSTED_KEYRING=y
     CONFIG_SYSTEM_BLACKLIST_KEYRING=y
    
    Macht man das nicht, bricht der Kompilierungsprozess ab. Wer natürlich ein Zertifikat hat, darf es auch nutzen...
  • Dann mit

    Code: Alles auswählen

    make -j4 deb-pkg
    den Kernel kompilieren. Auch hier kann es sein, dass man ein bisschen was nachinstallieren muss. Nicht verzweifeln: Die Fehlermeldung, sollte eine auftreten, enthält oft den Namen des fehlenden Pakets. Die 4 hinter dem Parameter -j gibt die Anzahl der Prozessorkerne an, die man parallel benutzen möchte. Hier also nichts angeben, was man nicht hat... ;)
  • Im Ergebnis sollte man im übergeordneten Verzeichnis ein paar .deb-Pakete vorfinden, die sich mit

    Code: Alles auswählen

    dpkg -i *.deb
    normal installieren lassen. Man kann den debugging-Kernel (irgendwas mit dbg) allerdings auch weglassen.
  • Fertig. :)

Benutzeravatar
NetFoxy
Beiträge: 107
Registriert: 12.11.2009 17:53:50

Re: Patch für WLAN bei Samsung Galaxy Book

Beitrag von NetFoxy » 15.09.2021 20:10:34

Noch ein Hinweis:

Ich habe gerade gelernt, dass jeder, der die Source-Pakete für den Kernel nicht benötigt, auch mit

Code: Alles auswählen

make -j4 bindeb-pkg
kompilieren kann. Dann macht make kein clean und compiliert an der Stelle weiter, wo es vorher aufgehört hat. Das ist sehr viel besser, wenn man zwischendurch einen Abbruch hat, weil z.B. Abhängigkeiten nicht erfüllt sind und man die dann nachinstalliert. Man will dann ja nicht unbedingt wieder von ganz vorne mit dem Kompilieren anfangen.

Antworten