Jak znaleźć moduł jądra za interfejsem sieciowym?

17

Jak dowiedzieć się, jakiego modułu jądra używa się w danym interfejsie sieciowym?

Matt Joiner
źródło

Odpowiedzi:

17

W linii poleceń uruchom

sudo lshw -C network 

Dla każdego interfejsu sieciowego otrzymasz sekcję zaczynającą się od *-network. Każda sekcja ma logical name:wiersz zawierający nazwę interfejsu oraz configuration:wiersz zawierający sterownik i kilka innych informacji.

Florian Diesch
źródło
10

Możesz zapytać sysfs o informacje. Aby określić, którego sterownika używa interfejs sieciowy:

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

... gdzie <devname>jest coś takiego eth0. Ten driverkatalog będzie dowiązaniem symbolicznym do węzła sterownika w sysfs.

Aby uzyskać nazwę modułu udostępniającego ten sterownik:

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

... a ten modulekatalog będzie dowiązaniem symbolicznym do węzła modułu w sysfs.

Jeremy Kerr
źródło
Jak wykryć sterowniki wirtualne (np. veth)? Jest to możliwe ethtool -i IFACE_NAME, ale jak znaleźć od sysfs?
pevik
4

IMHO dla skryptów najlepiej użyć informacji o dysfunkcjach (jak pokazuje Jeremy Kerr), ale aby uzyskać więcej informacji:

ethtool -i IFACE_NAME

Na przykład:

$ 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
źródło
1

W przypadku urządzeń USB możesz użyć lsusbpolecenia np .:

lsusb -t
Pierz
źródło