Why is ethtool not showing me all the properties for a NIC?

7

CentOS 5.8 | VMWare ESX 5.1

When I run ethtool eth0 I see the following:

[root@foo ~]# ethtool eth0
Settings for eth0:
         Current message level: 0x00000007 (7)
         Link detected: yes

Is there any way to get the rest of the details? Particularly speed and duplex? I'm used to ethtool output being more verbose. For example:

# ethtool eth0
Settings for eth0:
        Supported ports: [ TP ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Advertised auto-negotiation: Yes
        Speed: 100Mb/s
        Duplex: Full
        Port: Twisted Pair
        PHYAD: 1
        Transceiver: internal
        Auto-negotiation: on
        Supports Wake-on: d
        Wake-on: d
        Link detected: yes

I'm wondering if this is related to running on a VMWare platform? Current adapter type in ESX is "Flexible" and VMWare tools is not installed on the server.

linux
centos
nic
ethtool
asked on Server Fault Nov 12, 2012 by Mike B

3 Answers

6

I would imagine it doesn't report any of the PHY settings because there aren't any, there is no link mode, not autoneg, no fixed speed, no port or cabling type, no transceiver, etc. when using the paravirtual driver

answered on Server Fault Nov 12, 2012 by mtinberg
3

What 'ethtool' reports mostly depends on what the network device driver can provide. Your virtual machine probably emulates a very primitive network adapter and not much data is available.

On the other hand, in a virtual machine the link speed or duplex mode is usually meaningless, as the network interface is most often just a virtual link to the host system, with no actual physical Ethernet layer. The speed is as high as the CPU and memory can handle (or as low, as the connection rate limit is configured), cabling type does no exist, as there is no cable, etc. This virtual interface is bridged or routed to the actual physical network by the host system and only on the host system the physical port parameters can be obtained.

Only in some rare scenarios the virtual domain would have direct access to the network interface hardware – then you would get all what a driver for this hardware provides. I doubt it is the case.

answered on Server Fault Nov 12, 2012 by Jacek Konieczny
2

I came across similar problem. I didn't assign any IP to eth0, so it was not showing any settings. So, first assign any IP to your Ethernet port.

ifconfig eth0 192.168.1.10

After this, all settings are visible.

EDIT:

Main reason for this problem is the port is down. So if you do.

ifconfig eth0 up

then also, you will be able to see all settings.

answered on Server Fault Jan 23, 2015 by saurabh agarwal • edited Feb 6, 2015 by saurabh agarwal

User contributions licensed under CC BY-SA 3.0