Intel i225 now supported in 22.1?

Started by Daneel67, February 02, 2022, 11:55:39 AM

Previous topic - Next topic
February 02, 2022, 11:55:39 AM Last Edit: February 02, 2022, 11:57:39 AM by Daneel67
I'm new to OpnSense so please, have some patience with me.
I've got a system with 2 Intel i225-V on board. So far I was trying OpnSense out in a VirtualBox, because the 17-versions didn't support the NIC's. Now in the 22.1 version, the support should be ok, becuse of FreeBSD13, right?
Just fresh installed 22.1 but .... "No interfaces found"...
Am I wrong? Does 22.1 not have support for these NIC's?

Edit: This guy had these NIC's working on the rc1.
https://forum.opnsense.org/index.php?topic=26381.msg128932#msg128932
Did the support for these NIC's got removed?

> Did the support for these NIC's got removed?

Er, no, why should it? Doesn't make any sense.


Cheers,
Franco

 ??? Weird ... I downloaded the new img for 22.1 and clean installed it .... "No interfaces found"

# kldload if_igc
kldload: can't load if_igc: module already loaded or in kernel

Well either your specific cards aren't supported by the driver or something else is wrong. I'm not sure.


Cheers,
Franco


We use 13-STABLE so it's already in 22.1....


Cheers,
Franco

I have NUC11TNHv5 with 2x i225-LM and they are both recognized in 22.1.

But I have another problem that DHCP is not working. Everything is set correctly but clients dont receive an IP.

I tried:

  • Fresh install
    • Wizard on GUI
    • Wizard in Terminal
    • Reset to default + manual setup
    • Import configuration while installing (from working 22.1 from different PC)
    • Import configuration on GUI
  • Cloning SSD from working 22.1 PC
Only time it works for a second is if I switch the interfaces LAN <-> WAN, then for some reason it works until I reboot.
So when DHCP is not working I can still get to internet by manually setting IP, mask, gateway and DNS to client PC.
Static IPs seem to work but need to set DNS to get online.

Any ideas ?


February 09, 2022, 11:28:27 PM #7 Last Edit: February 22, 2022, 01:24:29 PM by Daneel67
About DHCP, I don't know. Im using a win2022 server with DHCP.
Maybe the i225-LM works, but my i225-V's are not recognized at install.
For the time being I ordered 2 USB nics and hope to find a solution soon.
I want give up ;)

I really hope this will be solved in the upcoming update. The USB-nic's are (as expected) not very stable  :-\
Now I can only use the box for "educational purposes"   ??? But I must say, OpnSense certainly looks like its going to stay (if I can use these i225-V's) and ... I prefer it over PfSense. The look-and-feel is much better and the community is great!

February 22, 2022, 03:00:10 PM #9 Last Edit: February 22, 2022, 03:07:53 PM by meyergru
I do not quite understand your problem - if you run OpnSense as a VM under VirtualBox, the guest VM sees only a virtual pseudo network interface and not the real hardware.

As such, it should not matter if the guest VM support the specific hardware - I would assume that it gets presented some well-known hardware that will be broadly recognized. You could look at that with 'pciconf -ll' and see if the pci ids for the I225-V are even there. If so, you could look up if they are different from those supported in the igc driver.

What matters more is if the host supports the hardware. So do the interfaces work on the host machine?

This is somewhat different with USB devices as you can exclusively tunnel them to the guest VM so that it controls everything above the transport level.
Intel N100, 4 x I226-V, 16 GByte, 256 GByte NVME, ZTE F6005

1100 down / 800 up, Bufferbloat A+

If I run OpnSense as a VM under Virtualbox, I loose a lot of performance. Speedtest in Win10: 920mbit/s and in a VM I only get 150-200mbit/s... That's why I would really like to run OpnSense "bare" ;)

Im sorry for the screenprint, didnt know any other way to show the error message... Im not a Linux expert and new to OpnSense.

February 24, 2022, 07:01:13 PM #11 Last Edit: February 24, 2022, 07:16:32 PM by meyergru
I see, so you tried on bare-metal now and that failed, I got that wrong.

Your error message:

igc0: <Intel(R) Ethernet Controller I225-V> mem ....
igc0: Setup of shared code failed, error -2
igc0: IFDI_ATTACH_PRE failed 6

seems to imply that the hardware was detected, but could not be initialized.

This could be related to some kind of firmware issue. I found a pfsense thread where one poster wrote that he had the exact same message and could solve his problem by booting via UEFI instead of BIOS boot:

https://forum.pfsense.com/post/1001113
Intel N100, 4 x I226-V, 16 GByte, 256 GByte NVME, ZTE F6005

1100 down / 800 up, Bufferbloat A+

March 01, 2022, 12:45:49 PM #12 Last Edit: March 01, 2022, 12:57:36 PM by Daneel67
So I dig in deeper, with your message in mind:
I first checked my firmware version of the NIC... It should be 1.45 (latest if im right)
But the check shows firmware version 1.79 !?!? so I cant update/downgrade...
Next thing, the firmware version belongs to the i225-it (if im right) but its a i225-v ???
Would that make the difference???
The i225 is a Rev.3 by the way.

The box starts via UEFI anyway as far as I can see.

I think Intel had hardware problems with older revisions and that is the reason for B3. I comes with newer firmware, I think the 145 version was for B2 or even B1 in order to reduce the impact of the hardware problem.

https://www.borncity.com/blog/2020/05/03/bug-in-intel-ethernet-controller-i225-v-v1-gefixt/

I225-LM and I225-V should be only slight variants (the former with commercial features like 5 year support).

I am still eagerly waiting for delivery of my system which supposedly has 4x I225-V and will report back.
Intel N100, 4 x I226-V, 16 GByte, 256 GByte NVME, ZTE F6005

1100 down / 800 up, Bufferbloat A+

I just received my device and the I225-V worked right out of the box with 22.1.2. It is indeed also a revision 3 chip:

#pciconf pciconf -lbcevV
igc0@pci0:1:0:0:        class=0x020000 rev=0x03 hdr=0x00 vendor=0x8086 device=0x15f3 subvendor=0x8086 subdevice=0x0000
    vendor     = 'Intel Corporation'
    device     = 'Ethernet Controller I225-V'
    class      = network
    subclass   = ethernet
    bar   [10] = type Memory, range 32, base 0xa1b00000, size 1048576, enabled
    bar   [1c] = type Memory, range 32, base 0xa1c00000, size 16384, enabled
    cap 01[40] = powerspec 3  supports D0 D3  current D0
    cap 05[50] = MSI supports 1 message, 64 bit, vector masks
    cap 11[70] = MSI-X supports 5 messages, enabled
                 Table in map 0x1c[0x0], PBA in map 0x1c[0x2000]
    cap 10[a0] = PCI-Express 2 endpoint max data 256(512) FLR RO NS
                 max read 512
                 link x1(x1) speed 5.0(5.0) ASPM disabled(L1)
    ecap 0001[100] = AER 2 0 fatal 0 non-fatal 0 corrected
    ecap 0003[140] = Serial 1 00e269ffff52857e
    ecap 0018[1c0] = LTR 1
    ecap 001f[1f0] = Precision Time Measurement 1
    ecap 001e[1e0] = L1 PM Substates 1



They show up as being configurable for all speeds up to 2500 MBit/s. I tried only with 1 GBit/s and throughput was fine even without any tuning.
Intel N100, 4 x I226-V, 16 GByte, 256 GByte NVME, ZTE F6005

1100 down / 800 up, Bufferbloat A+