Energy Efficient Ethernet (EEE) broken?

I'm trying to lower power consumption of some routers that are not doing anything most of the time. It feels wrong to me that they consume electricity of their own worth in less than a year. I started with the ethernet settings.

Lowering speed to 100mb helps by about 0.3-0.5W per port, but it would be nice if I could keep them at 1Gb and let EEE do the job. As I understand it, it's supposed to lower the consumption of an idle link by up to about 90%. That would be nice.

But I don't see any difference between EEE enabled and disabled. I can see that the other end is advertising EEE and they both say it is enabled/active (in swconfig or ethtool), but no change in power consumption except for a brief period when they negotiate the link parameters.

I tried it with three different routers in different targets and also different OpenWrt versions: WDR4900v1 (19.07), Archer C5v1 (21.02-rc2), Cudy WR1300 (21.02-rc2). Shouldn't at least one of them have EEE working?

To make sure my measurements are valid, I also tried it with a laptop connected directly to another computer. I can see a difference of about 0.5W on the laptop. But it doesn't lower power consumption when connected to one of the routers, even though ethtool says EEE is active.

Any idea what could be wrong? Is it a kernel/driver issue or a wide-spread limitation of the cheap switches?

2 Likes