Bagaimana saya menemukan modul kernel apa di belakang antarmuka jaringan?

17

Bagaimana saya mengetahui modul kernel apa yang digunakan untuk antarmuka jaringan apa saja?

Matt Joiner
sumber

Jawaban:

17

Pada baris perintah jalankan

sudo lshw -C network 

Untuk setiap antarmuka jaringan Anda akan mendapatkan bagian yang dimulai dengan *-network. Setiap bagian memiliki logical name:garis yang berisi nama antarmuka dan configuration:garis yang berisi driver dan beberapa informasi lainnya.

Florian Diesch
sumber
10

Anda dapat meminta sysfs untuk memberi tahu Anda informasi ini. Untuk memberi tahu driver mana yang menggunakan antarmuka jaringan:

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

... di mana <devname>ada sesuatu seperti eth0. driverDirektori ini akan menjadi symlink ke node driver di sysfs.

Untuk mendapatkan nama modul yang menyediakan driver itu:

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

... dan moduledirektori ini akan menjadi symlink ke simpul modul di sysfs.

Jeremy Kerr
sumber
Bagaimana cara mendeteksi driver virtual (mis. veth)? Itu mungkin dengan ethtool -i IFACE_NAME, tetapi bagaimana cara menemukannya dari sysfs?
pevik
4

IMHO untuk skrip yang terbaik adalah menggunakan info sysfs (seperti yang ditunjukkan Jeremy Kerr), tetapi untuk info lebih lanjut:

ethtool -i IFACE_NAME

Misalnya:

$ 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
pevik
sumber
1

Untuk perangkat USB Anda dapat menggunakan lsusbperintah misalnya:

lsusb -t
Pierz
sumber