I am using the same X86 router with i225-V chips and after loading kmod-igc (5.4.154-1), the chips are discovered but only detected 2 out of 4 ports. I have to issue the "reboot" command in the router for it to reboot and detect all 4 ports. A power recycle on the router will not work. The error from the log shows:
igc: probe of 0000:01:00.0 failed with error -2
igc: probe of 0000:02:00.0: 4.000 Gb/s available PCIe bandwidth (5 GT/s x1 link)
igc: probe of 0000:02:00.0 eth0: MAC: xx:xx:xx:xb
igc: probe of 0000:03:00.0: 4.000 Gb/s available PCIe bandwidth (5 GT/s x1 link)
igc: probe of 0000:03:00.0 eth1: MAC: xx:xx:xx:xc
igc: probe of 0000:04:00.0 failed with error -2
After rebooting, the log shows:
igc: probe of 0000:01:00.0: 4.000 Gb/s available PCIe bandwidth (5 GT/s x1 link)
igc: probe of 0000:01:00.0 eth0: MAC: xx:xx:xx:xa
igc: probe of 0000:02:00.0: 4.000 Gb/s available PCIe bandwidth (5 GT/s x1 link)
igc: probe of 0000:02:00.0 eth1: MAC: xx:xx:xx:xb
igc: probe of 0000:03:00.0: 4.000 Gb/s available PCIe bandwidth (5 GT/s x1 link)
igc: probe of 0000:03:00.0 eth2: MAC: xx:xx:xx:xc
igc: probe of 0000:04:00.0: 4.000 Gb/s available PCIe bandwidth (5 GT/s x1 link)
igc: probe of 0000:04:00.0 eth3: MAC: xx:xx:xx:xd
Likely some kind of a PCIe clock/power/reset race condition. Could also be caused by them Intel chips not quite adhering to the spec. I know that at least the I210/I211 do have some such erratas. Not sure whether your platform may allow tuning any such. Anyway, in a professional setting one would hook up a logic analyser or oscilloscope to see what exactly those signals are doing in the bad and good case.
I am using the same X86 router with i225-V chips @mike.see did you every figure out what the issue was? I am considering getting a 4 port box with this chipset but concerned that this popular nic driver still isn't included in the default ports and perhaps there are bugs like the one you described.
I don't want a box that can't reliably be rebooted without a workaround script.
The I225 chips run an Intel firmware blob (closed source) stored in a small SPI flash chip attached to each I225. It's important to have a recent version of that firmware, since up until late 2021 it was very buggy. Checking or updating the firmware isn't readily supported in OpenWrt, you will need to boot another OS on the board, possibly even Windows.