我正在创建一个程序来列出Linux中的所有USB设备(在我的例子中是Ubuntu)。 我一直在关注本教程http://www.signal11.us/oss/udev/并将子系统从“hidraw”更改为“usb”。
它列出的设备很好,但它包含重复项。
我显然可以使用我的代码删除重复项,但我想知道您是否知道如何以不会返回重复项的方式设置设备枚举。
如果您想查看我的代码(没有太大变化),请点击https://github.com/DiogoNeves/LinuxUsbTest
谢谢!
答案 0 :(得分:1)
对于我的系统,我看到我的USB相机重复,但这是正确的行为,因为它占用了udev中的多个插槽。当我udevadm info --attribute-walk --name=video0
时,我看到USB端点的条目和USB设备的条目。如果设备有许多端点,则无疑会在udev中多次列出。要删除“重复项”,您可以过滤仅存在于父USB设备而不是端点的其他属性。
如果您正在扫描USB设备,使用libusb-1.0
可能更有意义,因为它可以更好地查看USB设备。