Hello,
I am seeing an issue with the Intel I226-V Ethernet controller on an ASUS
ProArt X870E motherboard. When PCIe Active State Power Management (ASPM) is
enabled, the NIC becomes unavailable after a period of inactivity. Disabling
ASPM avoids the problem.
This looks like a hardware/firmware issue, but since it is easily reproducible
(there are several forum discussions), it may warrant a kernel quirk in the igc
driver to disable ASPM for this firmware (or device?).
---
Hardware:
- Motherboard: ASUS ProArt X870E
- NIC: Intel I226-V [8086:125c] (rev 06)
- Subsystem: [1043:8867]
- Firmware version (from ethtool -i): 2023:889d
Software:
- OS: Debian GNU/Linux 13 (trixie)
- Kernel: Linux 6.12.41+deb13-amd64
- Driver: igc
---
Steps to reproduce (logs attached)
1. Boot system with default PCIe ASPM enabled.
2. Leave the box/NIC idle for some time.
3. NIC disappears (reappears after reboot)
Workaround:
- Booting with pcie_aspm=off (or disabling ASPM in BIOS) keeps the NIC stable.
Expected:
- NIC should remain functional with ASPM enabled.
Actual:
- NIC crashes at/after idle when ASPM is enabled.
---
Please let me know if additional information or testing would help.
sudo journalctl -b -1 -k | grep -Ei 'igc|enp10s0|link'
Journal file
/var/log/journal/ea15fc8a9f7d41a0bca0c807e5375d41/[email protected]~
is truncated, ignoring file.
Aug 25 16:15:00 titanium kernel: NET: Registered PF_NETLINK/PF_ROUTE protocol
family
Aug 25 16:15:00 titanium kernel: audit: initializing netlink subsys (disabled)
Aug 25 16:15:00 titanium kernel: pci 0000:0b:00.0: 15.752 Gb/s available PCIe
bandwidth, limited by 8.0 GT/s PCIe x2 link at 0000:07:06.0 (capable of 31.506
Gb/s with 16.0 GT/s PCIe x2 link)
Aug 25 16:15:00 titanium kernel: ACPI: PCI: Interrupt link LNKA configured for
IRQ 0
Aug 25 16:15:00 titanium kernel: ACPI: PCI: Interrupt link LNKB configured for
IRQ 0
Aug 25 16:15:00 titanium kernel: ACPI: PCI: Interrupt link LNKC configured for
IRQ 0
Aug 25 16:15:00 titanium kernel: ACPI: PCI: Interrupt link LNKD configured for
IRQ 0
Aug 25 16:15:00 titanium kernel: ACPI: PCI: Interrupt link LNKE configured for
IRQ 0
Aug 25 16:15:00 titanium kernel: ACPI: PCI: Interrupt link LNKF configured for
IRQ 0
Aug 25 16:15:00 titanium kernel: ACPI: PCI: Interrupt link LNKG configured for
IRQ 0
Aug 25 16:15:00 titanium kernel: ACPI: PCI: Interrupt link LNKH configured for
IRQ 0
Aug 25 16:15:00 titanium kernel: igc 0000:0a:00.0: PCIe PTM not supported by
PCIe bus/controller
Aug 25 16:15:00 titanium kernel: igc 0000:0a:00.0 (unnamed net_device)
(uninitialized): PHC added
Aug 25 16:15:00 titanium kernel: igc 0000:0a:00.0: 4.000 Gb/s available PCIe
bandwidth (5.0 GT/s PCIe x1 link)
Aug 25 16:15:00 titanium kernel: igc 0000:0a:00.0 eth0: MAC: bc:fc:e7:e7:70:7f
Aug 25 16:15:00 titanium kernel: igc 0000:0a:00.0 enp10s0: renamed from eth0
Aug 25 16:15:00 titanium kernel: ata7: SATA link down (SStatus 0 SControl 300)
Aug 25 16:15:00 titanium kernel: ata1: SATA link down (SStatus 0 SControl 300)
Aug 25 16:15:00 titanium kernel: ata2: SATA link down (SStatus 0 SControl 300)
Aug 25 16:15:00 titanium kernel: ata3: SATA link down (SStatus 0 SControl 300)
Aug 25 16:15:00 titanium kernel: ata4: SATA link down (SStatus 0 SControl 300)
Aug 25 16:15:00 titanium kernel: ata8: SATA link down (SStatus 0 SControl 300)
Aug 25 16:15:00 titanium kernel: ata9: SATA link down (SStatus 0 SControl 300)
Aug 25 16:15:00 titanium kernel: ata10: SATA link down (SStatus 0 SControl 300)
Aug 25 16:15:06 titanium kernel: igc 0000:0a:00.0 enp10s0: NIC Link is Up 1000
Mbps Full Duplex, Flow Control: RX/TX
Aug 25 16:15:09 titanium kernel: atlantic 0000:0b:00.0 enp11s0: atlantic: link
change old 0 new 10000
Aug 28 10:04:12 titanium kernel: igc 0000:0a:00.0 enp10s0: PCIe link lost,
device now detached
Aug 28 10:04:12 titanium kernel: igc: Failed to read reg 0xc030!
Aug 28 10:04:12 titanium kernel: WARNING: CPU: 3 PID: 82577 at
drivers/net/ethernet/intel/igc/igc_main.c:6843 igc_rd32+0x88/0xa0 [igc]
Aug 28 10:04:12 titanium kernel: Modules linked in: uinput joydev sd_mod
hid_logitech_hidpp uhid snd_seq_dummy snd_hrtimer snd_seq snd_seq_device rfcomm
cmac algif_hash algif_skcipher af_alg qrtr bnep binfmt_misc nls_ascii nls_cp437
xxhash_generic vfat fat intel_rapl_msr amd_atl intel_rapl_common amd64_edac
edac_mce_amd kvm_amd kvm snd_hda_codec_realtek snd_hda_codec_generic irqbypass
snd_hda_scodec_component snd_hda_codec_hdmi crct10dif_pclmul snd_hda_intel
ghash_clmulni_intel snd_intel_dspcfg sha512_ssse3 btusb snd_intel_sdw_acpi
sha256_ssse3 btrtl snd_hda_codec eeepc_wmi sha1_ssse3 btintel snd_hda_core
asus_wmi aesni_intel btbcm snd_hwdep sparse_keymap gf128mul btmtk snd_pcm
platform_profile crypto_simd bluetooth snd_timer battery cryptd snd msr spd5118
wmi_bmof rapl rfkill pcspkr k10temp soundcore ccp parport_pc evdev ppdev lp
parport efi_pstore configfs nfnetlink zram lz4hc_compress lz4_compress efivarfs
ip_tables x_tables autofs4 btrfs blake2b_generic xor raid6_pq libcrc32c
crc32c_generic amdgpu amdxcp drm_exec gpu_sched drm_buddy
Aug 28 10:04:12 titanium kernel: i2c_algo_bit drm_suballoc_helper hid_generic
drm_display_helper usbhid cec hid rc_core drm_ttm_helper ahci ttm ucsi_acpi
libahci sp5100_tco xhci_pci typec_ucsi drm_kms_helper libata watchdog nvme
xhci_hcd typec crc32_pclmul drm i2c_piix4 atlantic scsi_mod nvme_core video
usbcore roles gpio_amdpt crc32c_intel thunderbolt i2c_smbus crc16 igc macsec
scsi_common nvme_auth wmi usb_common gpio_generic button
Aug 28 10:04:12 titanium kernel: Workqueue: events igc_watchdog_task [igc]
Aug 28 10:04:12 titanium kernel: RIP: 0010:igc_rd32+0x88/0xa0 [igc]
Aug 28 10:04:12 titanium kernel: igc_update_stats+0x8a/0x6d0 [igc]
Aug 28 10:04:12 titanium kernel: igc_watchdog_task+0xa0/0x2e0 [igc]