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

m26*_*26a 6 hardware drivers ubuntu-drivers

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

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

Raf*_*ffa 6

如果您以正确的方式使用正确的工具,您需要进行一些挖掘并手动检查那些...我可以想到两种用户友好的方法来列出足够的信息供您识别这些设备...

单程

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

ubuntu-drivers list
Run Code Online (Sandbox Code Playgroud)

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

ubuntu-drivers debug
Run Code Online (Sandbox Code Playgroud)

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

ubuntu-drivers debug | grep "$(ubuntu-drivers list 2>/dev/null)"
Run Code Online (Sandbox Code Playgroud)

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

从上面,你会得到类似的信息:

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
Run Code Online (Sandbox Code Playgroud)

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

udevadm info --attribute-walk --path='/sys/devices/virtual/dmi/id'
Run Code Online (Sandbox Code Playgroud)

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

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
Run Code Online (Sandbox Code Playgroud)

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

lspci -vv -s '0000:00:1f.4'
Run Code Online (Sandbox Code Playgroud)

其他方式

...这是相当广泛但仍然用户友好和便携的使用方式lshw -html如下:

sudo lshw -html > /tmp/hwout.html && xdg-open /tmp/hwout.html
Run Code Online (Sandbox Code Playgroud)

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