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

Как узнать, какой модуль ядра используется для любого данного сетевого интерфейса?

17
задан 12 November 2012 в 12:23

4 ответа

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

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

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

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

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

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

0
ответ дан 12 November 2012 в 12:23

ИМХО для сценариев лучше всего использовать информацию 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
0
ответ дан 12 November 2012 в 12:23

В командной строке запустите

sudo lshw -C network 

Для каждого сетевого интерфейса вы получите раздел, начинающийся с *-network. В каждом разделе есть строка logical name:, содержащая имя интерфейса, и строка configuration:, содержащая драйвер и некоторую другую информацию.

0
ответ дан 12 November 2012 в 12:23

Для USB-устройств можно использовать lsusb команда, например:

lsusb -t
1
ответ дан 23 November 2019 в 02:20

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

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