ethtool es el principal medio en los sistemas operativos basados en el kernel de Linux (principalmente Linux y Android ) para mostrar y modificar los parámetros de los controladores de interfaz de red (NIC) y su software de controlador de dispositivo asociado desde programas de aplicación que se ejecutan en el espacio de usuario .
ethtool consta de dos componentes: una API dentro del kernel de Linux a través de la cual las NIC pueden enviar y recibir parámetros mediante su software de controlador de dispositivo, y una API de espacio de usuario basada en el mecanismo ioctl SIOCETHTOOL de Linux a través de la cual los programas de aplicación pueden comunicarse con el kernel para enviar y recibir parámetros de la NIC y del controlador de la NIC.
La mayoría de las distribuciones de Linux incluyen una utilidad estándar llamada ethtool que se puede usar desde la línea de comandos para controlar o recopilar información de las tarjetas de red mediante la API de espacio de usuario de ethtool . En el ámbito de las tecnologías de la información , el término ethtool se utiliza habitualmente para referirse a esta utilidad.
Se puede acceder a la API de espacio de usuario de ethtool desde programas escritos en los lenguajes de programación C y C++ a través de la biblioteca estándar de C o la biblioteca estándar de C++ respectivamente.
Varios lenguajes de scripting, como Perl y Python, proporcionan enlaces API de ethtool que permiten a los programadores que utilizan estos lenguajes escribir scripts que pueden controlar las tarjetas de red.
Los sistemas operativos macOS y FreeBSD proporcionan programas de utilidad con una interfaz de usuario similar a la utilidad ethtool de Linux, pero que utilizan API fundamentalmente diferentes para comunicarse con los núcleos de sus sistemas operativos y las tarjetas de red.
Uso
Este comando es útil para:
- Identificación y diagnóstico de dispositivos Ethernet
- Estadísticas de dispositivos Ethernet extendidos
- Control de velocidad, modo dúplex, autonegociación y control de flujo para dispositivos Ethernet.
- Descarga de suma de comprobación de control y otras funciones de descarga de hardware, como descarga de recepción grande y descarga de envío grande.
- Controlar el tamaño de los anillos DMA y la moderación de interrupciones.
- Controlar la selección de la cola de recepción para dispositivos multicola.
- Actualizar el firmware en la memoria flash
Ejemplos
Para mostrar los parámetros actuales del primer puerto de red ( eth0 ):
$ ethtool eth0 Configuración para eth0: Puertos compatibles: [ TP MII ] Modos de enlace compatibles: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full Admite autonegociación: Sí Modos de enlace anunciados: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full Autonegociación anunciada: No Velocidad: 100 Mb/s Dúplex: Completo Puerto: MII PHYAD: 1 Transceptor: interno Autonegociación: desactivada Admite Wake-on: g Wake-on: g Nivel de mensaje actual: 0x00000007 (7) Enlace detectado: síPara configurarlo con una velocidad de 1000 Mb/s y dúplex , en 1000BASE-T :
$ ethtool -s eth0 speed 1000 duplex full autoneg off Para que el indicador de enlace del dispositivo eth0 parpadee durante dos minutos:
$ ethtool -p eth0 120Para imprimir la información del controlador de la interfaz eth0:
$ ethtool -i eth0 controlador: mlx5_core versión: 4.9-2.2.4 versión de firmware: 14.28.2006 (MT_2420110034) versión de ROM de expansión: bus-info: 0000:65:00.1 admite estadísticas: sí admite pruebas: sí admite acceso a eeprom: no admite volcado de registros: no admite indicadores privados: síherramienta mii
mii-tool es un programa antiguo que realiza una función similar a la de ethtool. Desde 2003, [ 2 ] se considera obsoleto y fue reemplazado por ethtool.
Ejemplo
Para mostrar los parámetros actuales:
$ mii-tool eth0: sin negociación automática, 100baseTx-HD, enlace correctoPara forzar la velocidad de la red a 1 Gbit/s y el modo dúplex completo en el puerto 1 (eth0):
$ mii-tool -F 1000baseTx-FD eth0 $ mii-tool eth0: 1000 Mbit, dúplex completo, enlace correctoVéase también
Referencias
Enlaces externos
- Sitio web oficial
- Ejemplos de Ethtool
- Herramientas de red en sourceforge.net
- Software relacionado con redes Linux
- utilidades de configuración de Linux
- Software libre exclusivo para Linux
- Software gratuito relacionado con redes