Если к моей цели подключено одно устройство и загружено много драйверов для этого устройства, как я могу понять, какое устройство использует какой драйвер?
linux
linux-kernel
Алексиос
источник
источник
lspci -v
делает это самостоятельно.lspci -nk
покажет вам прикрепленные драйверы. В общем, sysfs - правильное место для поиска.vendorID:productID
? Кроме того, что, если это не устройство PCI, а вы видите его,lsusb
например, только?Вот небольшой сценарий, который я написал :
Образец вывода:
источник
veth
и другие виртуальные драйверы. ИМХО, единственным решением является использованиеethtool
илиlshw
.sudo lspci -v
покажет это. нравится:Вы также можете комбинировать это
grep
так:источник
Если вы просто хотите просто использовать sysfs и не хотите иметь дело со всеми этими командами, которые в конечном итоге заглядывают внутрь sysfs, вот как:
скажи, что такое модуль / драйвер для eth6? "SFC" это
или еще лучше .. пусть readlink разрешит вам путь.
Итак ... чтобы выяснить, каковы драйверы для всех ваших сетевых интерфейсов:
источник
Вы можете использовать
lsmod
команду для получения статуса загруженных модулей / драйверов устройств в ядре Linux.Для конкретного устройства вы можете использовать,
dmesg |grep <device-name>
чтобы получить детали тоже.источник
Для устройств на базе USB вы можете увидеть имя драйвера с помощью
lsusb
команды:И / или вы используете,
lshw
который перечисляет устройства на всех шинах, включая USB, PCI и т. Д., Чтобы вы могли видеть, какой драйвер он использует:источник