Si mi objetivo tiene un dispositivo conectado y muchos controladores para ese dispositivo cargado, ¿cómo puedo entender qué dispositivo está usando qué controlador?
linux
linux-kernel
Alexios
fuente
fuente
lspci -v
lo hace sololspci -nk
le mostrará los controladores adjuntos. En general, el sysfs es el lugar adecuado para buscar.vendorID:productID
? Además, ¿qué pasa si no es un dispositivo PCI, y solo lo velsusb
por ejemplo?Aquí hay un pequeño guión que escribí :
Salida de muestra:
fuente
veth
y otros controladores virtuales. En mi humilde opinión la única solución es utilizarethtool
olshw
.sudo lspci -v
lo mostrará Me gusta esto:También puedes combinarlo
grep
así:fuente
Si solo quiere usar sysfs y no quiere lidiar con todos estos comandos que eventualmente se ven dentro de sysfs de todos modos, así es como:
¿Cuál es el módulo / controlador para eth6? "sfc" es
o mejor aún ... deja que readlink resuelva el camino por ti.
entonces ... para descubrir cuáles son los controladores para todas sus interfaces de red:
fuente
Puede usar el
lsmod
comando para obtener el estado de los módulos / controladores de dispositivos cargados en el kernel de Linux.Para un dispositivo específico, también puede usar
dmesg |grep <device-name>
para obtener los detalles.fuente
Para dispositivos basados en USB, puede ver el nombre del controlador mediante el
lsusb
comando:Y / o usa el
lshw
que enumera los dispositivos en todos los buses, incluidos USB, PCI, etc. para que pueda ver qué controlador usa:fuente