[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.

May 07, 2026, 01:33:20 AM #211 Last Edit: May 07, 2026, 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

May 07, 2026, 08:13:10 AM #212 Last Edit: May 07, 2026, 08:15:15 AM by pOpY2k25
Quote from: BrandyWine on May 07, 2026, 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.


Quote from: pOpY2k25 on May 07, 2026, 08:13:10 AMYou 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.

You had responded to another user with "I am having similar issue on unraid, post #110", but their issue was with a 2MB nvm, yours is 226v 1MB nvm.
We also have a good amount of people who said the issue went away after upgrading the nvm, no other ASPM tweaks done.

I cant find anywhere where Intel states they have underlying silicon issue in i226 chips. Maybe its supply chain issue? The git page (notes) does suggest they found something with that L state being too slow, but still not very clear to me if that's a systemic issue related to silicon, nvm, or supply chain. Some/most of these lingering reports of issues do seem to be related to items bought from questionable sources (no name brands from Aliexpress, ebay, etc).

I am also baffled as to why that igc change (the git page) hard codes out the one L level. We can disable some/all ASPM states for specific devices.
eg; echo disabled | sudo tee /sys/bus/pci/devices/0000:00:1f.0/link/l1.2_aspm




Mini-pc N150 i226v x520, FREEDOM

Quote from: BrandyWine on May 07, 2026, 07:40:18 PMYou had responded to another user with "I am having similar issue on unraid, post #110", but their issue was with a 2MB nvm, yours is 226v 1MB nvm.
We also have a good amount of people who said the issue went away after upgrading the nvm, no other ASPM tweaks done.

Sorry, i have not followed the thread so deeply and oversight this.

Quote from: BrandyWine on May 07, 2026, 07:40:18 PMI cant find anywhere where Intel states they have underlying silicon issue in i226 chips. Maybe its supply chain issue? The git page (notes) does suggest they found something with that L state being too slow, but still not very clear to me if that's a systemic issue related to silicon, nvm, or supply chain. Some/most of these lingering reports of issues do seem to be related to items bought from questionable sources (no name brands from Aliexpress, ebay, etc).

I am also baffled as to why that igc change (the git page) hard codes out the one L level. We can disable some/all ASPM states for specific devices.
eg; echo disabled | sudo tee /sys/bus/pci/devices/0000:00:1f.0/link/l1.2_aspm

I also cant find any source for that.
With "but it seems to ben an hardware (silicon) issue to me" i meant i assume that's an non fixable hardware issue.
Why? Because when it would be fixable they have done it by: setting an correct register value or fix the firmware (nvm).
But they have disabled the L1.2 substrate completely in the driver for all newer linux kernels.

Again: That are my personal thought's and assumptions.

Quote from: pOpY2k25 on May 07, 2026, 07:55:14 PMI also cant find any source for that.
With "but it seems to ben an hardware (silicon) issue to me" i meant i assume that's an non fixable hardware issue.
Why? Because when it would be fixable they have done it by: setting an correct register value or fix the firmware (nvm).
But they have disabled the L1.2 substrate completely in the driver for all newer linux kernels.

Again: That are my personal thought's and assumptions.
Which makes me wonder what happened with the i226. If we can disable one ASPM level for this specific pcie device, why disable it completely in the igc code?
It almost appears like Intel wanted to squash any negative sentiment of the i226 so they did it via igc driver code. Surely there exists an issue, or did exist. I suspect with the amount of 226 units sold, along with very few actually being able to update nvm (as some have done via this forum), perhaps easier to take care of the problem that still lingers among mass amount of 226's out there, so just cut out the ASPM feature from the igc code. But even that requires massive amounts of kernel upgrades.

So to me, something is off. My suspicion is, the 2.32 nvm perhaps is the fix at hardware firmware level, but because very few vendors are supporting this low-level nvm upgrade, maybe Intel just decided to tackle the issue at driver level? TBD I guess.
Mini-pc N150 i226v x520, FREEDOM