Wie finde ich heraus, welches Kernelmodul sich hinter einer Netzwerkschnittstelle befindet?


Antworten:


17

Auf der Kommandozeile ausführen

sudo lshw -C network 

Für jede Netzwerkschnittstelle erhalten Sie einen Abschnitt, der mit beginnt *-network. Jeder Abschnitt logical name:enthält eine Zeile mit dem Schnittstellennamen und eine configuration:Zeile mit dem Treiber und einigen anderen Informationen.


10

Sie können sysfs abfragen, um diese Informationen anzuzeigen. So stellen Sie fest, welchen Treiber eine Netzwerkschnittstelle verwendet:

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

... wo <devname>ist sowas eth0. Dieses driverVerzeichnis ist ein Symlink zum Treiberknoten in sysfs.

So rufen Sie den Namen des Moduls ab, das diesen Treiber bereitstellt:

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

... und dieses moduleVerzeichnis ist ein Symlink zum Modulknoten in sysfs.


Wie erkennt man virtuelle Fahrer (zB veth)? Es ist möglich mit ethtool -i IFACE_NAME, aber wie kann man es von sysfs finden?
Pevik

4

IMHO für Skripte ist es am besten, sysfs info zu verwenden (wie Jeremy Kerr zeigt), aber für weitere Informationen:

ethtool -i IFACE_NAME

Z.B:

$ 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

Für USB-Geräte können Sie den lsusbBefehl verwenden, z.

lsusb -t
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.