Comment savoir quel module de noyau est utilisé pour une interface réseau donnée?
Comment savoir quel module de noyau est utilisé pour une interface réseau donnée?
Réponses:
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.
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 driver
ré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 module
répertoire sera un lien symbolique vers le nœud du module dans sysfs.
À 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
veth
)? C'est possible avecethtool -i IFACE_NAME
, mais comment le trouver à partir de sysfs?