I failed in the snarky headline department today, when I ran face-first into the brick wall that is ethtool.
Fact is, I can’t think of much to tell about ethtool that doesn’t grossly under-represent its ability. Or for that matter, over-represent my understanding of it.
Just the help flags alone should be enough proof that ethtool does stuff other utilities just don’t stack up to.
You want a rolling status with transfer info? ethtool scoffs at your paltry request.
You want an animated graph showing line speed? ethtool does not debase itself with such frippery.
You want cumulative transfer totals with a web interface and a console backend? Look on my works, ye Mighty, and despair!
Don’t idle with ethtool. Don’t approach it on trivialities. ethtool is not to be bartered with, and is not amused by your foolish antics. ethtool is dangerous. ethtool is the bandit that eats children and old people. ethtool is mors ab alto. Look quickly over your left shoulder, and maybe you will see ethtool.
I may never be able to answer the question, “What doesn’t it do?” Some questions should just stay unanswered. 😯
ethtool can tell you whether that cable you plugged in did actually allow you to achieve full duplex gigabit speeds.
ethtool can enable Wake on Lan on your adapter (ethtool -s eth0 wol g), which (provided the adapter is also enabled as a wake up source in the computers firmware and remains powered after the computer is shut down) will allow the computer to be turned on remotely via wakeonlan -i . On my newer boxes WOL via magic packet seems to be enabled by default, though I couldn’t tell you if that’s due to a change in Debian or the hardware.
ethtool is a very low level tool that is rarely needed. I have never needed to touch any of it’s other options and would definitely not suggest trying them “just to see what happens”.
Gah, wordpress edited my comment. One of these days I’ll remember not to use angle brackets to indicate values that the user must replace…
The command to wake up the box was supposed to be:
wakeonlan -i $SUBNET_BROADCAST_ADDRESS $TARGET_MAC