Hallo.
Ich versuche hier gerade weiterhin, dem LINBO-Kernel 6.9.9 das Modul r8125.ko unterzujubeln. Dazu bin ich nun folgendermaßen vorgegangen:
In der entsprechenden start.conf steht jetzt: KernelOptions =nomodeset dhcpretry=10 modprobe.blacklist=r8169 loadmodules=r8125
Wenn ich den Client starte, meldet der beim ersten Mal: modprobe: FATAL: Module r8125 not found in directory /lib/modules/6.9.9
Danach ist der Client (wie zu erwarten!) OFFLINE.
Wenn ich den Client dann aber nochmal neu starte, verhält sich der Client anders: Ich weiß nicht, ob dann die KernelOptions ignoriert werden – jedenfalls ist es dann so, dass der Client wieder den r8169-Treiber lädt und wieder ONLINE ist.
Woran liegt das? Und warum verhält sich der Client so?
Ich habe natürlich bereits versucht, das Modul auf dem Server unter /var/cache/linuxmuster/linbo/linbofs64/lib/modules/6.9.9/kernel/drivers/net/ethernet/realtek unterzubringen und anschließend ein update-linbofs durchzuführen. Scheinbar reicht das aber nicht, denn das Modul kommt trotzdem nicht auf dem Client an. Daher nochmal die Frage nach der richtigen Vorgehensweise …
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.
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?
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
### 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?
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?
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.
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.
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.
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 @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.
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“??