OPNsense Forum

English Forums => Hardware and Performance => Topic started by: BrandyWine on August 31, 2025, 05:21:07 PM

Title: Intel i226 Firmware
Post by: BrandyWine on August 31, 2025, 05:21:07 PM
If you have the i226-V nic controller, check the firmware version you have.
dmesg | grep igc

Mine is v2.17, a rev or so behind whatever the latest is.

Some bin versions here
https://github.com/BillyCurtis/Intel-i226-V-NVM-Firmware/blob/main/README.md

I see some users posting issues about i210 with igb driver from freeBSD. Not sure about issues with i226, but many of the mini chinese pc's (N100 N150, etc) seem to be flashed with old firmware.
Title: Re: Intel i226 Firmware
Post by: CGrisamore on August 31, 2025, 08:22:54 PM
Well this message is timely.

2 days ago I swapped my usual Protectli box with a Lenovo M700 tiny to which I had added an m.2 i226 based ethernet port.  Just checked firmware as per your message and mine has v2.17 firmware as well (see below).

[1] igc0: <Intel(R) Ethernet Controller I226-V> mem 0xdf100000-0xdf1fffff,0xdf200000-0xdf203fff irq 18 at device 0.0 on pci1
[1] igc0: EEPROM V2.17-0 eTrack 0x80000303

As it's working fine, I'm kinda reluctant to roll the dice on flashing new firmware.
Title: Re: Intel i226 Firmware
Post by: meyergru on August 31, 2025, 08:52:35 PM
Quote from: CGrisamore on August 31, 2025, 08:22:54 PMAs it's working fine, I'm kinda reluctant to roll the dice on flashing new firmware.

Exactly my thoughts when I researched this:

I have v2.13 and no problems whatsoever. As a matter of fact, Intel offers no firmware updates on their Intel Network Driver disk for these adapters. I have not seen a proper tool to actually flash I226 NICs. Apart from that: Which one should I use? 1 MByte or2 MByte?

And BTW: There are different chip types, like I226-V and I226-LM and also, different hardware revisions (early one are said to cause problems).
So, there might be a reason why Intel delegates those updates to the manufacturers, who should know which firmware is appropriate for their build-in specimens.
Title: Re: Intel i226 Firmware
Post by: meyergru on August 31, 2025, 08:54:12 PM
DELETED, double post...
Title: Re: Intel i226 Firmware
Post by: BrandyWine on September 01, 2025, 01:43:13 AM
In the context of post #1, if your 226-V is posing issues, like others have ran into with i210.
If it working ok now then leave it.

When might it become an issue? Who knows, maybe after an OS update, or you use a specific feature you never used before.

Release notes with the bin files would be helpful.
I looked at a bin in HxD, the 1MB v2.32 bin on that site is mostly padding, the bottom 2/3's is just FF.
The bundle below, for i210, are all 2MB bin files. I suspect 210 226 etc are all 2MB EEPROM.

More info:
Intel has a latest release bundle, it's dated Aug 21 2025, i226 and i210 are in it. Edit: they mention 226 in the notes (link), but the bundle does not appear to have 226 in it. Wow, Intel going doesn the tubes.
https://downloadmirror.intel.com/863589/readme.txt
https://www.intel.com/content/www/us/en/content-details/778690/intel-ethernet-controller-products-release-notes.html?DocID=778690
https://www.intel.com/content/www/us/en/download/15084/intel-ethernet-adapter-complete-driver-pack.html
Title: Re: Intel i226 Firmware
Post by: raberrio on September 04, 2025, 06:22:19 AM
hi, i checked and i have i226-V  with 2.17-0 firmware. OPNsense 25.7-amd64. FreeBSD 14.3-RELEASE-p1

i am having issues with dhcp in i226-v ports exactly like this thread:
https://forum.opnsense.org/index.php?topic=47151.msg237219#msg237219

do you think going with other drivers could solve it?

thanks.

EDIT: I am sorry, the hardware is actually working fine, i tried the connection with a laptop with ubuntu and DHCP set an ip immediately. It seems it's my macbook pro which don't want to work...
Title: Re: Intel i226 Firmware
Post by: tn881023 on September 04, 2025, 11:54:39 AM
This is an interesting post. How would you go about upgrading the drivers (for i226-v) using the .bin file?
Title: Re: Intel i226 Firmware
Post by: BrandyWine on September 04, 2025, 10:27:35 PM
Quote from: tn881023 on September 04, 2025, 11:54:39 AMThis is an interesting post. How would you go about upgrading the drivers (for i226-v) using the .bin file?
NMV bin is code loaded into device EEPROM, it's not the driver.

IGC is compiled into the bsd 14.3 kernel. I have no idea where that org got the code for IGC. Probably an ave to look into.

Since the controller is bound to IGC driver from kernel, one could unbind that driver and then do a dynamic load (kldload) of an Intel .ko driver to see if things get better.
Title: Re: Intel i226 Firmware
Post by: pfry on September 05, 2025, 02:00:39 AM
Quote from: BrandyWine on September 04, 2025, 10:27:35 PM[...]
I have no idea where that org got the code for IGC. [...]

Most (if not all) drivers for Intel devices are provided by Intel. FreeBSD devs make few (if any) changes, so FreeBSD ends up with a lot of issues in common with Windows. The Linux drivers tend to get more third-party attention - there was a similar issue with the 82574/82579 (discrete/integrated Ethernet) years ago (~2011) that was fixed in Linux but persisted in Windows and FreeBSD.
Title: Re: Intel i226 Firmware
Post by: BrandyWine on September 05, 2025, 03:28:48 AM
Quote from: pfry on Today at 02:00:39 AM
Quote from: BrandyWine on September 04, 2025, 10:27:35 PM[...]
I have no idea where that org got the code for IGC. [...]

Most (if not all) drivers for Intel devices are provided by Intel. FreeBSD devs make few (if any) changes, so FreeBSD ends up with a lot of issues in common with Windows. The Linux drivers tend to get more third-party attention - there was a similar issue with the 82574/82579 (discrete/integrated Ethernet) years ago (~2011) that was fixed in Linux but persisted in Windows and FreeBSD.

Possibly so, but we need to prove the theory, compare Intel src code to the src code used by freeBSD org.

In the freeBSD 14.3 release notes it mentions a driver "fix", but I not finding the same from Intel site. Could just be lost in translation, but we need to validate it.