The network card Intel X550T installed on an Ubuntu server 22.04 does not advertise all the available speeds, therefore (if that is the reason) the auto-negotiation fails to connect to the speed available (the source is a 2.5GB connection):
Supported link modes: 100baseT/Full
1000baseT/Full
10000baseT/Full
2500baseT/Full
5000baseT/Full
Supported pause frame use: Symmetric
Supports auto-negotiation: Yes
Supported FEC modes: Not reported
Advertised link modes: 100baseT/Full
1000baseT/Full
10000baseT/Full
Advertised pause frame use: Symmetric
Advertised auto-negotiation: Yes
Advertised FEC modes: Not reported
Speed: 1000Mb/s
Duplex: Full
Auto-negotiation: on
What should I do, after looking for solutions it seems to be a driver issue, but on the other hand it seems that the kernel in Ubuntu 22.04 should fully support this card ?
Edit: Following @waltinator suggestions, I modified the speed of the card by running:
sudo ethtool -s <name_of_card> speed 2500
The command above raises the speed to 2.5GB as expected. However, I could not turn off the auto-negotiation (which seems recommended from @waltinator comment); if I run the command:
sudo ethtool -s <name_of_card> autoneg off speed 2500 duplex full
or:
sudo ethtool -s <name_of_card> autoneg off speed 2500
or:
sudo ethtool -s <name_of_card> autoneg off
there is no error but no effect, speed and auto-negotiation are not changed.
Edit 2: After some testing, changing the link mode with the command above leads to random disconnections. Maybe turning auto-negotiation off would solve this, but trying to turn off auto-negotiation on the card has no effect (I suppose the auto-negotiation parameter cannot be turned off on the card if the switch requires auto-negotiation, and I am not allowed to change that on the switch).
man ip ip-device ip-link
.