Як знайти, який модуль ядра стоїть за мережевим інтерфейсом?


Відповіді:


17

У командному рядку запустіть

sudo lshw -C network 

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


10

Ви можете запитати sysfs, щоб повідомити вам цю інформацію. Щоб сказати, який драйвер використовує мережевий інтерфейс:

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

... де <devname>щось подібне eth0. Цей driverкаталог буде символьним посиланням на вузол драйвера в sysfs.

Щоб отримати ім'я модуля, який забезпечує цей драйвер:

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

... і цей moduleкаталог буде символьним посиланням на вузол модуля в sysfs.


Як виявити віртуальні драйвери (наприклад veth)? Це можливо з ethtool -i IFACE_NAME, але як знайти його з sysfs?
pevik

4

Для сценаріїв 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

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

lsusb -t
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.