Как найти, какой модуль ядра находится за сетевым интерфейсом?

Это моя рекомендуемая настройка:

, добавленная в ~/.bashrc

PS1='[\u@\h \W]\$ '    

, выглядит так:

[user@hostname dirname]$

(с пробел после знака $)

1
задан 12 November 2012 в 14:23

2 ответа

Вы можете запросить sysfs, чтобы сообщить вам эту информацию. Чтобы указать, какой драйвер использует сетевой интерфейс:

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

... где <devname> - это что-то вроде eth0. Этот каталог driver будет символической ссылкой на узел драйвера в sysfs.

Чтобы получить имя модуля, который предоставляет этот драйвер:

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

... и этот module будет символической ссылкой на узел модуля в sysfs.

8
ответ дан 25 May 2018 в 04:29
  • 1
    Как обнаружить виртуальные драйверы (например, veth)? Это возможно с ethtool -i IFACE_NAME, но как найти его из sysfs? – pevik 21 July 2017 в 00:18

IMHO для скриптов лучше всего использовать информацию sysfs (как показывает Джереми Керр), но для получения дополнительной информации:

ethtool -i IFACE_NAME

Например:

$ 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
ответ дан 25 May 2018 в 04:29

Другие вопросы по тегам:

Похожие вопросы: