I have been able to run a script at startup that enables 2.5g on the Intel X550. Here's how : Create the script that will run at startup nano /usr/local/bin/x550.sh Content of x550.sh : #!/usr/bin/bash sleep 1m ethtool -s eth1 advertise 0x1800000001028 echo `date +%F" "%T` "Startup script worked" >> /root/x550.log Make the script executable : chmod +x /usr/local/bin/x550.sh Create the service that runs the script at startup nano /etc/systemd/system/x550.service Content of x550.service : [Unit] Description=Runs /usr/local/bin/x550.sh [Service] ExecStart=/usr/local/bin/x550.sh [Install] WantedBy=multi-user.target Enable the service systemctl enable x550 Reboot and run this command to see if the link speed is 2.5g ethtool ethX (replace X with yours) It should show this result : Supported ports: [ TP ] 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 2500baseT/Full 5000baseT/Full Advertised pause frame use: Symmetric Advertised auto-negotiation: Yes Advertised FEC modes: Not reported Speed: 2500Mb/s Duplex: Full Port: Twisted Pair PHYAD: 0 Transceiver: internal Auto-negotiation: on MDI-X: Unknown Supports Wake-on: d Wake-on: d Current message level: 0x00000007 (7) drv probe link Link detected: yes You can check the log file of your script located at /root/x550.log I used this article to create everything : https://www.redhat.com/sysadmin/replacing-rclocal-systemd