Jika target saya memiliki satu perangkat yang terhubung dan banyak driver untuk perangkat itu dimuat, bagaimana saya bisa mengerti perangkat apa yang menggunakan driver mana?
linux
linux-kernel
Alexios
sumber
sumber
lspci -v
melakukannya dengan sendirinya.lspci -nk
akan menunjukkan kepada Anda driver yang terpasang. Secara umum sysfs adalah tempat yang tepat untuk mencari.vendorID:productID
? Juga, bagaimana jika itu bukan perangkat PCI, dan Anda hanya melihatnyalsusb
misalnya?Berikut ini skrip kecil yang saya tulis :
Output sampel:
sumber
veth
dan driver virtual lainnya. IMHO satu-satunya solusi adalah menggunakanethtool
ataulshw
.sudo lspci -v
akan menunjukkannya. seperti ini:Anda juga dapat menggabungkannya dengan
grep
seperti ini:sumber
Jika Anda hanya ingin menggunakan sysfs dan tidak ingin berurusan dengan semua perintah ini yang akhirnya terlihat di dalam sysfs, begini caranya:
katakanlah, apa modul / driver untuk eth6? "sfc" itu
atau lebih baik lagi .. biarkan readlink menyelesaikan jalur untuk Anda.
jadi ... untuk mencari tahu apa driver untuk semua antarmuka jaringan Anda:
sumber
Anda dapat menggunakan
lsmod
perintah untuk mendapatkan status driver modul / perangkat yang dimuat di Linux Kernel.Untuk perangkat tertentu, Anda dapat menggunakan
dmesg |grep <device-name>
untuk mendapatkan detailnya juga.sumber
Untuk perangkat berbasis USB Anda dapat melihat nama driver dengan menggunakan
lsusb
perintah:Dan / atau Anda menggunakan
lshw
yang menyebutkan perangkat di semua bus termasuk USB, PCI, dll sehingga Anda dapat melihat driver yang digunakannya:sumber