Este artículo explica brevemente cómo determinar la velocidad de enlace que ha negociado una interfaz de red.
Existen diferentes formas de obtener esta información. Probablemente la más sencilla consiste en obtenerla del buffer de mensajes del kernel. Por ejemplo:
$ dmesg | grep NIC e1000e: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
Aunque se puede utilizar la herramienta ethtool
, la cual sirve para mostrar o cambiar la configuración de placas ethernet:
# 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 pause frame use: No Advertised auto-negotiation: Yes Speed: 1000Mb/s Duplex: Full Port: Twisted Pair PHYAD: 2 Transceiver: internal Auto-negotiation: on MDI-X: on Supports Wake-on: pumbg Wake-on: g Current message level: 0x00000001 (1) Link detected: yes
También existe la herramienta mii-tool
:
# mii-tool eth0 eth0: negotiated 100baseTx-FD, link ok
Aunque se observa que la salida reporta una velocidad inferior (100 Mbps) a la que reporta ethtool
(1000 Mbps). Esto se debe a que la herramienta mii-tool
es obsoleta y no debe utilizarse, tal como lo indica su manual (man mii-tool
):
This program is obsolete. Valid media are only 100baseT4, 100baseTx-FD,100baseTx-HD, 10baseT-FD and 10baseT-HD ethernet cards. For replacement check ethtool.
Las distribuciones siguen incluyendo esta herramienta a pesar de que ni siquiera soporta Gigabit Ethernet.