Làm cách nào để tìm ra mô-đun hạt nhân nào được sử dụng cho bất kỳ giao diện mạng cụ thể nào?
Làm cách nào để tìm ra mô-đun hạt nhân nào được sử dụng cho bất kỳ giao diện mạng cụ thể nào?
Câu trả lời:
Bạn có thể truy vấn sysfs để cho bạn biết thông tin này. Để cho biết trình điều khiển nào giao diện mạng đang sử dụng:
ls -l /sys/class/net/<devname>/device/driver
... Đâu <devname>
là một cái gì đó như thế eth0
. Điều nàydriver
sẽ là một liên kết tượng trưng đến nút trình điều khiển trong sysfs.
Để có được tên của mô-đun cung cấp trình điều khiển đó:
ls -l /sys/class/net/<devname>/device/driver/module
... Và module
thư mục này sẽ là một liên kết tượng trưng đến nút mô-đun trong sysfs.
IMHO cho các kịch bản tốt nhất là sử dụng thông tin sysfs (như Jeremy Kerr hiển thị), nhưng để biết thêm thông tin:
ethtool -i IFACE_NAME
Ví dụ:
$ 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
)? Có thể vớiethtool -i IFACE_NAME
, nhưng làm thế nào để tìm thấy nó từ sysfs?