Comment trouver le module du noyau derrière une interface réseau?


Réponses:


17

Sur la ligne de commande, exécutez

sudo lshw -C network 

Pour chaque interface réseau, vous obtiendrez une section commençant par *-network. Chaque section logical name:possède une ligne qui contient le nom de l'interface et une configuration:ligne qui contient le pilote et d'autres informations.


10

Vous pouvez interroger sysfs pour vous fournir ces informations. Pour savoir quel pilote une interface réseau utilise:

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

... où <devname>est quelque chose comme eth0. Ce driverrépertoire sera un lien symbolique vers le nœud du pilote dans sysfs.

Pour obtenir le nom du module qui fournit ce pilote:

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

... et ce modulerépertoire sera un lien symbolique vers le nœud du module dans sysfs.


Comment détecter les pilotes virtuels (par exemple veth)? C'est possible avec ethtool -i IFACE_NAME, mais comment le trouver à partir de sysfs?
pevik

4

À mon humble avis pour les scripts, le mieux est d'utiliser les informations sysfs (comme le montre Jeremy Kerr), mais pour plus d'informations:

ethtool -i IFACE_NAME

Par exemple:

$ 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

Pour les périphériques USB, vous pouvez utiliser la lsusbcommande, par exemple:

lsusb -t
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.