Liebe Linuxmuster-Community,
wir haben ein Problem mit Linbo 4.3 und der WiFi-Karte in Lenovo Notebooks, das wir nicht lösen können - und wir haben viel probiert!
Als wir die Geräte letzten Herbst gekauft haben, hatten wir noch Linbo 4.2. Damals half die Änderung der Datei /etc/linuxmuster/linbo/firmware wie folgt:
regulatory.db
regulatory.db.p7s
mediatek/WIFI_MT7961_patch_mcu_1_2_hdr.bin
mediatek/WIFI_RAM_CODE_MT7961_1.bin
rtl_nic/rtl8168h-2.fw
In der Datei /srv/linbo/start.conf.GRUPPE haben wir bei den KernelOptions die Einträge
nowarmstart modprobe.blacklist=r8169 modprobe.blacklist=ideapad_laptop hinzugefügt. Nach einem update-linbofs waren die Lenovos dann sowohl über Kabel als auch über WLAN per Linbo nutzbar.
Diese Einträge haben den Weg zu Linbo 4.3 überlebt, helfen aber nicht mehr. Die Infos:
Geräte: Lenovo V15 G4 AMN, neuestes BIOS: L1CN74WW
Linbo: neueste Version für LMN 7.3: Linbo 4.3.38-0 Psycho Killer (mit Longterm-Kernel, siehe unten)
Per linbo-ssh erhalten:
dmesg | grep -i firmware
Spectre V2 : Enabling Speculation Barrier for firmware calls
ACPI: [Firmware Bug]: BIOS _OSI(Linux) query ignored
mt7921e 0000:02:00.0: WM Firmware Version: ____010000, Build Time: 20240219111038
amdgpu 0000:04:00.0: Direct firmware load for amdgpu/psp_13_0_8_toc.bin failed with error -2
amdgpu 0000:04:00.0: Direct firmware load for amdgpu/dcn_3_1_6_dmcub.bin failed with error -2
amdgpu 0000:04:00.0: Direct firmware load for amdgpu/gc_10_3_7_pfp.bin failed with error -2
amdgpu 0000:04:00.0: Direct firmware load for amdgpu/sdma_5_2_7.bin failed with error -2
amdgpu 0000:04:00.0: Direct firmware load for amdgpu/yellow_carp_vcn.bin failed with error -2
modprobe mt7921e
modprobe -r mt7921e funktioniert beides.
lsmod (gekürzt)
Module Size Used by Tainted: G
i2c_hid_acpi 12288 0
i2c_hid 28672 1 i2c_hid_acpi
amdgpu 10207232 0
drm_buddy 12288 1 amdgpu
amdxcp 12288 1 amdgpu
mt7921e 16384 0
mt7921_common 57344 1 mt7921e
drm_display_helper 143360 1 amdgpu
mt792x_lib 45056 2 mt7921e,mt7921_common
mt76_connac_lib 61440 3 mt7921e,mt7921_common,mt792x_lib
mt76 86016 4 mt7921e,mt7921_common,mt792x_lib,mt76_connac_lib
mac80211 634880 4 mt7921_common,mt792x_lib,mt76_connac_lib,mt76
i2c_piix4 20480 0
r8168 466944 0
xhci_pci 16384 0
i2c_smbus 12288 1 i2c_piix4
drm 483328 11 i2c_hid,amdgpu,drm_buddy,amdxcp,drm_exec,gpu_sched,drm_suballoc_helper,drm_display_helper,drm_ttm_helper,ttm,drm_kms_helper
cfg80211 446464 4 mt7921_common,mt76_connac_lib,mt76,mac80211
think_lmi 32768 0
firmware_attributes_class 12288 1 think_lmi
i2c_designware_platform 12288 0
hwmon 20480 3 amdgpu,mt7921_common,fan
Die WiFi-Karte wird im laufenden Debian 13 wie folgt erkannt und funktioniert auch einwandfrei:
02:00.0 Network controller: MEDIATEK Corp. MT7921 802.11ax PCI Express Wireless Network Adapter
Subsystem: Lenovo Device e0bc
Kernel driver in use: mt7921e
Kernel modules: mt7921e
Zwischenzeitlich probiert haben wir Vieles, unter anderem haben wir von einem Gerät, das noch keinen Kontakt zum neuen Linbo hatte, das alte extrahiert. Wenn ich in den folgenden Berichten von „Passenger“ schreibe, meine ich die dort extrahierten Dateien:
Kernel: In /etc/linuxmuster/linbo/custom_kernel wurde probiert:
KERNELPATH="legacy"=> Gerät bleibt bei „Starting systemd-udevd …“ hängen, noch bevor es zum DHCP kommt.KERNELPATH="longterm"=> 6.12.100 => bootet immerKERNELPATH="stable"=> gibt es nicht, wird benutzt, wenn kein KERNELPATH gesetzt => 7.x => bleibt manchmal bei „Starting systemd-udevd …“ hängen und bootet manchmal normalKERNELPATH="/var/lib/linuxmuster/linbo/passenger/linbo64"=> von Gerät extrahiert, das noch The Passenger drauf hatte
MODULESPATH="/var/lib/linuxmuster/linbo/passenger/lib/modules/6.12.33"=> dito
In /etc/linuxmuster/linbo/firmware wurden alle mediatek/WIFI_MT… und mediatek/WIFI_RAM sowie auch BT_RAM… probiert, weil die Karte eine WiFi-Blutooth-Kombikarte ist.
In /lib/firmware/mediatek wurden die .zst-Dateien zu .bin-Dateien entpackt, um eventuelle Fehler beim Entpacken auszuschließen. Zudem wurden die Dateien WIFI_MT7961_patch_mcu_1_2_hdr.bin und WIFI_RAM_CODE_MT7961_1.bin vom alten Passenger geholt und getestet. Auch eine neuere Version dieser beiden Dateien, die wir in einem Forum gefunden haben, wurden probiert.
Vor dem Erstellen des Linbo-FS wurde zudem das Verzeichnis /var/cache/linuxmuster/firmware/ gelöscht, um eventuelle Überreste nicht einzubauen.
Lässt man den Mediatek-Treiber ganz weg (oder verschiebt ihn in der firmware-Datei und im Dateisystem direkt nach /lib/firmware) wird er nicht geladen. Die dmesg-Meldung sieht dann analog zur Grafikkarte aus und endet auf error -2.
Der einzige Workaround, der funktioniert, besteht darin, die Dateien linbo64 und linbofs64 sowie die zugehörigen .md5-Dateien nach /srv/linbo zu kopieren. Dann wird das alte Linbo an die Notebooks verteilt, was funktioniert, weil sich nicht arg viel im Unterbau geändert hat. Das ist aber keine Dauerlösung und bei jedem Systemupdate, dass unser Service-Partner macht, wird es überschrieben. Bootet man danach die Lenovos, holen sie das neue Linbo und funktionieren danach erst wieder im WLAN, wenn sie sich per Kabel das alte Linbo gezogen haben.
Mein Eindruck ist, dass irgendein Schritt am Anfang zu schnell läuft oder in einer falschen Reihenfolge, weshalb der Treiber noch nicht zur Verfügung steht. Beim Booten von Debian braucht der NetworkManager auch wenige Sekunden, bis es weiter geht. Nach den DHCP-Versuchen der LAN-Karte rennt Linbo 4.3 durch. Es finden keine DHCP-Versuche auf der WLAN-Karte statt. (Wir haben einen guten Vergleich, weil ältere HP- und Dell-Geräte mit 4.3 (Realtek- bzw. Intel-WiFi) funktionieren.)
Nun hoffe ich, dass ich hier mindestens Lösungshinweise bekommen, und sei es der, wo ich all diese Infos besser posten muss. Vielen Dank im Voraus!
(Versuch mit 7.4 kommen nicht in Frage, da die Basis von einem Servicepartner gewartet wird. Wir kümmern uns nur um den Feinschliff.)
Viele Grüße - Henning