0

我正在创建一个程序来列出 Linux 中的所有 USB 设备(在我的例子中是 Ubuntu)。我一直在关注本教程http://www.signal11.us/oss/udev/并将子系统从“hidraw”更改为“usb”。

它列出了设备,但它包含重复项。

我显然可以使用我的代码删除重复项,但我想知道您是否知道如何以不会返回重复项的方式设置设备枚举。

如果您想查看我的代码(没有太大变化),请访问https://github.com/DiogoNeves/LinuxUsbTest

谢谢!

4

1 回答 1

1

对于我的系统,我看到我的 USB 摄像头重复了,但这是正确的行为,因为它占用了 udev 中的多个插槽。当我这样做时udevadm info --attribute-walk --name=video0,我会看到 USB 端点的条目和 USB 设备的条目。如果一个设备有很多端点,无疑会在 udev 中多次列出。要删除“重复项”,您可以过滤仅存在于父 USB 设备而非端点中的其他属性。

如果您正在扫描 USB 设备,使用它可能更有意义,libusb-1.0因为它具有 USB 设备的“更好”视图。

于 2012-08-05T03:12:56.887 回答