Jak dowiedzieć się, jakiego modułu jądra używa się w danym interfejsie sieciowym?
Jak dowiedzieć się, jakiego modułu jądra używa się w danym interfejsie sieciowym?
Odpowiedzi:
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.
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.
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
veth)? Jest to możliweethtool -i IFACE_NAME, ale jak znaleźć od sysfs?