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 ?

  • 1
    Since this is a bit Linux specific, I added a Linux tag – wzzrd Jun 15 '09 at 13:49

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

  • 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
  • 1
    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) – David Goodwin 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.


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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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