我正在创建一个程序来列出Linux中的所有USB设备(在我的例子中是Ubuntu)。我一直遵循本教程http://www.signal11.us/oss/udev/,并将子系统从"hidraw“更改为"usb”。
它很好地列出了设备,但它包含重复的设备。
显然,我可以用我的代码删除重复项,但我想知道您是否知道如何以一种不返回重复项的方式设置设备枚举。
如果你想看看我的代码(没做太多修改),它在https://github.com/DiogoNeves/LinuxUsbTest
谢谢!
发布于 2012-08-05 11:12:57
对于我的系统,我看到我的USB摄像头被复制了,但这是正确的行为,因为它占用了udev中的多个插槽。当我执行udevadm info --attribute-walk --name=video0时,我看到一个关于USB端点的条目和一个关于USB设备的条目。如果一个设备有许多端点,它无疑会在udev中被多次列出。要删除“重复项”,可以过滤仅存在于父USB设备中而不存在于端点中的其他属性。
如果你正在扫描USB设备,使用libusb-1.0可能更有意义,因为它有一个“更好”的USB设备视图。
https://stackoverflow.com/questions/11813492
复制相似问题