从USB获取设备名称

时间:2018-11-13 06:36:36

标签: c++ linux

lsusb command

我想获得lsusb上的设备名称。我找到了这段代码,并尝试了其所有描述符参数,是否有任何方法可以获取设备名称,如Log之类的图片。选择。甘鼠标

#include <stdio.h>
#include <usb.h>
main(){
    struct usb_bus *bus;
    struct usb_device *dev;
    usb_init();
    usb_find_busses();
    usb_find_devices();
    for (bus = usb_busses; bus; bus = bus->next)
        for (dev = bus->devices; dev; dev = dev->next){
            printf("Trying device %s/%s\n", bus->dirname, dev->filename);
            printf("\tID_VENDOR = 0x%04x\n", dev->descriptor.idVendor);
            printf("\tID_PRODUCT = 0x%04x\n", dev->descriptor.idProduct);
        }
}

1 个答案:

答案 0 :(得分:2)

为您服务的弱者是libusb库。

以libusb_get_device_list开头,它返回当前连接到系统的USB设备的列表。 http://libusb.sourceforge.net/api-1.0/group__dev.html#gac0fe4b65914c5ed036e6cbec61cb0b97

您可以从那里拿走。

如果您想以其他方式读取/ sys / bus / usb / devices目录并读取有效设备。 根集线器或其他集线器除外。