Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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 ?

share|improve this question
Since this is a bit Linux specific, I added a Linux tag – wzzrd Jun 15 '09 at 13:49
up vote 18 down vote accepted

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...

share|improve this answer
The interface is a Broadcom. 04:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5751 Gigabit Ethernet PCI Express (rev 21) – Dave Cheney Jun 15 '09 at 13:32
mii-tool is really unhappy on 10GE interfaces. :) – Bill Weiss Jun 24 '09 at 0:23
ethtool and lshw both appear to be correct/reliable in my case (when mii-tool is being unreliable) – TheGingerDog Oct 2 '15 at 14:14

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.

share|improve this answer

The utility ethtool has lied to me in the past, especially on interfaces that are not fully configured or in use.

Thoughput tests don't lie. If you can exceed 100M/b throughput, you know you must be running GigE.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.