如何知道哪个块设备对应于 lsusb 输出?

How to know what block device correnponds to the lsusb output?

我需要 lsusb 提供的关于 usb pendrives 制造商公司的信息,但我不知道如何 link 它与块设备。

我正在使用 dbus 和 python 获取有关系统中连接的 pendrives 的所有信息,但 DriveVendor 和 DriveModel 与 lsusb 显示的制造商公司不一致。

udevadm info 提供了很多信息,但也没有制造商公司。

也许这个问题措辞不当,这样会更好: 如何让 pendrive 的制造商知道它的 /dev/ 名称......或类似的东西。

转到 /sys/block/<name>,这将是一个符号 link,类似于:

/sys/block/sdf -> ../devices/pci0000:00/0000:00:1a.0/usb3/3-1/3-1.4/3-1.4:1.0/host9/target9:0:0/9:0:0:0/block/sdf

然后进入那个目录,在连续的父目录中,你会发现很多文件,里面有很多有趣的信息。

在我的特定示例中,您要求的数据位于目录中:

/sys/devices/pci0000:00/0000:00:1a.0/usb3/3-1/3-1.4

您可以在那里找到文件 manufacturerproductidVendoridProduct