Which tool should I trust, mii-tool and ethtool don't show me the same values
Our hosting company provides all the switching infrastructure for our servers. The private network, connected to eth2
should be GbE. Recently I've been suspecting that something is misconfigured as cacti graphs never appear to show more than 100mbit of traffic on the link.
Digging further I found that mii-tool
and ethtool
do not agree on the link speed.
# mii-tool eth2
eth2: negotiated 100baseTx-FD flow-control, link ok
# ethtool eth2
Settings for eth2:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/Full
Advertised auto-negotiation: Yes
Speed: 1000Mb/s
Duplex: Full
Which tool should I trust ?
Since mii-tool is deprecated, I'd go for ethtool. Can't you check the other sides opinion of the link speed, btw?
mii-tool and ethtool are known to disagree in certain circumstances; you can find bugreports of that on a host of websites. What driver are you using? At least tg3 is known to be a subject of disagreement between the two tools.
UPDATE: Checked it for you locally, but it seems mii-tool can only report upto 100MiB/s. ethtool is therefore probably right in your situation ;-) Must be the reason it is deprecated, anyway...
Check dmesg
. Most drivers will report the speed and duplex they negotiate at. For example:
dmesg | grep eth2
For example, our HP Proliants have onboard Broadcom NICs that produce kernel log messages like this:
bnx2: eth2 NIC Link is Up, 1000 Mbps full duplex, receive & transmit flow control ON
If your computer has been up for awhile and the kernel log buffer filled up with other stuff (it's a fixed-size FIFO), you can also check syslog. You don't say what distribution you're using, but many will log kernel messages to /var/log/messages
or /var/log/syslog
.