windows/linux 查看vendor ID 和 product ID

windows/linux 查看vendor ID 和 product ID

vendor ID: 厂商标识
product ID:产品标识

vendor 和 product ID 通常是十六进制数值形式,用冒号隔开,例如 “1d6b:0002”。


1.window平台(win10)

设备 ID 可以通过打开 Windows 设备管理器上的 详细信息(details) 页查看,点击设备描述往下拉选择硬件ID(Hardware IDs),即可看到设备ID其中 vendor ID 的前缀是 VEN_ 而 product ID 的前缀是 DEV_。在 Windows 7 系统上,打开设备管理器页上的硬件ID(Hardware IDs) 属性才能看到 ID,默认是不显示的。

1)win10 按Win + X 组合键,进设备管理器。(通过右键计算机属性也可进, …….)

2)以显卡为例,点击显示适配器,选择一个右击->属性->详细信息->点击设备描述往下拉选择硬件ID,即可看到设备ID如图:

2



2.linux平台(ubuntu16.04)

Linux 系统上,设备 ID 可以用命令读取,就以USB和显卡设备为例操作如下。

1)查看USB设备,使用 lsusb如下图
1

2)查看网卡设备,使用 lspci -nn 如下图

2

可以使用libusb库来获取所有USB设备的bus和device编号和id。 以下是一个简单的示例代码,可以列出所有已连接的USB设备的详细信息: ```cpp #include <iostream> #include <libusb-1.0/libusb.h> int main(int argc, char** argv) { libusb_device **devs; libusb_context *ctx = NULL; // 初始化libusb库 int r = libusb_init(&ctx); if (r < 0) { std::cerr << "Failed to initialize libusb" << std::endl; return 1; } // 获取所有已连接的USB设备列表 ssize_t cnt = libusb_get_device_list(ctx, &devs); if (cnt < 0) { std::cerr << "Failed to get device list" << std::endl; return 1; } std::cout << "Number of USB devices: " << cnt << std::endl; // 遍历设备列表并打印每个设备的信息 for (ssize_t i = 0; i < cnt; i++) { libusb_device *dev = devs[i]; libusb_device_descriptor desc; // 获取设备描述符 r = libusb_get_device_descriptor(dev, &desc); if (r < 0) { std::cerr << "Failed to get device descriptor" << std::endl; continue; } std::cout << "Device " << i << ": "; std::cout << "VendorID=" << desc.idVendor << ", "; std::cout << "ProductID=" << desc.idProduct << ", "; // 获取设备所在的bus和device编号 uint8_t bus = libusb_get_bus_number(dev); uint8_t addr = libusb_get_device_address(dev); std::cout << "Bus=" << static_cast<int>(bus) << ", "; std::cout << "Device=" << static_cast<int>(addr) << std::endl; } // 释放设备列表 libusb_free_device_list(devs, 1); // 关闭libusb库 libusb_exit(ctx); return 0; } ``` 这个程序将会输出每个USB设备的VendorIDProductID、Bus和Device编号。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值