Como encontro o módulo do kernel por trás de uma interface de rede?

12

Como descubro qual módulo do kernel é usado para qualquer interface de rede?

    
por Matt Joiner 12.11.2012 / 09:23

3 respostas

12

Na linha de comando, execute

sudo lshw -C network 

Para cada interface de rede, você terá uma seção começando com *-network . Cada seção possui uma linha logical name: que contém o nome da interface e uma linha configuration: que contém o driver e algumas outras informações.

    
por Florian Diesch 12.11.2012 / 09:46
8

Você pode consultar o sysfs para lhe informar esta informação. Para saber qual driver está usando uma interface de rede:

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

... onde <devname> é algo como eth0 . Este diretório driver será um symlink para o nó do driver em sysfs.

Para obter o nome do módulo que fornece esse driver:

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

... e este diretório module será um symlink para o nó do módulo em sysfs.

    
por Jeremy Kerr 12.11.2012 / 09:46
1

IMHO para scripts, o melhor é usar informações sysfs (como mostra Jeremy Kerr), mas para mais informações:

ethtool -i IFACE_NAME

Por exemplo:

$ 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
    
por pevik 20.07.2017 / 23:22