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


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.


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.


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

1

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

lsusb -t
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.