Si ma cible a un périphérique connecté et plusieurs pilotes pour ce périphérique chargés, comment puis-je savoir quel périphérique utilise quel pilote?
linux
linux-kernel
Alexios
la source
la source
lspci -v
le fait par lui-même.lspci -nk
vous montrera les pilotes attachés. En général, le système est le bon endroit pour chercher.vendorID:productID
? De plus, que se passe-t-il si ce n'est pas un périphérique PCI et que vous ne le voyez que dans,lsusb
par exemple?Voici un petit script que j'ai écrit :
Exemple de sortie:
la source
veth
et d'autres pilotes virtuels. IMHO la seule solution est d'utiliserethtool
oulshw
.sudo lspci -v
va le montrer. comme ça:Vous pouvez également le combiner avec
grep
comme ceci:la source
Si vous voulez simplement utiliser sysfs et ne voulez pas gérer toutes ces commandes qui finissent par regarder à l'intérieur de sysfs, voici comment:
dis, quel est le module / pilote pour eth6? "sfc" c'est
ou mieux encore .. laissez readlink résoudre le chemin pour vous.
alors ... pour savoir quels sont les pilotes pour toutes vos interfaces réseau:
la source
Vous pouvez utiliser la
lsmod
commande pour obtenir l'état des pilotes de modules / périphériques chargés dans le noyau Linux.Pour un appareil spécifique, vous pouvez également
dmesg |grep <device-name>
obtenir les détails.la source
Pour les périphériques USB, vous pouvez voir le nom du pilote en utilisant la
lsusb
commande:Et / ou vous utilisez
lshw
qui énumère les périphériques sur tous les bus, y compris USB, PCI, etc. afin que vous puissiez voir quel pilote il utilise:la source