如何找出硬件使用的驱动程序?

今天我想弄清楚哪种驱动器最适合我的USB无线加密狗。 无论我到哪里,我都会看到Ralink STA但这并没有告诉我实际上是哪个模块。

我确定有一种方法可以查找,但计算机应该可以告诉我,不应该吗?

Meta:这个问题适用于任何硬件,而不仅仅是我的无线网卡。 如果我们有一个有用的诊断程序线程,以便其他人可以找出他们的硬件发生了什么,将会很有帮助。

lshw

lshw是一个非常有用的工具,用于查找有关所有硬件的详细信息。 它应该能够告诉你各种废话 – 一些有用,一些没有。 在我的情况下,这是sudo lshw -c network给我的有关我的有线卡的信息:

  *-network description: Ethernet interface product: RTL8111/8168B PCI Express Gigabit Ethernet controller vendor: Realtek Semiconductor Co., Ltd. physical id: 0 bus info: pci@0000:09:00.0 logical name: eth1 version: 03 serial: xx:xx:xx:xx:xx:xx size: 10Mbit/s capacity: 1Gbit/s width: 64 bits clock: 33MHz capabilities: pm msi pciexpress msix vpd bus_master cap_list rom ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation configuration: autonegotiation=on broadcast=yes driver=r8169 driverversion=2.3LK-NAPI duplex=half latency=0 link=no multicast=yes port=MII speed=10Mbit/s resources: ... 

驱动程序隐藏在configuration:靠近末尾的部分。

如果您只想快速列出正在使用的模块,可以使用:

 sudo lshw | grep -Eo 'driver=[^ ]+' | sort -u | cut -d\= -f2 

您可以安装hardinfo并浏览各种类别的硬件,以获取列表中每个设备使用哪个驱动程序的信息。

截图:
在此处输入图像描述