如何在Linux上以编程方式获取USB供应商和产品信息?
使用udev我已经能够获得某个USB设备的这些信息:
idVendor: 13b1
idProduct: 0018
manufacturer:
product: USB 2.0 Network Adapter ver.2
serial: 00FFFF
现在我想获得与供应商和产品ID相关联的完整字符串。我发现文件/usr/share/misc/usb.ids
包含我正在寻找的信息:
13b1 Linksys
000b WUSB11 v4.0 802.11b Adapter
000d WUSB54G Wireless Adapter
0011 WUSB54GP v4.0 802.11g Adapter
0018 USB200M 10/100 Ethernet Adapter
001a HU200TS Wireless Adapter
001e WUSBF54G 802.11bg
0020 WUSB54GC 802.11g Adapter [ralink rt73]
0023 WUSB54GR
0024 WUSBF54G v1.1 802.11bg
但是,我不清楚应该如何在我的应用程序中检索此数据。是否有可用的API或我应该解析文件?如果我选择解析它,那么/usr/share/misc/usb.ids
总是会成为正确的位置吗?
没有找到相关结果
已邀请:
4 个回复
钨蜡唤喉晤
命令查询有关当前插入的USB设备的信息。您可以使用其
选项查询某个供应商/产品(但它似乎仅适用于当前插入的设备):
您可以显示所有设备的信息:
你也可以使它变得冗长(
)并打印很多东西。 请注意,在Linux OS中访问有关系统的信息时,最好通过shell命令(例如
)来执行,而不是直接解析这些命令访问的系统文件。
臂哦
手册页说
是id文件的位置;事实上,有两个符号链接,其中一个是你的
。在信任符号链接之前,我会相信实际位置:
祁澈盘哼颗
。 这是我刚刚放在一起的一个小例子,基于
- 请注意我使用了一个带有FTDI FT232芯片的Arduino Duemillanove,我找到了使用
的udev路径(参见下面的代码中的注释),然后我在其中硬编码了以下计划,
:
该程序(附带Arduino)输出:
...“FT232 USB-Serial(UART)IC”是usb.ids中VID:PID 0403:6001的正确条目。 希望这可以帮助, 干杯!
耐扫鹤胶鞭
这样的设备本身获取此信息会更安全。