Comment savoir quel module de noyau est utilisé pour une interface réseau donnée?
Sur la ligne de commande, lancez
Sudo lshw -C network
Pour chaque interface réseau, vous obtiendrez une section commençant par *-network
. Chaque section comporte une ligne logical name:
qui contient le nom de l'interface et une ligne configuration:
qui contient le pilote et d'autres informations.
Vous pouvez interroger sysfs pour vous dire cette information. Pour indiquer le pilote utilisé par une interface réseau:
ls -l /sys/class/net/<devname>/device/driver
... où <devname>
est quelque chose comme eth0
. Ce répertoire driver
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 répertoire module
sera un lien symbolique vers le nœud de module dans sysfs.
IMHO pour les scripts le mieux est d'utiliser sysfs info (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