Most applications on single board computers (SBCs) running Armbian do not need 1GBit/s Ethernet connections. By limiting the connection speed to 100MBit/s around 150mW of power can be saved up thus reducing CPU temperature by 8 Kelvin from 60°C to 52°C on my idling NanoPi Neo2 LTS boards with H5 processor.
Check Ethernet controller capabilities
ethtool eth0
⋮
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/Full
⋮
Advertised link modes: 1000baseT/Full
⋮
Link partner advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
⋮
Speed: 1000Mb/s
⋮
Limit Ethernet speed to 100MBit/s - non permanent
ethtool -s eth0 speed 100 duplex full autoneg on
Limit Ethernet speed to 100MBit/s - permanent - by using NetworkManager Command Line Interface (the hard way)
nmcli connection edit type ethernet
goto ethernet
set speed 100
set duplex full
set auto-negotiate on
back
print
save
quit
Limit Ethernet speed to 100MBit/s - permanent - by editing NetworkManager config file (the easy way)
etc/init.d/network-manager stop
Add or change the following lines in the file
/etc/NetworkManager/system-connections/ethernet.nmconnection
[ethernet]
speed=100
duplex=full
auto-negotiate=true
/etc/init.d/network-manager start
Test your changes
Reboot the system
reboot
and check the new 100MBit/s link speed.
ethtool eth0
⋮
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/Full
⋮
Advertised link modes: 100baseT/Full
⋮
Link partner advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
⋮
Speed: 100Mb/s
⋮
Check the temperature of the CPU (milli Celsius)
cat /etc/armbianmonitor/datasources/soctemp
52122