Fix link speed for NIC port

Dear all,

I’m back using IPFire after some years of absence - also recurring donations have be reactivated. Thanks for the amazing project!

Installed it on a new hardware box, with an Intel N305 hat comes with 4 x 2.5 Gbit/s NIC ports.

Internet connection is stablished using a fibre ONT that has also a 2.5 Gbit/s NIC (Telekom Glasfaser Modem 2)
In general all is running great and I am finding my way back into all settings.

One problem that I have encountered, is that it looks like my RED interface degrades from 2.5Gbit/s to 100 MBit/s.
See this screenshot:

image

As I installed everything new on Friday, I used a brand new network cable for the first installation, but I have meanwhile exchanged to cable to another new cable (both new, CAT 7 cables - just to be sure). However the behaviour occurred again after some time.
Therefore I would exclude the network cable as the culprit.

I actually noticed a big internet speed drop, as I was playing around with QoS and IDS as I was only getting ˜95 Bit/s out of the connection. (booked ISP speed is a 1000/500 FTTH - hence the ONT) and thought that this might be the cause. However even my old N3450 box could handle more)

Anyway, long story short - here finally my question/request:

Is there a way to change a NIC port link connection from auto-negotiate to fixed? In my case 2.5 Gbit/s?
A quick search did not bring up any solution.

SSH access to the box is up and working. I would however prefer a future configuration via the WebGUI. I think it would fit nicely within the “Zone configuration”.

Cheers,
Alex

Edit:
Installed version: IPFire 2.29 (x86_64) - Core-Update 187

ethtool at the command line.

Thanks, however I get that the "Force mode"is currently not supported:

image

If you have any cheap 1gbe switch laying around or you can create a vLAN on your infrastructure for 2 ports, you could insert this between your IPFire Box and the fiber ONT.
The network card on the box seems really good, however sometimes network adapters do not play nice with each other (the one on the ONT).
This probably won’t solve your issue, however could be to feed more data to the analysys.

Also I assume that both box and ONT are on double isolation power supplies (aka no ground connection for neither), IDK if this could be a issue in your setup.

1 Like

Hi Pike,

Yes both devices only have Euro plugs :electric_plug: without grounding.
I will try with a small 2.5GBit switch in between, observe for a few days and report back.

What command are you using?

Hi Nick,
sorry for late reply.
I check my shell history and was using:

ethtool -s red0 autoneg off speed 2500 duplex full

Does it advertise 2500Mb/s - ethtool red0

Yes, it does:

ethtool red0

Settings for red0:
	Supported ports: [ TP ]
	Supported link modes:   10baseT/Half 10baseT/Full
	                        100baseT/Half 100baseT/Full
	                        1000baseT/Full
	                        2500baseT/Full
	Supported pause frame use: Symmetric
	Supports auto-negotiation: Yes
	Supported FEC modes: Not reported
	Advertised link modes:  10baseT/Half 10baseT/Full
	                        100baseT/Half 100baseT/Full
	                        1000baseT/Full
	                        2500baseT/Full
	Advertised pause frame use: Symmetric
	Advertised auto-negotiation: Yes
	Advertised FEC modes: Not reported
	Speed: 2500Mb/s
	Duplex: Full
	Auto-negotiation: on
	Port: Twisted Pair
	PHYAD: 0
	Transceiver: internal
	MDI-X: off (auto)
	Supports Wake-on: pumbg
	Wake-on: g
        Current message level: 0x00000007 (7)
                               drv probe link
	Link detected: yes

From this link, the only difference in the command is they have autoneg on. Can you try that?

1 Like

Did you change the red zone to another network interface to see if the problem is related to the hardware?

1 Like

Thanks, Nick.
Looks like this works as expected - I do not see anything strange in the logs.

ethtool -s red0 autoneg on speed 2500 duplex full

ethtool red0

Settings for red0:
	Supported ports: [ TP ]
	Supported link modes:   10baseT/Half 10baseT/Full
	                        100baseT/Half 100baseT/Full
	                        1000baseT/Full
	                        2500baseT/Full
	Supported pause frame use: Symmetric
	Supports auto-negotiation: Yes
	Supported FEC modes: Not reported
	Advertised link modes:  2500baseT/Full
	Advertised pause frame use: Symmetric
	Advertised auto-negotiation: Yes
	Advertised FEC modes: Not reported
	Speed: 2500Mb/s
	Duplex: Full
	Auto-negotiation: on
	Port: Twisted Pair
	PHYAD: 0
	Transceiver: internal
	MDI-X: off (auto)
	Supports Wake-on: pumbg
	Wake-on: g
        Current message level: 0x00000007 (7)
                               drv probe link
	Link detected: yes

I will keep it that way for now and do some further tests.

Haven’t tried that yet, Terry.

I think it is related to the hardware, however not of the IPFire box. It’s more related to the ONT.
I will come back to your suggesting in case the fixed link speed does not work as expected. For now it looks good.

After a few days of testing, the following command was stable and fixed the issue.

ethtool -s red0 autoneg on speed 2500 duplex full

ethtool red0

Settings for red0:
	Supported ports: [ TP ]
	Supported link modes:   10baseT/Half 10baseT/Full
	                        100baseT/Half 100baseT/Full
	                        1000baseT/Full
	                        2500baseT/Full
	Supported pause frame use: Symmetric
	Supports auto-negotiation: Yes
	Supported FEC modes: Not reported
	Advertised link modes:  2500baseT/Full
	Advertised pause frame use: Symmetric
	Advertised auto-negotiation: Yes
	Advertised FEC modes: Not reported
	Speed: 2500Mb/s
	Duplex: Full
	Auto-negotiation: on
	Port: Twisted Pair
	PHYAD: 0
	Transceiver: internal
	MDI-X: off (auto)
	Supports Wake-on: pumbg
	Wake-on: g
        Current message level: 0x00000007 (7)
                               drv probe link
	Link detected: yes

Issue is therefore resolved. Many thanks @nickh @pike_it and @xperimental for your suggestions.

2 Likes

According to the profile of your installation, network card involved is Intel I226-V and use igc driver.
Might be useful to provide also pid of the device (VID is quite well known for intel, 8086)

Sure @pike_it , here you go:

lspci -nn | grep -i ethernet

01:00.0 Ethernet controller [0200]: Intel Corporation Ethernet Controller I226-V [8086:125c] (rev 04)
02:00.0 Ethernet controller [0200]: Intel Corporation Ethernet Controller I226-V [8086:125c] (rev 04)
03:00.0 Ethernet controller [0200]: Intel Corporation Ethernet Controller I226-V [8086:125c] (rev 04)
04:00.0 Ethernet controller [0200]: Intel Corporation Ethernet Controller I226-V [8086:125c] (rev 04)

VID: 8086
PID: 125c

Let me know if you need anything else.

I asked to post that because maybe someone with the same network adapter could find easier your experience/solution.