EEE is a problem for low-latency, reliable networking, but it seems odd that it'd *ever* be on for Ethercat hardware. It's supposed to be negotiated between devices as part of the autonegotiation process (along with duplex, flow control, and so forth), and I'd be really surprised if many Ethercat devices used hardware that was able to negotiate for EEE.
What does `ethtool --show-eee <device>` show, where <device> is your Ethercat Ethernet interface?
I don't have a RPi 5 handy, but running against a PC with a Realtec RTL8125 connected to an EK1100, I see:
Code:
$ ethtool --show-eee enp1s0
EEE settings for enp1s0:
EEE status: enabled - inactive
Tx LPI: disabled
Supported EEE link modes: 100baseT/Full
1000baseT/Full
Advertised EEE link modes: 100baseT/Full
1000baseT/Full
Link partner advertised EEE link modes: Not reported
Interestingly, I see more or less the same thing on the port connected to a Unifi switch. No EEE there, either. FWIW, RPi 4s look pretty much identical here. And the one device that I have handy that is connected to a switch that *can* support EEE apparently has EEE support entirely disabled in the driver.
If you *do* see EEE problems with Ethercat hardware, consider throwing a Beckhoff EK1100 or similar in front of your device, maybe? EEE is negotiated on a per-link basis, and even if you have a device that (somehow) wants to negotiate EEE, then throwing a non-EEE device in the middle should disable it entirely unless it's *really* broken.