[Bug 279245] igc(4) I226 (and I225) TX hangups

From: <bugzilla-noreply_at_freebsd.org>
Date: Tue, 02 Dec 2025 21:17:23 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=279245

Michael Adler <madler@tapil.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |madler@tapil.com

--- Comment #8 from Michael Adler <madler@tapil.com> ---
(In reply to Dr. Uwe Meyer-Gruhl from comment #7)

I finally figured out the problem on my ASUS PN65 with I226-V and it isn't
solved by any of the suggestions so far, but is related. All this on 14.3 and
the igc driver.

Setting hw.pci.enable_aspm=0 in loader.conf did not work. Updating the I226-V
firmware to from V2.17 to V2.32 using nvmupdate64e as described at
https://forum.opnsense.org/index.php?topic=48695.0 did not work, though it may
have been necessary. I'm not going to revert to 2.17 to test that.

I discovered that the igc device's ASPM capability in the PCIe link control
capability register remained enabled even with hw.pci.enable_aspm cleared. I
see no setting in this ASUS BIOS to disable ASPM for the device. There are
configurations for the CPUs, but I don't see other PCIe settings. The BIOS for
this machine is dumbed down.

Shouldn't the kernel or igc driver clear the ASPM enable bits in the PCIe link
control register when enable_aspm is 0?

Given that the universal solution to igc problems is disabling ASPM, should the
igc driver have a default config that forces the link control to disable ASPM?

I wrote a script that walks the PCIe config space, finds the control register
and clears the bits that is now running during boot. So far the machine is both
stable and finally seeing expected throughput.

-- 
You are receiving this mail because:
You are the assignee for the bug.