Diese Website existiert nur weil wir Werbung mit AdSense ausliefern.
Bitte den AdBlocker daher auf dieser Website ausschalten! Danke.

[Gelöst] Odroid H2+: Build module r8125 - pci-aspm.h not found (CentOS 8.3)

Alles rund um Hardware, die unter Linux läuft oder zum Laufen gebracht werden soll

Moderator: Moderatoren

Antworten
Benutzeravatar
gehrke
Moderator
Moderator
Beiträge: 2421
Registriert: 10. Nov 2012, 11:00

[Gelöst] Odroid H2+: Build module r8125 - pci-aspm.h not found (CentOS 8.3)

Beitrag von gehrke »

Moin *

Spaß am Sonntag: Nach einem 'dnf upgrade' ist das Netzwerk auf dem Homeserver kaputt. Das ist unschön.

Es handelt sich um ein Odroid H2+. Das Teil verfügt über zwei 2,5 Gbit/s-NICs, für die es im Standardkernel von CentOS 8.x noch keinen Treiber gibt. Den muss man noch selbst bauen, was bislang in den vergangenen Monaten auch problemlos möglich war:

https://wiki.odroid.com/odroid-h2/hardw ... _on_h2plus

Heute ist es anders, beim Build des Treibers gibt es eine Fehlermeldung:

Code: Alles auswählen

# cd r8125-9.004.01/ ; ./autorun.sh
Check old driver and unload it.
Build the module and install
/root/r8125-9.004.01/src/r8125_n.c:62:10: schwerwiegender Fehler: linux/pci-aspm.h: Datei oder Verzeichnis nicht gefunden
 #include <linux/pci-aspm.h>
          ^~~~~~~~~~~~~~~~~~
Kompilierung beendet.
make[3]: *** [scripts/Makefile.build:316: /root/r8125-9.004.01/src/r8125_n.o] Fehler 1
make[2]: *** [Makefile:1544: _module_/root/r8125-9.004.01/src] Fehler 2
make[1]: *** [Makefile:159: modules] Fehler 2
make: *** [Makefile:41: modules] Fehler 2
Scheinbar fehlt die Datei tatsächlich für den aktuellen Kernel:

Code: Alles auswählen

# find / -name *pci-aspm.h* -ls
   658569      4 -rw-r--r--   2  root     root          889 Jul 26  2020 /usr/src/kernels/4.18.0-193.28.1.el8_2.x86_64/include/linux/pci-aspm.h
   658569      4 -rw-r--r--   2  root     root          889 Jul 26  2020 /usr/src/kernels/4.18.0-193.19.1.el8_2.x86_64/include/linux/pci-aspm.h

Code: Alles auswählen

# uname -a
Linux j15 4.18.0-240.10.1.el8_3.x86_64 #1 SMP Mon Jan 18 17:05:51 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
Zum Vergleich - mit 4.18.0-193.* funktionierte das Build und die Nutzung des Netzwerkes noch problemlos:

Code: Alles auswählen

# ls -ltar /boot/vmlinuz-*.x86_64
-rwxr-xr-x. 1 root root 8920200 14. Sep 16:45 /boot/vmlinuz-4.18.0-193.19.1.el8_2.x86_64
-rwxr-xr-x. 1 root root 8924296 22. Okt 02:28 /boot/vmlinuz-4.18.0-193.28.1.el8_2.x86_64
-rwxr-xr-x. 1 root root 9514120 18. Jan 18:14 /boot/vmlinuz-4.18.0-240.10.1.el8_3.x86_64
Das Paket 'kernel-devel' scheint für alle Versionen installiert:

Code: Alles auswählen

# dnf info kernel-devel
Letzte Prüfung auf abgelaufene Metadaten: vor 1:29:09 am So 24 Jan 2021 13:48:37 CET.
Installierte Pakete
Name         : kernel-devel
Version      : 4.18.0
Release      : 193.19.1.el8_2
Architecture : x86_64
Size         : 47 M
Quelle       : kernel-4.18.0-193.19.1.el8_2.src.rpm
Repository   : @System
Aus Paketque : BaseOS
Summary      : Development package for building kernel modules to match the kernel
URL          : http://www.kernel.org/
Lizenz       : GPLv2 and Redistributable, no modification permitted
Description  : This package provides kernel headers and makefiles sufficient to build modules
             : against the kernel package.

Name         : kernel-devel
Version      : 4.18.0
Release      : 193.28.1.el8_2
Architecture : x86_64
Size         : 47 M
Quelle       : kernel-4.18.0-193.28.1.el8_2.src.rpm
Repository   : @System
Aus Paketque : BaseOS
Summary      : Development package for building kernel modules to match the kernel
URL          : http://www.kernel.org/
Lizenz       : GPLv2 and Redistributable, no modification permitted
Description  : This package provides kernel headers and makefiles sufficient to build modules
             : against the kernel package.

Name         : kernel-devel
Version      : 4.18.0
Release      : 240.10.1.el8_3
Architecture : x86_64
Size         : 47 M
Quelle       : kernel-4.18.0-240.10.1.el8_3.src.rpm
Repository   : @System
Aus Paketque : BaseOS
Summary      : Development package for building kernel modules to match the kernel
URL          : http://www.kernel.org/
Lizenz       : GPLv2 and Redistributable, no modification permitted
Description  : This package provides kernel headers and makefiles sufficient to build modules
             : against the kernel package.
Unter /usr/src/kernels/4.18.0-240.10.1.el8_3.x86_64/include/linux liegen auch eine Menge Header-Files, aber nicht die gesuchte.

Eine Recherche zeigt einen ähnlichen Fall, allerdings ohne Lösung:
https://forums.centos.org/viewtopic.php ... 0&p=322657
Keinen Bock mehr auf zentralisierte soziale Netzwerke von US-Konzernen?
https://www.kuketz-blog.de/das-fedivers ... nteressen/ (Join the fediverse: Friendica, Mastodon, Diaspora und vieles mehr)
Sauerland
Guru
Guru
Beiträge: 4247
Registriert: 5. Aug 2007, 17:57
Wohnort: Sauerland

Re: Odroid H2+: Build module r8125 - pci-aspm.h not found (CentOS 8.3)

Beitrag von Sauerland »

Ist der kernel gepatched?
openSUSE hat z.B in Leap 15.1 einen von kernel 4.19 auf kernel 4.12 zurückportierten kernel.

Evtl musst du eine patch nehmen, da es jetzt statt

Code: Alles auswählen

#include <linux/pci-aspm.h>

Code: Alles auswählen

#include <linux/pci.h>
ist?

Siehe hier:
https://bugs.gentoo.org/701200

Kannst du ja mal in den 3. Sourcen vergleichen.
Desktop: OpenSUSE Leap 15.3, Nvidia-Grafik Kernel 5.x
Laptop: OpenSUSE Leap 15.3, Intel-Skylake, Kernel 5.3
josef-wien
Ultimate Guru
Ultimate Guru
Beiträge: 5658
Registriert: 23. Sep 2008, 17:09

Re: Odroid H2+: Build module r8125 - pci-aspm.h not found (CentOS 8.3)

Beitrag von josef-wien »

Im Langzeit-Kernel 4.19 gibt es die Datei noch, im Langzeit-Kernel 5.4 gibt es sie nicht mehr. Es könnte also ein typischer Rückportier-Fehler sein, bei dem ein bug report an die für Deinen Distributions-Kernel Zuständigen angebracht zu sein scheint. Es könnte aber auch sein, daß die von Sauerland genannte Änderung in Deinem neuen Distributions-Kernel Eingang gefunden hat und das Makefile Deines Moduls damit nicht zurechtkommt.
Benutzeravatar
gehrke
Moderator
Moderator
Beiträge: 2421
Registriert: 10. Nov 2012, 11:00

Re: Odroid H2+: Build module r8125 - pci-aspm.h not found (CentOS 8.3)

Beitrag von gehrke »

TNX - ich denke, das ist tatsächlich ein Bug.

Um wieder im Spiel zu sein, habe ich zunächst mal den letzten Kernel gebootet.
Keinen Bock mehr auf zentralisierte soziale Netzwerke von US-Konzernen?
https://www.kuketz-blog.de/das-fedivers ... nteressen/ (Join the fediverse: Friendica, Mastodon, Diaspora und vieles mehr)
Benutzeravatar
gehrke
Moderator
Moderator
Beiträge: 2421
Registriert: 10. Nov 2012, 11:00

Re: Odroid H2+: Build module r8125 - pci-aspm.h not found (CentOS 8.3)

Beitrag von gehrke »

Das Problem ist gelöst, die Macht der Geduld hat geholfen.
Ich weiß nur nicht, wodurch. :-o

Nach einem halben Jahr habe ich noch mal die aktuellen Sourcen von RealTek gezogen.

Diese liessen sich dann auch mit der bis dahin eingefrorenen Version von CentOS fehlerfrei bauen und das Modul funktional laden.

Code: Alles auswählen

[root@j15 ~]# ls -ltar r8125-9.005.06
insgesamt 28
-rwxrwxrwx. 1 root root 3827 13. Mai 11:49 README
-rwxrwxrwx. 1 root root 1860 13. Mai 11:49 Makefile
-rwxrwxrwx. 1 root root 2062 13. Mai 11:49 autorun.sh
drwxrwxrwx. 3 root root 4096 10. Jul 12:44 .
drwxrwxrwx. 3 root root 4096 10. Jul 12:44 src
-rw-r--r--. 1 root root 1782 10. Jul 12:44 log.txt
Danach habe ich CentOS aktualisiert:

Code: Alles auswählen

Aktualisiert:
  kernel-headers-4.18.0-305.7.1.el8_4.x86_64                                     kernel-tools-4.18.0-305.7.1.el8_4.x86_64                                
  kernel-tools-libs-4.18.0-305.7.1.el8_4.x86_64                                  kexec-tools-2.0.20-46.el8_4.1.x86_64                                    
[...]
Entfernt:
  kernel-4.18.0-193.19.1.el8_2.x86_64                 kernel-core-4.18.0-193.19.1.el8_2.x86_64         kernel-devel-4.18.0-193.19.1.el8_2.x86_64        
  kernel-modules-4.18.0-193.19.1.el8_2.x86_64 
Danach ein Reboot.

Neu war jetzt, dass damit das Netzwerk sofort funktionierte, ohne zuvor die Sourcen via autorun.sh zu bauen und das Modul manuell zu laden, wie es vorher der Fall war. Daher vermute ich, dass es nun eine Kernel-Unterstützung gibt. Ist aber nur eine Spekulation.

Code: Alles auswählen

# lsmod | grep r8125
<leer>

Code: Alles auswählen

# cat /etc/centos-release
CentOS Linux release 8.4.2105
Keinen Bock mehr auf zentralisierte soziale Netzwerke von US-Konzernen?
https://www.kuketz-blog.de/das-fedivers ... nteressen/ (Join the fediverse: Friendica, Mastodon, Diaspora und vieles mehr)
Antworten