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 driver
katalog 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 module
katalog 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?