LINBO und die KernelOptions: modprobe.blacklist=r8169 loadmodules=r8125

Hallo Michael,

ich weiß nicht, ob das der richtige Pfad ist für das Modul und ob der benutzt wird, wenn linbo neu erstellt wird.
Außerdem mußt du sicher gehen, dass die Datei die richitgen Rechte hat.

LG

Holger

Hallo Holger,
ich habe auf dem Server nach r8169.ko gesucht und dabei wurde mir dieser Pfad ausgegeben. Daher dachte ich, dass dann dort auch das andere Modul hingehört?

Die Rechte in dem Verzeichnis sind für alle Files: -rw-r--r-- root root
Das passt also.

Hast Du noch eine andere Idee?
Viele Grüße,
Michael

Noch ein Nachtrag: Ich habe es nun auch mit der Datei firmware versucht, um LINBO gezielt Firmware mitgeben zu können.
Das funktionert auch, und zwar so:

[root@server:/etc/linuxmuster/linbo]$ cat firmware

# Example file for firmware to be integrated in linbofs.
# One entry per line, path has to be relative to /lib/firmware.
# Must be provided under /etc/linuxmuster/linbo/firmware.
# Be sure to invoke update-linbofs after you have made changes.
#
# thomas@linuxmuster.net
# 20231016
#

# Realtek r8168 ethernet adaptors firmware (whole directory)
#rtl_nic

# Intel Wi-Fi 6 AX201 firmware (Step Barebone Micro Cun 312)
iwlwifi-so-a0-hr-b0-86.ucode

# Realtek RTL8125 2.5 GBit LAN firmware (single file)
rtl_nic/rtl8125b-1.fw
rtl_nic/rtl8125b-2.fw

Anschließend update-linbofs und ein Neustart des Clients. Aber:
Der Client verwendet dennoch auch weiterhin den r8169 Treiber (mit unterirdischer Übertragungsrate).

Immerhin: Das WLAN-Modul hat er genommen (auch wenn wir das für diesen Client nicht benötigen).

Mir ist nicht klar, warum der Eintrag modprobe.blacklist=r8169 ignoriert wird!?

dmesg auf dem Client zeigt:

RTL8226B_RTL8221B 2.5Gbps PHY r8169-0-200:00: attached PHY driver (mii_bus:phy_addr=r8169-0-200:00, irq=MAC)
r8169 0000:02:00.0 eth0: No native access to PCI extended config space, falling back to CSI
r8169 0000:02:00.0 eth0: Link is Down
r8169 0000:02:00.0 eth0: Link is Up - 1Gbps/Full - flow control off

Wo steckt da der Fehler?? @thomas : Kannst Du evtl etwas dazu sagen?

Viele Grüße,
Michael

Tu doch mal
r8169

blacklisten mittels kernelparameter.

LG
Holger

… das meinte ich ja oben: Der Eintrag steht da und wird offenbar beim zweiten Start ignoriert :man_shrugging: :interrobang:

modprobe.blacklist funktioniert eigentlich, keine Ahnung. Teste mal 4.3.2.

LG, Thomas

Super, danke. Schaue ich mir an :+1:t2:

Hallo.
Wir haben das gerade mit der aktuellen LINBO-Version aus testing ausprobiert.
Der Client zeigt jetzt:

 lsmod
Module                  Size  Used by
r8125                 196608  0
r8169                  94208  0
iwlwifi               331776  0
realtek                32768  1

Seltsamerweise werden jetzt also beide Module angezeigt?
Die Übertragungsgeschwindigkeit unter LINBO hat sich leider nicht verändert. Es bleibt bei sehr langsamen ~15 MB/s.

Ach ja: Die Kerneloptions lauten weiterhin:
KernelOptions = nomodeset dhcpretry=10 modprobe.blacklist=r8169 loadmodules=r8125

Was enthält die Clientlogdatei bzgl. Firmware?

Der meldet sowas wie:

### Fri Sep 20 09:13:59 CEST 2024
### firmware.log
platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-so-a0-hr-b0-89.ucode failed with error -2
iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-so-a0-hr-b0-88.ucode failed with error -2
[... das gleiche für -60 bis -87.ucode]
iwlwifi 0000:00:14.3: Direct firmware load for iwlwifi-so-a0-hr-b0-59.ucode failed with error -2
iwlwifi 0000:00:14.3: no suitable firmware found!
iwlwifi 0000:00:14.3: check git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
r8169 0000:02:00.0: Direct firmware load for rtl_nic/rtl8125b-2.fw failed with error -2
r8169 0000:02:00.0: Unable to load firmware rtl_nic/rtl8125b-2.fw (-2)
### linbo.log
[1381] Sep 20 09:13:53 Running in background
[1460] Sep 20 09:13:54 Child connection from 10.16.1.1:56594
[1460] Sep 20 09:13:54 Pubkey auth succeeded for 'root' with key sha1  from 10.16.1.1:56594
[1460] Sep 20 09:13:54 Exit (root) from <10.16.1.1:56594>: Disconnect received
Mounting cache partition /dev/nvme0n1p6 ...
receiving incremental file list

Entscheidend ist die Passage:
r8169 0000:02:00.0: Direct firmware load for rtl_nic/rtl8125b-2.fw failed with error -2
Kann es sein, dass der Treiber für die r8125 mit unter r8169 läuft? Aber das erklärt noch nicht, warum die Übertragungsgeschwindigkeit unter LINBO unterirdisch ist, während sie unter Ubuntu normal läuft, oder?

Viele Grüße,
Michael

Ich habe die Firmware auch nochmal aufgenommen. Jetzt sieht dmesg auf dem Client so aus:

r8169 0000:02:00.0: can't disable ASPM; OS doesn't have ASPM control
PTP clock support registered
r8169 0000:02:00.0 eth0: RTL8125B, 8c:32:23:1a:51:7b, XID 641, IRQ 143
r8169 0000:02:00.0 eth0: jumbo features [frames: 9194 bytes, tx checksumming: ko]
r8125: loading out-of-tree module taints kernel.

iwlwifi 0000:00:14.3: Detected Intel(R) Wi-Fi 6 AX201 160MHz, REV=0x370
iwlwifi 0000:00:14.3: WRT: Invalid buffer destination
iwlwifi 0000:00:14.3: WFPM_UMAC_PD_NOTIFICATION: 0x20
iwlwifi 0000:00:14.3: WFPM_LMAC2_PD_NOTIFICATION: 0x1f
iwlwifi 0000:00:14.3: WFPM_AUTH_KEY_0: 0x90
iwlwifi 0000:00:14.3: CNVI_SCU_SEQ_DATA_DW9: 0x10
iwlwifi 0000:00:14.3: Detected RF HR B3, rfid=0x10a100
iwlwifi 0000:00:14.3: RFIm is deactivated, reason = 4
iwlwifi 0000:00:14.3: base HW address: d4:e9:8a:e5:57:59

warning: `hwinfo' uses wireless extensions which will stop working for Wi-Fi 7 hardware; use nl80211
RTL8226B_RTL8221B 2.5Gbps PHY r8169-0-200:00: attached PHY driver (mii_bus:phy_addr=r8169-0-200:00, irq=MAC)
r8169 0000:02:00.0 eth0: No native access to PCI extended config space, falling back to CSI
r8169 0000:02:00.0 eth0: Link is Down
r8169 0000:02:00.0 eth0: Link is Up - 1Gbps/Full - flow control off

Weiterhin gilt aber: Wenn ich z.B. den Cache aktualisiere, fängt die Verbindung schnell an (mit ca 100 MB/s) und bricht dann ein … sie bleibt bei ~15 MB/s und dümpelt da so vor sich hin. Ein Lenovo-Laptop am selben Kabel kommt locker auf 90 MB/s. Von daher denke ich weiterhin, dass es nicht der richtige Treiber ist. Zudem scheint sich der r8169 ja auch weiterhin vorzudrängeln, oder?

Ist eine dieser reklamierten iwlwifi-ucode-Dateien in firmware eingetragen (z.B. die neueste Version, die unter /lib/firmware zu finden ist?

ls -1 /lib/firmware/iwlwifi-so-a0-hr* | tail -1

LG, Thomas

Ja, das hatte ich im zweiten Versuch gemacht. Das klappt also für die WLAN Schnittstelle schon mal und die Fehlermeldungen bzgl iwlwifi und der nicht gefundenen Firmware sind dann weg. :+1:t2:

Aber bei der LAN Schnittstelle bleibt es bei der o.g. Meldung. Bemerkenswert ist ja auch:
r8125: loading out-of-tree module taints kernel , oder?

Das ist kein Fehler. Das meldet der Kernel immer, wenn ein „fremdes“ Modul geladen wird.
Irgendwie scheint der r8125-Treiber nicht richtig geladen zu werden. Hast du die anderen Kernel probiert? Mangels Hardware kann ich das leider nicht debuggen.

LG, Thomas

Hallo Thomas.
Die anderen Kernel habe ich bisher nicht getestet aber stattdessen bin ich während der Suche nun schon öfter über Aussagen wie diese gestolpert:

Da schreibt jemand:

und direkt darunter dann noch eine Aussage, die mich aufhorchen ließ:

Keine Ahnung, was da dran ist – ich kann das frühestens am Montag nochmal testen.

noch viel später (auf Seite 12 des endlos langen Threads) fasst es nochmal eine anderer User so zusammen:

Das werde ich auf jeden Fall noch ausprobieren …

Hallo.
Ich habe mir das gerade nochmal angesehen … aber leider klappt das nicht so wie dort vorgeschlagen: Unter LINBO gibt es den Pfad /.../modprobe.d/ nicht.
Daher weiß ich nicht, wohin ich ggf. die Datei r8125.conf mit den angegebenen Optionen packen soll :man_shrugging:
@thomas : Hast Du vielleicht noch einen Tipp diesbzgl?

Was ich in der Zwischenzeit auf dem Client gesehen habe, ist:

raum1-pc17: ~ # ethtool eth0

Settings for eth0:
        Supported ports: [ TP    MII ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
                                2500baseT/Full
        Supported pause frame use: Symmetric Receive-only
        Supports auto-negotiation: Yes
        Supported FEC modes: Not reported
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
                                2500baseT/Full
        Advertised pause frame use: Symmetric Receive-only
        Advertised auto-negotiation: Yes
        Advertised FEC modes: Not reported
        Link partner advertised link modes:  10baseT/Half 10baseT/Full
                                             100baseT/Half 100baseT/Full
                                             1000baseT/Full
        Link partner advertised pause frame use: No
        Link partner advertised auto-negotiation: Yes
        Link partner advertised FEC modes: Not reported
        Speed: 1000Mb/s
        Duplex: Full
        Auto-negotiation: on
        master-slave cfg: preferred slave
        master-slave status: slave
        Port: Twisted Pair
        PHYAD: 0
        Transceiver: external
        MDI-X: Unknown
        Supports Wake-on: pumbg
        Wake-on: g
        Link detected: yes


raum1-pc17: ~ # ethtool -i eth0

driver: r8169
version: 6.9.9
firmware-version: rtl8125b-2_0.0.2 07/13/20
expansion-rom-version:
bus-info: 0000:02:00.0
supports-statistics: yes
supports-test: no
supports-eeprom-access: no
supports-register-dump: yes
supports-priv-flags: no

Sieht also alles richtig aus – es bleibt aber bei Übertragungsgeschwindigkeiten von ~15 MB/s.

Evtl. hilft das GitHub - linuxmuster/linuxmuster-linbo7: Next generation linbo

Mit dieser Vorgehensweise kannst du das Linbo-Dateisystem an deine Bedürfnisse anpassen.

VG, Thomas

2 „Gefällt mir“

Hallo @thomas,
ok, das teste ich.
Ich bin dabei jedoch auf eine widersprüchliche Aussage gestoßen:
Unter .../update-linbofs.pre.d]$ cat 00_example heißt es:
# DON'T make this script executable!
aber auf github steht das Gegenteil:

Don't forget to make the pre-hook script executable.

Was ist nun richtig?
Oder verstehe ich das im ersten Fall falsch und das bezieht sich nur auf „THIS script“??

Viele Grüße,
Michael

Yep, sonst wird das ausgeführt.