[clue-tech] ethtool is a lying sack of snake spittle

David L. Willson DLWillson at TheGeek.NU
Wed Jul 7 17:58:54 MDT 2010


> Hi David,
Hi Jim :-)

> David L. Willson wrote:
> > ethtool reports eth0 connected at Gig E full duplex, but transfer
> speeds over NFS, and every other test I can think of, indicate 100 Mb.
> Today, I looked at the switch, and it too, indicates 100Mb. What
> gives? Is there another, better tool for diagnosing and twiddling
> network settings?
> >
> The problem is probably not ethtool... It is just telling you what the
> NIC driver (via SIOCETHTOOL ioctls) is telling it. So the liar might
> be 
> the NIC driver.
> 
> Does your NIC driver support SIOCGMIIPHY ioctls or just SIOCETHTOOL 
> ioctls? If so you could try /sbin/mii-tool and see if it gives
> different 
> information. However I am inclined to think that this problem is a bug
> in the NIC driver, or the NIC driver not properly or fully supporting
> your particular NIC, which is why it might indicate erroneous link
> state.
> 
> What NIC (including chipset, and PCI revision) and NIC driver (kernel,
> and driver version) are you using? Are you sure it is fully supported?
> Reason I ask is a lot of the gigabit NICs go through rapid hardware 
> changes and a lot of times the hardware revs and they are supposed to
> update some PCI ID or chip ID so that the driver knows about exactly 
> what hardware version it is (so it knows what the registers and values
> are, etc). Maybe in your case the version of driver you are using is 
> ever so slightly incompatible with the version of silicon you have.
> 
> Can you try a different kind of NIC? A different (newer) kernel
> version? 
> Or just compile an updated driver module for your NIC and see if that
> helps?

Here's some output, answering some of the suggestions. I'll pick up a few NICs tonight and try them out on Friday. The current NIC is an integrated Realtek (bleah) on an ASUS motherboard.

padmin at pg-euphrates:~$ sudo mii-tool eth0
SIOCGMIIPHY on 'eth0' failed: Operation not supported
padmin at pg-euphrates:~$ sudo ethtool eth0
Settings for eth0:
	Supported ports: [ FIBRE ]
	Supported link modes:   1000baseT/Full 
	Supports auto-negotiation: Yes
	Advertised link modes:  Not reported
	Advertised auto-negotiation: Yes
	Speed: 1000Mb/s
	Duplex: Full
	Port: FIBRE
	PHYAD: 0
	Transceiver: internal
	Auto-negotiation: on
	Supports Wake-on: pumbg
	Wake-on: g
	Current message level: 0x00000033 (51)
	Link detected: yes
padmin at pg-euphrates:~$ sudo ethtool -s eth0 speed 100 duplex full autoneg off 
Cannot set new settings: Operation not supported
  not setting speed
  not setting duplex
  not setting autoneg
padmin at pg-euphrates:~$ sudo lspci -v | grep -i ethernet
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 03)


More information about the clue-tech mailing list