Intel i225/i226 2.5G NIC Information/Issue Tracking Thread

Started by CJ, January 11, 2024, 03:21:38 PM

Previous topic - Next topic
Quote from: blackie333 on September 10, 2025, 08:25:17 AMDid updating 226-V firmware helped to resolve connection issues?
All 5 my adaptors are currently on ver. 2.22 and I'm not sure it's worth to update...
I'm just started to test OPNsense on a new box and have experienced a few times LAN port stopped responding and needed to change the port(in a lan-bridge) to reconnect.
I had read v2.17 is where all the issues are. I am not sure yet how far past v2.17 is good, v2.32 is available. I mentioned in another thread, if Intel took time & effort to build new firmware, then they didn't do it for no reason. Also see the "Intel i226 Firmware" thread.

Can you post some data for your igc 226-V

1) pciconf -lV
2) dmesg |grep igc
Mini-pc N150 i226v x520, FREEDOM

Quote from: BrandyWine on September 10, 2025, 08:37:14 AMpciconf -lV
OK, you can see the commands results below (selected lines only)
1) pciconf -lV
igc0@pci0:2:0:0:        class=0x020000 rev=0x04 hdr=0x00 vendor=0x8086 device=0x125c subvendor=0x8086 subdevice=0x0000
igc1@pci0:4:0:0:        class=0x020000 rev=0x04 hdr=0x00 vendor=0x8086 device=0x125c subvendor=0x8086 subdevice=0x0000
igc2@pci0:5:0:0:        class=0x020000 rev=0x04 hdr=0x00 vendor=0x8086 device=0x125c subvendor=0x8086 subdevice=0x0000
igc3@pci0:6:0:0:        class=0x020000 rev=0x04 hdr=0x00 vendor=0x8086 device=0x125c subvendor=0x8086 subdevice=0x0000
igc4@pci0:7:0:0:        class=0x020000 rev=0x04 hdr=0x00 vendor=0x8086 device=0x125c subvendor=0x8086 subdevice=0x0000

2) dmesg |grep igc
[1] igc0: <Intel(R) Ethernet Controller I226-V> mem 0x81100000-0x811fffff,0x81200000-0x81203fff at device 0.0 on pci2
[1] igc0: EEPROM V2.22-0 eTrack 0x80000371
[1] igc1: <Intel(R) Ethernet Controller I226-V> mem 0x80e00000-0x80efffff,0x80f00000-0x80f03fff at device 0.0 on pci4
[1] igc1: EEPROM V2.22-0 eTrack 0x80000371
[1] igc2: <Intel(R) Ethernet Controller I226-V> mem 0x80b00000-0x80bfffff,0x80c00000-0x80c03fff at device 0.0 on pci5
[1] igc2: EEPROM V2.22-0 eTrack 0x80000371
[1] igc3: <Intel(R) Ethernet Controller I226-V> mem 0x80800000-0x808fffff,0x80900000-0x80903fff at device 0.0 on pci6
[1] igc3: EEPROM V2.22-0 eTrack 0x80000371
[1] igc4: <Intel(R) Ethernet Controller I226-V> mem 0x80500000-0x805fffff,0x80600000-0x80603fff at device 0.0 on pci7
[1] igc4: EEPROM V2.22-0 eTrack 0x80000371

[10] igc3: link state changed to UP
[101] igc3: link state changed to DOWN
[101] igc3: promiscuous mode enabled
[101] igc2: promiscuous mode enabled
[101] igc0: promiscuous mode enabled
[104] igc3: link state changed to UP

That's odd output for that 226-V device. Showing a 2MB etid.
I need to look further. You can try flashing the 2.32 2MB to one of your unused 226's if you have unused. If it flashes in ok then you have 2MB version. If not then try the 1MB version of the bin.
Mini-pc N150 i226v x520, FREEDOM

Issue: Lots of RX errors / missed packets when the NIC is connected to Arris ONT Calix 711GE ONT, connecting it to switch or computer gives no error. Swapping igc0/igc1 makes no difference. So many pkts are missed that it will frequently look like DNS issues, due to missed SYN-ACKs and long delays to connect to websites.


# sysctl dev.igc.1.mac_stats.missed_packets
dev.igc.1.mac_stats.missed_packets: 15467

# netstat -I igc1 | head 2
Name    Mtu Network         Address                                           Ipkts  Ierrs  Idrop    Opkts  Oerrs   Coll
igc1   1500 <Link#4>        64:62:66:XX:XX:XX                               1298933  15597      0   629757      0      0



Device info:

# dmesg | grep '\[1\] igc'
[1] igc0: <Intel(R) Ethernet Controller I226-V> mem 0x80400000-0x804fffff,0x80600000-0x80603fff at device 0.0 on pci2
[1] igc0: EEPROM V2.17-0 eTrack 0x80000303
[1] igc0: Using 1024 TX descriptors and 1024 RX descriptors
[1] igc0: Using 4 RX queues 4 TX queues
[1] igc0: Using MSI-X interrupts with 5 vectors
[1] igc0: Ethernet address: 64:62:66:XX:XX:XX
[1] igc0: netmap queues/slots: TX 4/1024, RX 4/1024
[1] igc1: <Intel(R) Ethernet Controller I226-V> mem 0x80700000-0x807fffff,0x80900000-0x80903fff at device 0.0 on pci4
[1] igc1: EEPROM V2.17-0 eTrack 0x80000303
[1] igc1: Using 1024 TX descriptors and 1024 RX descriptors
[1] igc1: Using 4 RX queues 4 TX queues
[1] igc1: Using MSI-X interrupts with 5 vectors
[1] igc1: Ethernet address: 64:62:66:XX:XX:XY
[1] igc1: netmap queues/slots: TX 4/1024, RX 4/1024

# pciconf -lV | grep igc
igc0@pci0:2:0:0:    class=0x020000 rev=0x04 hdr=0x00 vendor=0x8086 device=0x125c subvendor=0x8086 subdevice=0x0000
igc1@pci0:4:0:0:    class=0x020000 rev=0x04 hdr=0x00 vendor=0x8086 device=0x125c subvendor=0x8086 subdevice=0x0000

You will notice RSS enabled, I just enabled it for testing. It made no difference.


UPDATE: Inspired by another users' post, I picked up an old EdgeRoute, configured it as a dumb switch and put it in between opnsense and the OTN, RX errors dropped to zero
UPDATE2: updated one of the interfaces from V2.17-0 to V2.32-0 (2M). It did not fix the issue. Moved connection back to 2.17 with dumb switch
UPDATE3: after a couple days, family complained about transient connection issues. Although I can't see if there are RX errors on dumb switch interface there's none on opnsense interface, but lots of duplicate ACK just like before