ฉันจะค้นหาโมดูลเคอร์เนลที่ใช้สำหรับอินเตอร์เฟสเครือข่ายที่กำหนดได้อย่างไร
ฉันจะค้นหาโมดูลเคอร์เนลที่ใช้สำหรับอินเตอร์เฟสเครือข่ายที่กำหนดได้อย่างไร
คำตอบ:
ในบรรทัดคำสั่งเรียกใช้
sudo lshw -C network
*-network
สำหรับทุกเครือข่ายอินเตอร์เฟซที่คุณจะได้รับส่วนที่เริ่มต้นด้วย ทุกส่วนมีlogical name:
บรรทัดที่มีชื่ออินเตอร์เฟสและconfiguration:
บรรทัดที่มีไดรเวอร์และข้อมูลอื่น ๆ
คุณสามารถสอบถาม sysfs เพื่อบอกข้อมูลนี้ ในการบอกไดรเวอร์ที่เครือข่ายอินเตอร์เฟสใช้:
ls -l /sys/class/net/<devname>/device/driver
... <devname>
เป็นอย่างไรeth0
บ้าง driver
ไดเร็กทอรีนี้จะเป็น symlink ไปยังโหนดไดรเวอร์ใน sysfs
ในการรับชื่อของโมดูลที่ให้ไดรเวอร์นั้น:
ls -l /sys/class/net/<devname>/device/driver/module
... และmodule
ไดเร็กทอรีนี้จะเป็น symlink ไปยังโหนดโมดูลใน sysfs
IMHO สำหรับสคริปต์ที่ดีที่สุดคือการใช้ข้อมูล 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
สำหรับอุปกรณ์ USB คุณสามารถใช้lsusb
คำสั่งเช่น:
lsusb -t
veth
)? เป็นไปได้ด้วยethtool -i IFACE_NAME
แต่วิธีการค้นหาจาก sysfs?