¿Cómo encuentro qué módulo del kernel está detrás de una interfaz de red?


Respuestas:


17

En la línea de comando ejecutar

sudo lshw -C network 

Para cada interfaz de red, comenzará una sección *-network. Cada sección tiene una logical name:línea que contiene el nombre de la interfaz y una configuration:línea que contiene el controlador y alguna otra información.


10

Puede consultar sysfs para contarle esta información. Para saber qué controlador está utilizando una interfaz de red:

ls -l /sys/class/net/<devname>/device/driver

... donde <devname>es algo así eth0. Este driverdirectorio será un enlace simbólico al nodo del controlador en sysfs.

Para obtener el nombre del módulo que proporciona ese controlador:

ls -l /sys/class/net/<devname>/device/driver/module

... y este moduledirectorio será un enlace simbólico al nodo del módulo en sysfs.


¿Cómo detectar controladores virtuales (por ejemplo veth)? Es posible con ethtool -i IFACE_NAME, pero ¿cómo encontrarlo en sysfs?
pevik

4

En mi humilde opinión para los scripts, lo mejor es utilizar la información de sysfs (como muestra Jeremy Kerr), pero para obtener más información:

ethtool -i IFACE_NAME

P.ej:

$ ethtool -i eth0
driver: 8139cp
version: 1.3
firmware-version: 
bus-info: 0000:00:07.0
supports-statistics: yes
supports-test: no
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: no

1

Para dispositivos USB puede usar el lsusbcomando, por ejemplo:

lsusb -t
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.