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

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

Previous topic - Next topic
September 08, 2026, 04:13:15 PM #240 Last Edit: September 09, 2026, 04:35:38 PM by hokieguy
DEC750 here, successful update of all three 226 interfaces. I was unable to run the nvmupdate utility from the OS shell - crashed with an unhelpful error code 1 (general error). I had to use the EFI shell, which proved much easier anyway.

October 03, 2026, 09:13:59 AM #241 Last Edit: October 06, 2026, 05:32:09 PM by atlassense
I have not been able to do the update.

NIC: i226-v M.2 A+E (youyeetoo NIC M.2 to Gigabit Wired NIC, Intel i226 2.5G Ethernet Server NIC, support M.2 B+M keys, M.2 A+E key, for youyeetoo)

The card is passthrough to OPNsense 26.7.4, virtualized in Proxmox VE 9.2.20.

I have tried from OPNsense, Proxmox, Debian-LXC-Live (with iomen=relaxed) and I have not been able to. Secure Boot disabled. Always error 6 with 'echo $?'

Log output:
Config file read.
Inventory
[00:001:00:00]: Intel(R) Ethernet Controller I226-V
Alternate MAC address is not set.
Flash inventory started.
Shadow RAM inventory started.
Shadow RAM inventory finished.
Flash inventory finished.
Update
[00:001:00:00]: Intel(R) Ethernet Controller I226-V
Creating backup images in directory: 022626022999.
Backup images created.
Flash update started.
Error: Flash update failed.
Device update failed.
Update security reviews
[00:001:00:00]: Intel(R) Ethernet Controller I226-V
Skipping update minimum security revisions.
Update VPD with VPD template
[00:001:00:00]: Intel(R) Ethernet Controller I226-V
Skipping VPD update with VPD template.

Inventory output:
./nvmupdate64e -i -c nvm.cfg -l out.log

Config file read.
Inventory
[00:001:00:00]: Intel(R) Ethernet Controller I226-V
Alternate MAC address is not set.
Flash inventory started.
Shadow RAM inventory started.
Shadow RAM inventory finished.
Flash inventory finished.
[00:001:00:00]: Intel(R) Ethernet Controller I226-V
Vendor: 8086
Device: 125C
Subvendor: 8086
Subdevice: 0000
Revision: 4
LAN MAC: 022626022999
MAC Alt: 000000000000
SAN MAC: 000000000000
ETrackId: 80000308
SerialNumber: 022626FFFF0xxxx
NVM Version: 2.23(2.17)
PBA: G23456-000
VPD status : Not set
VPD size : 0
NVM update : Update Required
checksum : Valid
Update information
ETrackID: 80000425

The content of nvm.cfg:
CURRENT FAMILY: 1.0.0
CONFIG VERSION: 1.20.0

; NIC device
BEGIN DEVICE
DEVICENAME: Intel(R) Ethernet Controller I226-V
VENDOR: 8086
DEVICE: 125C
SUBVENDOR: 8086
SUBDEVICE: 0000
NVM IMAGE: FXVL_125C_V_1MB_2.32.bin
EEPID: 80000425
RESET TYPE: REBOOT
REPLACES: 80000308
END DEVICE

And the update command:
./nvmupdate64e -b -l nvm.log -m 022626022999 -f -u -c nvm.cfg

Note: tested with various versions of nvmupdate64e, such as 1.43.20.0, 1.43.37, the latest (october 2026), etc.

Update:
I think the problem lies in the output shown by

sudo ./eeupdate64e /NIC=1 /IDFLASH
(EEUPDATE v5.37.01.00)

1: Flash Id: Protected Flash (FAFA) - status: Protected


Quote from: atlassense on October 03, 2026, 09:13:59 AMyouyeetoo NIC M.2 to Gigabit Wired NIC, Intel i226 2.5G Ethernet Server NIC

Does the M2 side have a Winbond 25Q spi chip? If so what is that full chip number?
Mini-pc N150 i226v x520, FREEDOM

Quote from: BrandyWine on October 09, 2026, 12:18:31 AM
Quote from: atlassense on October 03, 2026, 09:13:59 AMyouyeetoo NIC M.2 to Gigabit Wired NIC, Intel i226 2.5G Ethernet Server NIC

Does the M2 side have a Winbond 25Q spi chip? If so what is that full chip number?


Hi BrandyWine,

In addition to the Intel chip (S5333L27 SRKTU), the M.2 section has another 8-pin chip with extremely small lettering. Using a magnifying glass, I managed to read the following:

2025WQ86 6
2540C
Nº57669

According to Gemini, it is a Winbond 25Q.
Cheers.

October 10, 2026, 09:43:03 PM #244 Last Edit: October 10, 2026, 09:55:58 PM by BrandyWine
My humble hypothesis.

Intel Management Engine (ME) in BIOS? If so make sure that's enabled.
Try flashing with the 2MB bin.

If that fails,
The Winbond is a SPI, and is likely write-blocking.
You could ask vendor for procedure to update i226 firmware, or venture down path on how to hack that SPI 8pin to allow flashing the i226.

Mini-pc N150 i226v x520, FREEDOM

Quote from: BrandyWine on October 10, 2026, 09:43:03 PMMy humble hypothesis.

Intel Management Engine (ME) in BIOS? If so make sure that's enabled.
Try flashing with the 2MB bin.

If that fails,
The Winbond is a SPI, and is likely write-blocking.
You could ask vendor for procedure to update i226 firmware, or venture down path on how to hack that SPI 8pin to allow flashing the i226.



I tried flashing it with the 2MB .bin file, but it threw an error. Everything points to it having a Winbond SPI chip with write protection :-(

The seller doesn't have any updates available.  I'll look into the possibility of hack the 8-pin SPI chip, though I think it'll be tricky.

Quote from: dirtyfreebooter on December 08, 2025, 08:49:21 PMi had success with my protectli vp2440, both the X710 and i226v nics. first i updated the X710

https://kb.protectli.com/kb/how-to-update-intel-nic-nvm-firmware-on-protectli-vaults/

downloaded the complete driver pack.
fetch https://downloadmirror.intel.com/869912/Release_30.5.1.zip
unzip'd the 700 series, for freebsd, ran nvmupdate64e and for the x710, everything was automatically detected and updated to 9.55

for the i226, downloaded the 2.32 2MB firmware. mine had 2.17 to begin with.
fetch https://github.com/BillyCurtis/Intel-I226-V-NVM-Firmware/raw/refs/heads/main/I226-V/2.32/FXVL_125C_V_2MB_2.32.bin

then setup the nvm.cfg.. i had to modify the EEPID and REPLACES sections to match my setup (got that info from dmesg and trying to update, failing and looking at the log output).

CURRENT FAMILY: 1.0.0
CONFIG VERSION: 1.14.0

; NIC device
BEGIN DEVICE
DEVICENAME: Intel(R) Ethernet Controller I226-V
VENDOR: 8086
DEVICE: 125C
SUBVENDOR: 8086
SUBDEVICE: 0000
NVM IMAGE: FXVL_125C_V_2MB_2.32.bin
EEPID: 80000422
RESET TYPE: REBOOT
REPLACES: 80000303
END DEVICE

then for each i226 nic by mac address, i ran

./nvmupdate64e -b -l nvm-6462662505A5.log -m 6462662505A5 -u -c nvm.cfg
./nvmupdate64e -b -l nvm-6462662505A6.log -m 6462662505A6 -u -c nvm.cfg

reboot

# sysctl dev.igc.{0,1}.fw_version dev.ixl.{0,1}.fw_version
dev.igc.0.fw_version: EEPROM V2.32-0 eTrack 0x80000422
dev.igc.1.fw_version: EEPROM V2.32-0 eTrack 0x80000422
dev.ixl.0.fw_version: fw 9.155.78849 api 1.15 nvm 9.55 etid 8000fe27 oem 0.0.0
dev.ixl.1.fw_version: fw 9.155.78849 api 1.15 nvm 9.55 etid 8000fe27 oem 0.0.0

edit: this also worked on my Odroid H4 ultra, i226v shipped with v2.22

Vielen Dank dirtyfreebooter,

das Update der NVM-Version 2.17-0 → 2.32-0 funktioniert somit auch sauber auf allen vier i226-V-Ports, direkt unter OPNsense (FreeBSD) für eine HUNSN Micro Firewall RJ42.
Den LAN-Port zuletzt flashen, da das Interface danach bis zum Reboot down ist! Die Firmware FXVL_125C_V_2MB_2.32.bin und die nvm.cfg passen exakt!
Auch das nvmupdate64e Tool aus der 700Series_NVMUpdatePackage_v9_55_FreeBSD.tar.gz passt super :-)

# sysctl dev.igc.{0,1,2,3}.fw_version
dev.igc.0.fw_version: EEPROM V2.32-0 eTrack 0x80000422
dev.igc.1.fw_version: EEPROM V2.32-0 eTrack 0x80000422
dev.igc.2.fw_version: EEPROM V2.32-0 eTrack 0x80000422
dev.igc.3.fw_version: EEPROM V2.32-0 eTrack 0x80000422

Gruß Meditux