如何使用 libudev 获取 USB 端口的端口信息?

How to get port information for usb ports using libudev?

对于一个小项目,我正在使用 libudev 获取 USB 设备的通知 plug-in/plug-out。 有什么方法可以知道哪个 USB 端口用于通过 libudev 插入设备。 实际上有多个端口可用,有必要知道使用了哪个端口。 任何提示将不胜感激!

使用lsusb 命令并执行grep 查找带有设备名称的行。此命令将输出有关所有连接的 USB 设备的各种有用信息。您还可以使用 lsusb -v 获取非常详细的信息。

查看 lsusb 的联机帮助页 http://manpages.ubuntu.com/manpages/hardy/man8/lsusb.8.html

经过一番研究,我发现可以使用 libusb。 从 here 开始,libusb 可用于获取所有插入设备的列表,现在可以通过 libusb_get_device_list 在可用设备列表中检查使用 libudev 发现的设备。

进一步 libusb_get_port_number 可用于获取同一设备的端口号。