Как мне узнать, какой модуль ядра используется для любого данного сетевого интерфейса?
Как мне узнать, какой модуль ядра используется для любого данного сетевого интерфейса?
Ответы:
В командной строке запустите
sudo lshw -C network
Для каждого сетевого интерфейса вы получите раздел, начинающийся с *-network
. Каждый раздел содержит logical name:
строку, содержащую имя интерфейса и configuration:
строку, содержащую драйвер и некоторую другую информацию.
Вы можете запросить у sysfs эту информацию. Чтобы узнать, какой драйвер использует сетевой интерфейс:
ls -l /sys/class/net/<devname>/device/driver
... где- <devname>
то как eth0
. Этот driver
каталог будет символической ссылкой на узел драйвера в sysfs.
Чтобы получить имя модуля, который предоставляет этот драйвер:
ls -l /sys/class/net/<devname>/device/driver/module
... и этот module
каталог будет символической ссылкой на узел модуля в sysfs.
ИМХО для сценариев лучше всего использовать информацию 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
veth
)? Это возможно сethtool -i IFACE_NAME
, но как найти его из sysfs?