Come trovo quale modulo del kernel si trova dietro un'interfaccia di rete?


Risposte:


17

In fuga da riga di comando

sudo lshw -C network 

Per ogni interfaccia di rete si otterrà una sezione che inizia con *-network. Ogni sezione hai un logical name:riga che contiene il nome dell'interfaccia e una configuration:linea che contiene il driver e alcune altre informazioni.


10

Puoi interrogare sysfs per dirti queste informazioni. Per sapere quale driver utilizza un'interfaccia di rete:

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

... dov'è <devname>qualcosa del genere eth0. Questa driverdirectory sarà un collegamento simbolico al nodo del driver in sysfs.

Per ottenere il nome del modulo che fornisce quel driver:

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

... e questa moduledirectory sarà un link simbolico al nodo del modulo in sysfs.


Come rilevare i driver virtuali (ad es. veth)? È possibile con ethtool -i IFACE_NAME, ma come trovarlo da sysfs?
pevik,

4

IMHO per gli script il migliore è usare le informazioni sysfs (come mostra Jeremy Kerr), ma per maggiori informazioni:

ethtool -i IFACE_NAME

Per esempio:

$ 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

Per i dispositivi USB è possibile utilizzare il lsusbcomando, ad esempio:

lsusb -t
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.