特定のネットワークインターフェイスに使用されているカーネルモジュールを確認するにはどうすればよいですか?
コマンドラインで実行
Sudo lshw -C network
すべてのネットワークインターフェイスについて、*-network
で始まるセクションを取得します。すべてのセクションには、インターフェース名を含むlogical name:
行と、ドライバーおよびその他の情報を含むconfiguration:
行があります。
Sysfsに照会して、この情報を伝えることができます。ネットワークインターフェイスが使用しているドライバーを確認するには:
ls -l /sys/class/net/<devname>/device/driver
... <devname>
はeth0
のようなものです。このdriver
ディレクトリは、sysfsのドライバーノードへのシンボリックリンクになります。
そのドライバーを提供するモジュールの名前を取得するには:
ls -l /sys/class/net/<devname>/device/driver/module
...そして、このmodule
ディレクトリは、sysfsのモジュールノードへのシンボリックリンクになります。
スクリプトの私見としては、sysfs情報(Jeremy Kerrが示すように)を使用するのが最善ですが、詳細については:
ethtool -i IFACE_NAME
例えば。:
$ 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