我如何知道哪个设备正在使用该驱动程序?

我如何知道哪个设备正在使用该驱动程序?

我怎么知道这些未知设备是什么?我想测试其他发行版,但我不知道它们是否有相同的驱动程序,所以我想知道什么设备可能无法在另一个发行版上运行。

软件和更新中的“附加驱动程序”选项卡显示使用特定驱动程序的未知设备

答案1

您需要深入挖掘并手动检查那些以正确的方式使用正确工具的设备...我能想到两种用户友好的方法来列出足够的信息以便您识别这些设备...

单程

请注意,该ubuntu-drivers工具仅适用于 Ubuntu,可能不适用于其他 Linux 发行版...

ubuntu-drivers list

... 将列出这些驱动程序... 并且:

ubuntu-drivers debug

... 将显示调试信息,包括使用这些驱动程序的设备...因此,您可以将两者结合起来,如下所示:

ubuntu-drivers debug | grep "$(ubuntu-drivers list 2>/dev/null)"

...将调试输出限制为包含这些驱动程序的行。

从上面,您将获得如下信息:

oem-somerville-meta: installed: 20.04ubuntu9 available: 20.04ubuntu9 (auto-install) [third party] free modalias: dmi:bvnDellInc.:bvr1.20.0:bd11/14/2023:br1.20:svnDellInc.:pnVostro3520:pvr:rvnDellInc.:rn0FF2R6:rvrA00:cvnDellInc.:ct10:cvr:sku0B94: path: /sys/devices/virtual/dmi/id

... 哪里path: /sys/devices/virtual/dmi/id通向你的BIOS芯片接口您可以通过多种方式查询它,例如:

udevadm info --attribute-walk --path='/sys/devices/virtual/dmi/id'

或者,你会得到如下信息:

oem-somerville-olly-adl-meta: installed: 20.04ubuntu8 available: 20.04ubuntu8 (auto-install) [third party] free modalias: pci:v00008086d000051A3sv00001028sd00000B94bc0Csc05i00 path: /sys/devices/pci0000:00/0000:00:1f.4 vendor: Intel Corporation

... 其中表示该设备位于接口的path: /sys/devices/pci0000:00/0000:00:1f.4某个地址,因此可以像这样查询 PCI 设备:0000:00:1f.4pci0000:00lspci

lspci -vv -s '0000:00:1f.4'

其他方式

... 它更为广泛但仍然是用户友好和便携的,使用方式lshw -html如下:

sudo lshw -html > /tmp/hwout.html && xdg-open /tmp/hwout.html

... 查找每个设备的子driver=...部分configuration:以识别使用这些驱动程序的设备。

相关内容