- Fatal error linux pci aspm h no such file or directory
- Show link speed / driver
- Try to install official Realtek r8168 Ethernet driver from Debian
- Rebuild this repository from source:
- Arch Linux
- #2 2020-03-08 11:46:34
- Re: Intel LAN driver incompatible with kernel
- #3 2020-03-08 13:58:21
- Re: Intel LAN driver incompatible with kernel
- #4 2020-03-09 11:27:59
- Re: Intel LAN driver incompatible with kernel
Fatal error linux pci aspm h no such file or directory
I’ve the same build error on linux/pci-aspm.h , but could not find a solution on Debian 11.1.0 AMD64.
README.md: You should try this driver only if you did notice the sending rate degradation.
Correct: Max link speed is 100Mbps and cannot be set to 1000Gbps.
README.md Dead link: Note: You can also check newer drivers from Realtek’s official site.
Show link speed / driver
# uname -a Linux htpc 5.10.0-9-amd64 #1 SMP Debian 5.10.70-1 (2021-09-30) x86_64 GNU/Linux # ethtool enp3s0 Settings for enp3s0: Supported ports: [ TP MII ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Half 1000baseT/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/Half 1000baseT/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 Link partner advertised pause frame use: Symmetric Receive-only Link partner advertised auto-negotiation: Yes Link partner advertised FEC modes: Not reported Speed: 100Mb/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: d Link detected: yes # ethtool -i enp3s0 driver: r8169 version: 5.10.0-9-amd64 firmware-version: expansion-rom-version: bus-info: 0000:03:00.0 supports-statistics: yes supports-test: no supports-eeprom-access: no supports-register-dump: yes supports-priv-flags: no # apt install lshw # lshw -class network *-network description: Ethernet interface product: RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller vendor: Realtek Semiconductor Co., Ltd. physical id: 0 bus info: pci@0000:03:00.0 logical name: enp3s0 version: 03 serial: 00:26:18:xx:xx:xx size: 100Mbit/s capacity: 1Gbit/s width: 64 bits clock: 33MHz capabilities: pm msi pciexpress msix vpd bus_master cap_list rom ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation configuration: autonegotiation=on broadcast=yes driver=r8169 driverversion=5.10.0-9-amd64 duplex=full ip=192.168.0.167 latency=0 link=yes multicast=yes port=twisted pair speed=100Mbit/s resources: irq:19 ioport:e800(size=256) memory:f8fff000-f8ffffff memory:f8ff8000-f8ffbfff memory:fbff0000-fbffffff # modprobe r8168 modprobe: FATAL: Module r8168 not found in directory /lib/modules/5.10.0-9-amd64 # modprobe r8169 No output
Try to install official Realtek r8168 Ethernet driver from Debian
# apt install r8168-dkms Reading package lists. Done Building dependency tree. Done Reading state information. Done r8168-dkms is already the newest version (8.046.00-1). 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 1 not fully installed or removed. After this operation, 0 B of additional disk space will be used. Do you want to continue? [Y/n] y Setting up r8168-dkms (8.046.00-1) . Removing old r8168-8.046.00 DKMS files. ------------------------------ Deleting module version: 8.046.00 completely from the DKMS tree. ------------------------------ Done. Loading new r8168-8.046.00 DKMS files. Building for 5.10.0-9-amd64 Building initial module for 5.10.0-9-amd64 Error! Bad return status for module build on kernel: 5.10.0-9-amd64 (x86_64) Consult /var/lib/dkms/r8168/8.046.00/build/make.log for more information. dpkg: error processing package r8168-dkms (--configure): installed r8168-dkms package post-installation script subprocess returned error exit status 10 Errors were encountered while processing: r8168-dkms E: Sub-process /usr/bin/dpkg returned an error code (1) # cat /var/lib/dkms/r8168/8.046.00/build/make.log DKMS make.log for r8168-8.046.00 for kernel 5.10.0-9-amd64 (x86_64) Sun 28 Nov 2021 03:23:48 PM CET make: Entering directory '/usr/src/linux-headers-5.10.0-9-amd64' CC [M] /var/lib/dkms/r8168/8.046.00/build/r8168_n.o CC [M] /var/lib/dkms/r8168/8.046.00/build/r8168_asf.o CC [M] /var/lib/dkms/r8168/8.046.00/build/rtl_eeprom.o CC [M] /var/lib/dkms/r8168/8.046.00/build/rtltool.o /var/lib/dkms/r8168/8.046.00/build/r8168_n.c:60:10: fatal error: linux/pci-aspm.h: No such file or directory 60 | #include | ^~~~~~~~~~~~~~~~~~ compilation terminated. make[2]: *** [/usr/src/linux-headers-5.10.0-9-common/scripts/Makefile.build:285: /var/lib/dkms/r8168/8.046.00/build/r8168_n.o] Error 1 make[2]: *** Waiting for unfinished jobs. make[1]: *** [/usr/src/linux-headers-5.10.0-9-common/Makefile:1846: /var/lib/dkms/r8168/8.046.00/build] Error 2 make: *** [/usr/src/linux-headers-5.10.0-9-common/Makefile:185: __sub-make] Error 2 make: Leaving directory '/usr/src/linux-headers-5.10.0-9-amd64'
Rebuild this repository from source:
# apt update && apt install build-essential libelf-dev linux-headers-$(uname -r) # git clone https://github.com/airium/Realtek-PCIe-GBE-NIC-Driver.git # cd Realtek-PCIe-GBE-NIC-Driver/r8168-8.047.05/ # sh autorun.sh Check old driver and unload it. rmmod r8169 Build the module and install /root/Realtek-PCIe-GBE-NIC-Driver/r8168-8.047.05/src/r8168_n.c:60:10: fatal error: linux/pci-aspm.h: No such file or directory 60 | #include | ^~~~~~~~~~~~~~~~~~ compilation terminated. make[4]: *** [/usr/src/linux-headers-5.10.0-9-common/scripts/Makefile.build:285: /root/Realtek-PCIe-GBE-NIC-Driver/r8168-8.047.05/src/r8168_n.o] Error 1 make[3]: *** [/usr/src/linux-headers-5.10.0-9-common/Makefile:1846: /root/Realtek-PCIe-GBE-NIC-Driver/r8168-8.047.05/src] Error 2 make[2]: *** [/usr/src/linux-headers-5.10.0-9-common/Makefile:185: __sub-make] Error 2 make[1]: *** [Makefile:140: modules] Error 2 make: *** [Makefile:40: modules] Error 2
Any suggestions how to proceed? Thanks!
Arch Linux
Move ASPM definitions and function prototypes from include/linux/pci-aspm.h
to include/linux/pci.h so users only need to include :
PCIE_LINK_STATE_L0S
PCIE_LINK_STATE_L1
PCIE_LINK_STATE_CLKPM
pci_disable_link_state()
pci_disable_link_state_locked()
pcie_no_aspm()
User can edit intel driver src file kcompat.h
replace pci-aspm.h with linux/pci.h
/home/maxim/igb-5.3.5.42/src/igb_main.c: at function «igb_tx_map»: /home/maxim/igb-5.3.5.42/src/igb_main.c:5728:12: error: assignment to «struct skb_frag_struct *» from incompatible pointer type «skb_frag_t *» [-Werror=incompatible-pointer-types] 5728 | for (frag = &skb_shinfo(skb)->frags[0];; frag++) < | ^ /home/maxim/igb-5.3.5.42/src/igb_main.c:5728:47: error: инкремент pointer на неполный тип «struct skb_frag_struct» 5728 | for (frag = &skb_shinfo(skb)->frags[0];; frag++) < | ^~ /home/maxim/igb-5.3.5.42/src/igb_main.c:5769:24: error: in argument 1 transmission «skb_frag_size»: incompatible pointer type [-Werror=incompatible-pointer-types] 5769 | size = skb_frag_size(frag); | ^~~~ | | | struct skb_frag_struct * In file included from ./include/linux/if_ether.h:19, from ./include/uapi/linux/ethtool.h:19, from ./include/linux/ethtool.h:18, from ./include/linux/netdevice.h:37, from /home/maxim/igb-5.3.5.42/src/igb_main.c:9: ./include/linux/skbuff.h:325:60: замечание: waited type «const skb_frag_t *» , but argument has type «struct skb_frag_struct *» 325 | static inline unsigned int skb_frag_size(const skb_frag_t *frag) | ~~~~~~~~~~~~~~~~~~^~~~ /home/maxim/igb-5.3.5.42/src/igb_main.c:5772:40: error: in argument 2 transmission «skb_frag_dma_map»: incompatible pointer type [-Werror=incompatible-pointer-types] 5772 | dma = skb_frag_dma_map(tx_ring->dev, frag, 0, | ^~~~ | | | struct skb_frag_struct * In file included from ./include/linux/if_ether.h:19, from ./include/uapi/linux/ethtool.h:19, from ./include/linux/ethtool.h:18, from ./include/linux/netdevice.h:37, from /home/maxim/igb-5.3.5.42/src/igb_main.c:9: ./include/linux/skbuff.h:3068:26: замечание: waited type «const skb_frag_t *» , but argument has type «struct skb_frag_struct *» 3068 | const skb_frag_t *frag, | ~~~~~~~~~~~~~~~~~~^~~~
problem on Kernel and Kernel-Headers: 5.5.6, 5.5.8
How to solve it? Any patch?
Last edited by mashrum (2020-03-08 11:34:03)
#2 2020-03-08 11:46:34
Lone_Wolf Member From: Netherlands, Europe Registered: 2005-10-04 Posts: 11,087
Re: Intel LAN driver incompatible with kernel
The igb kernel module is included in the archlinux kernels , why are you trying to build an older version ?
Post lspci -knn please.
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
(A works at time B) && (time C > time B ) ≠ (A works at time C)
#3 2020-03-08 13:58:21
Re: Intel LAN driver incompatible with kernel
I was not be sure that build-in version is actual
[root@fobot-01 maxim]# lspci -knn
00:00.0 Host bridge [0600]: Intel Corporation Atom Processor Z36xxx/Z37xxx Series SoC Transaction Register [8086:0f00] (rev 11)
Subsystem: Intel Corporation Atom Processor Z36xxx/Z37xxx Series SoC Transaction Register [8086:7270]
Kernel driver in use: iosf_mbi_pci
00:02.0 VGA compatible controller [0300]: Intel Corporation Atom Processor Z36xxx/Z37xxx Series Graphics & Display [8086:0f31] (rev 11)
Subsystem: Intel Corporation Atom Processor Z36xxx/Z37xxx Series Graphics & Display [8086:7270]
Kernel driver in use: i915
Kernel modules: i915
00:13.0 IDE interface [0101]: Intel Corporation Atom Processor E3800 Series SATA IDE Controller [8086:0f21] (rev 11)
Subsystem: Intel Corporation Atom Processor E3800 Series SATA IDE Controller [8086:7270]
Kernel driver in use: ata_piix
Kernel modules: ata_piix, pata_acpi, ata_generic
00:1a.0 Encryption controller [1080]: Intel Corporation Atom Processor Z36xxx/Z37xxx Series Trusted Execution Engine [8086:0f18] (rev 11)
Subsystem: Intel Corporation Atom Processor Z36xxx/Z37xxx Series Trusted Execution Engine [8086:7270]
Kernel driver in use: mei_txe
Kernel modules: mei_txe
00:1b.0 Audio device [0403]: Intel Corporation Atom Processor Z36xxx/Z37xxx Series High Definition Audio Controller [8086:0f04] (rev 11)
Subsystem: Intel Corporation Atom Processor Z36xxx/Z37xxx Series High Definition Audio Controller [8086:7270]
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel
00:1c.0 PCI bridge [0604]: Intel Corporation Atom Processor E3800 Series PCI Express Root Port 1 [8086:0f48] (rev 11)
Kernel driver in use: pcieport
00:1c.1 PCI bridge [0604]: Intel Corporation Atom Processor E3800 Series PCI Express Root Port 2 [8086:0f4a] (rev 11)
Kernel driver in use: pcieport
00:1c.2 PCI bridge [0604]: Intel Corporation Atom Processor E3800 Series PCI Express Root Port 3 [8086:0f4c] (rev 11)
Kernel driver in use: pcieport
00:1c.3 PCI bridge [0604]: Intel Corporation Atom Processor E3800 Series PCI Express Root Port 4 [8086:0f4e] (rev 11)
Kernel driver in use: pcieport
00:1d.0 USB controller [0c03]: Intel Corporation Atom Processor Z36xxx/Z37xxx Series USB EHCI [8086:0f34] (rev 11)
Subsystem: Intel Corporation Atom Processor Z36xxx/Z37xxx Series USB EHCI [8086:7270]
Kernel driver in use: ehci-pci
Kernel modules: ehci_pci
00:1f.0 ISA bridge [0601]: Intel Corporation Atom Processor Z36xxx/Z37xxx Series Power Control Unit [8086:0f1c] (rev 11)
Subsystem: Intel Corporation Atom Processor Z36xxx/Z37xxx Series Power Control Unit [8086:7270]
Kernel driver in use: lpc_ich
Kernel modules: lpc_ich
00:1f.3 SMBus [0c05]: Intel Corporation Atom Processor E3800 Series SMBus Controller [8086:0f12] (rev 11)
Subsystem: Intel Corporation Atom Processor E3800 Series SMBus Controller [8086:7270]
Kernel driver in use: i801_smbus
Kernel modules: i2c_i801
01:00.0 Ethernet controller [0200]: Intel Corporation I211 Gigabit Network Connection [8086:1539] (rev 03)
Subsystem: Intel Corporation I211 Gigabit Network Connection [8086:0000]
Kernel driver in use: igb
Kernel modules: igb
02:00.0 Ethernet controller [0200]: Intel Corporation I211 Gigabit Network Connection [8086:1539] (rev 03)
Subsystem: Intel Corporation I211 Gigabit Network Connection [8086:0000]
Kernel modules: igb
#4 2020-03-09 11:27:59
Lone_Wolf Member From: Netherlands, Europe Registered: 2005-10-04 Posts: 11,087
Re: Intel LAN driver incompatible with kernel
01:00.0 Ethernet controller [0200]: Intel Corporation I211 Gigabit Network Connection [8086:1539] (rev 03) Subsystem: Intel Corporation I211 Gigabit Network Connection [8086:0000] Kernel driver in use: igb Kernel modules: igb 02:00.0 Ethernet controller [0200]: Intel Corporation I211 Gigabit Network Connection [8086:1539] (rev 03) Subsystem: Intel Corporation I211 Gigabit Network Connection [8086:0000] Kernel modules: igb
$ modinfo igb | grep version version: 5.6.0-k srcversion: DE47A70A6B9B9EA6E537E51 $
I suggest you try with the built-in version first.
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
(A works at time B) && (time C > time B ) ≠ (A works at time C)