[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