[solved] Intel i226 Firmware (see post #39)

Started by BrandyWine, August 31, 2025, 05:21:07 PM

Previous topic - Next topic
Quote from: stef on February 26, 2026, 02:19:25 PM
Quote from: RobertoZ on February 24, 2026, 01:55:33 PMI have been using a "Fenvi" branded AliExpress 2 port i226v card since December without any issues.  Updated the card using the 2mb file.  Can sustain 2Gbps throughput.  I have officially 1.5Gbps cable internet that is over provisioned.

You can have a look in the BIOS.  Most BIOS have a setting to turn off ASPM or pci power management. 
Same model as mine.
I got to flash it correctly with the 2MB file too, but the goal was to fix the ASPM compatibilities to avoid having to disable it. (having it disabled is a 10w increase in power consumption)
The way I got it stable is forcing ASPM in bios, forcing it in the kernel cmdline and forcing the "performance" power profile, that disables ASPM for all devices. If it's disabled in BIOS, the card crashed on boot or crashes as soon as a cable is connected.
The OPNsense VM was behaving perfectly when the card was passed through because ASPM was automatically disabled for the device.

Quote from: BrandyWine on February 25, 2026, 07:16:30 PMIf after doing the NVM update and the iface still experiences something odd that seems related to ASPM, then I suspect an issue not related to NVM.

For a Aliexpress 226 pcie card, I might suspect there's a pcie issue between card and host mobo and/or OS. I would start looking there (log messages, etc).
Yes there's a pcie switch on the card (the card is a pcie x1). ASPM issues are probably related to the switch chip, at this point.

Hi,

i am had similar performance issues on unraid (see my post #110) in this thread.
Also hoping to fix it with an update of the nvm firmware, sadly not.

BUT Finally!!!!!!!!!!!!!!!!!!!!!!!!!!!!

The i226-v driver bug i am reffering to in #110 posts (performance loss when ASPM is on) is fixed in unraid 7.3.0-rc1 (kernel 6.18.23).
Here is the commit which fixed the issue: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=0325143b59c6c6d79987afc57d2456e7a20d13b7
Basically disabling aspm L1.2, preventing the performance issue with minimal higher power consumption.


So with this commit, i can recommend the Intel i226-v for low power opnsense/unraid builds WITH full ASPM support and no performance loss.
The c-states rabbit hole has become smaller for me 😁

Hope this helps somebody to escape the c-states rabbit hole.

Today at 01:33:20 AM #211 Last Edit: Today at 01:45:26 AM by BrandyWine
Quote from: pOpY2k25 on May 03, 2026, 06:12:41 PMBUT Finally!!!!!!!!!!!!!!!!!!!!!!!!!!!!

The i226-v driver bug i am reffering to in #110 posts (performance loss when ASPM is on) is fixed in unraid 7.3.0-rc1 (kernel 6.18.23).
Here is the commit which fixed the issue: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=0325143b59c6c6d79987afc57d2456e7a20d13b7
Basically disabling aspm L1.2, preventing the performance issue with minimal higher power consumption.


So with this commit, i can recommend the Intel i226-v for low power opnsense/unraid builds WITH full ASPM support and no performance loss.
The c-states rabbit hole has become smaller for me


It's interesting, and maybe someone can shed some light.
That igc fix (jul 2025) seems to identify an issue related to i226 nvm from 2024 (https://lore.kernel.org/intel-wired-lan/15248b4f-3271-42dd-8e35-02bfc92b25e1@intel.com/), but it does not explicitly name the nvm version in the 2025 git fix.

If I follow the git igc update, their "fix" does not leave you with a "fully functional ASPM", it basically cripples a feature of ASPM in order to keep things from being problematic, also known as a workaround, it's not a fix.

And then the mystery, does this latest nvm we have use fixed code that would not cause problems if the igc code removes the workaround?

It almost appears like the kernel side is moving faster than the nvm, but technically it's the nvm that needed fixing, yet Intel submits igc "fixes" instead of releasing new fixed nvm. Probably because updating a distro kernel is easier than trying to have end-users flash hardware? Not sure.

All that said, you mention you installed the latest nvm and still had issue with ASPM fully active. Using what is mention in the git igc fix, perhaps there's still an issue with i226 itself or that 2MB nvm. What exact version of the i226 do you have? I suspect we match the git issue as described to that (your) specific i226 hardware version with that specific 2MB nvm. The git page (seems like Intel words) seems to indicate maybe a silicon issue, something they cant fix in nvm?

With the igc workaround as seen in the git commit, that PCIe Link state is disable for ALL 226's. So on one side some got a workaround, but for others using different i226, perhaps they get dinged because their system can no longer use that PCIe power state.






Mini-pc N150 i226v x520, FREEDOM

Today at 08:13:10 AM #212 Last Edit: Today at 08:15:15 AM by pOpY2k25
Quote from: BrandyWine on Today at 01:33:20 AM
Quote from: pOpY2k25 on May 03, 2026, 06:12:41 PMBUT Finally!!!!!!!!!!!!!!!!!!!!!!!!!!!!

The i226-v driver bug i am reffering to in #110 posts (performance loss when ASPM is on) is fixed in unraid 7.3.0-rc1 (kernel 6.18.23).
Here is the commit which fixed the issue: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=0325143b59c6c6d79987afc57d2456e7a20d13b7
Basically disabling aspm L1.2, preventing the performance issue with minimal higher power consumption.


So with this commit, i can recommend the Intel i226-v for low power opnsense/unraid builds WITH full ASPM support and no performance loss.
The c-states rabbit hole has become smaller for me


It's interesting, and maybe someone can shed some light.
That igc fix (jul 2025) seems to identify an issue related to i226 nvm from 2024 (https://lore.kernel.org/intel-wired-lan/15248b4f-3271-42dd-8e35-02bfc92b25e1@intel.com/), but it does not explicitly name the nvm version in the 2025 git fix.

If I follow the git igc update, their "fix" does not leave you with a "fully functional ASPM", it basically cripples a feature of ASPM in order to keep things from being problematic, also known as a workaround, it's not a fix.

And then the mystery, does this latest nvm we have use fixed code that would not cause problems if the igc code removes the workaround?

It almost appears like the kernel side is moving faster than the nvm, but technically it's the nvm that needed fixing, yet Intel submits igc "fixes" instead of releasing new fixed nvm. Probably because updating a distro kernel is easier than trying to have end-users flash hardware? Not sure.

All that said, you mention you installed the latest nvm and still had issue with ASPM fully active. Using what is mention in the git igc fix, perhaps there's still an issue with i226 itself or that 2MB nvm. What exact version of the i226 do you have? I suspect we match the git issue as described to that (your) specific i226 hardware version with that specific 2MB nvm. The git page (seems like Intel words) seems to indicate maybe a silicon issue, something they cant fix in nvm?

With the igc workaround as seen in the git commit, that PCIe Link state is disable for ALL 226's. So on one side some got a workaround, but for others using different i226, perhaps they get dinged because their system can no longer use that PCIe power state.


You are right, disabling L1.2 is a workaround rather than a fix.
But according to the developer it's a marginal power consumption between L1.1 and L1.2.
So for me before the kernel "workaround", i had to disable ASPM just for the card all together,
as a side effect my CPU stuck at C3 and did not go deeper.
If i enabled ASPM for the NIC, it was stuck @250 Mbit/s after an ASPM "sleep" but my CPU was reaching C6,
which results in an much lower overal power consumption for the whole system.

My hardware is an typical aliexpress i226-V 1MB card (like mentioned in the mailing list).
Back than i have upgraded my rather old nvm from 2.13 to 2.32 (see post #117).

I have not followed or studied the issue which lead to disabling the L1.2 substrate in the driver,
but it seems to ben an hardware (silicon) issue to me, which is not fixable with nvm,
or it just is not fixed in 2.32 as for now.
But for this to be answered, i think we have to reach out to the intel kernel developers.