Como descubro qual módulo do kernel é usado para qualquer interface de rede?
Como descubro qual módulo do kernel é usado para qualquer interface de rede?
Respostas:
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 logical name:
possui uma linha que contém o nome da interface e uma configuration:
linha que contém o driver e algumas outras informações.
Você pode consultar o sysfs para informar essas informações. Para saber qual driver uma interface de rede está usando:
ls -l /sys/class/net/<devname>/device/driver
... onde <devname>
é algo parecido eth0
. Este driver
diretório será um link simbólico para o nó do driver no sysfs.
Para obter o nome do módulo que fornece esse driver:
ls -l /sys/class/net/<devname>/device/driver/module
... e esse module
diretório será um link simbólico para o nó do módulo no sysfs.
O IMHO para scripts é o melhor para usar as informações do sysfs (como Jeremy Kerr mostra), mas para obter 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
veth
)? É possível comethtool -i IFACE_NAME
, mas como encontrá-lo no sysfs?