Last week, I faced this weird problem. When my laptop is not connected to a power source (not on battery), I could not connect to LAN network with my LAN cable, but Wi-Fi worked fine. I struggled a lot for a week and then I found a solution in the internet.
All you have to do is to execute this one liner in your terminal.
echo on > /sys/class/net/eth1/device/power/controlHere
eth1corresponds to my second ethernet interface. It might vary from machine to machine. And if the directories
powerdont exist, you might have to manually create them.