[SOLVED] Intel i226-V Link speed issues

Started by sknr, February 20, 2024, 08:42:13 PM

Previous topic - Next topic
February 20, 2024, 08:42:13 PM Last Edit: March 01, 2024, 03:15:47 PM by sknr
Hello,

I'm running OPNsense 24.1.2 (on FreeBSD 13.2-RELEASE-p10) on an Intel N100 based mini-PC with 4 x Intel i266-V NICs. I'm having an odd issue where when left on "auto", the link speed is negotiated at 100baseTX full-duplex instead of the expected 1000baseTX full-duplex.

My "WAN" interface is on igc0 and when I force the link-speed to anything other than 100baseTX full-duplex (either via the CLI or webUI) the link seems to go down.

Checking dmesg | grep igc0, all I see is that the interface link state immediately switches to "down" when I force the link speed to 1000baseTX and back to "up" when I revert back to 100baseTX.

If it helps at all, the WAN port (igc0) is connecting to a Nokia XS-2426G-A, which seems to be reporting the link as running at full-duplex but max bit rate being set to "100". Due to my ISP's restrictions I'm not able to access the setting's page to try to force the link speed on the device.


Any solutions, or troubleshooting tips to try to resolve this would be greatly appreciated!

please be sure you are using the right Ethernet cable type for 1Gb or more.

Quote from: cookiemonster on February 20, 2024, 10:47:47 PM
please be sure you are using the right Ethernet cable type for 1Gb or more.

Already checked with a few different cables that are running at full 1Gb between other clients, even tried running a simple L2 network switch in circuit as well to see if it changed anything, but it seems like it was still just running at the lower 100mbps speed.

then seems that the problem to be that the other end only accepts a link at 100 M. If that's the case, nothing you can do on the other to force it.

Quote from: cookiemonster on February 21, 2024, 03:20:19 PM
then seems that the problem to be that the other end only accepts a link at 100 M. If that's the case, nothing you can do on the other to force it.

It's an interesting one, if I connect another device to the same port with auto-negotiation enabled, the link will auto-negotiate to 1Gbps, so it might be an odd interop issue between Intel i226-V and whatever chipset is used in the Nokia XS-2426G-A, where for whatever reason the link-speed negotiation is falling back to 100mbps.

I was hoping it would just be some sort of configuration change on the freeBSD side of things, or a certain flag/option in ifconfig that could solve the issue.

it could be. I didn't realise that it was negotiating fine with other devices. Post what you get from:
$ grep igc0 /var/run/dmesg.boot

and
$ grep igc0 /var/run/dmesg.boot

Quote from: cookiemonster on February 21, 2024, 11:16:12 PM
it could be. I didn't realise that it was negotiating fine with other devices. Post what you get from:
$ grep igc0 /var/run/dmesg.boot

and
$ grep igc0 /var/run/dmesg.boot



Not sure what the second command you wanted me to run was, but here is what i got from the first command


root@OPNsense:~ # grep igc0 /var/run/dmesg.boot
igc0: <Intel(R) Ethernet Controller I226-V> mem 0x80a00000-0x80afffff,0x80b00000-0x80b03fff irq 18 at device 0.0 on pci2
igc0: Using 1024 TX descriptors and 1024 RX descriptors
igc0: Using 4 RX queues 4 TX queues
igc0: Using MSI-X interrupts with 5 vectors
igc0: Ethernet address: a8:b8:e0:01:1f:cb
igc0: netmap queues/slots: TX 4/1024, RX 4/1024

oops , the second is $ /sbin/ifconfig | grep -i running

So, quick update on this situation, seems like I foolishly was setting the igc interface to 1000baseTX full-duplex instead of 1000baseT full-duplex... I was clicking around in the UI and happened to get it to 1000baseT and it started working, still broken when set to autoselect, but forcing the interface to 1000baseT fixes the negotiation issue.

I followed this up with a call to my ISP and got them to put my ONT in bridge mode, and everything is now working as expect at 1Gbps link speed.

wohoo!