在统信UOS中获取USB设备VID/PID有四种方法:一是用lsusb命令直接查看已枚举设备的VID和PID;二是用lsusb -v配合grep精准定位多设备中的目标;三是通过图形化设备管理器查看硬件ID;四是用dmesg捕获插拔瞬间日志诊断枚举失败。

在统信UOS系统中确认USB设备身份、排查驱动加载失败或为udev规则编写准备参数时,必须准确获取设备的VID(厂商ID)和PID(产品ID),这两个十六进制代码是内核识别设备并匹配驱动的核心依据。
用lsusb命令直接读取基础VID/PID
这一步最快,适用于所有已成功枚举的USB设备,无需安装额外软件,结果直接来自内核USB子系统。
打开终端(Ctrl+Alt+T),执行:lsusb。
观察输出行,例如 Bus 002 Device 004: ID 0bda:8153 Realtek Semiconductor Corp. RTL8153 Gigabit Ethernet Adapter —— 其中 0bda 是VID,8153 是PID,均为小写十六进制数。
若设备未出现在列表中,说明内核尚未完成设备枚举,此时任何VID/PID查询都无意义,需先检查物理连接或供电状态。
用lsusb -v配合grep精准定位目标设备
当系统连接多个同品牌设备(如多支同型号U盘)导致lsusb输出冗长时,此方法可快速锁定特定设备的完整描述符信息,包括制造商字符串、序列号等辅助验证字段。
第一步:执行 lsusb 获取目标设备的 Bus 和 Device 编号,例如 Bus 001 Device 005。
第二步:运行命令:lsusb -s 001:005 -v | grep -E "(idVendor|idProduct|Manufacturer|Product)"。
注意:-s 参数必须严格按 Bus:Device 格式填写,中间用英文冒号分隔;若填错(如写成 1:5 或 001:5),命令将报错且不返回任何VID/PID。
输出示例:
idVendor 0x0781 SanDisk Corp.
idProduct 0x5567 Cruzer Blade
iManufacturer 1 SanDisk
iProduct 2 Cruzer Blade
通过设备管理器图形界面查看硬件ID
适合不熟悉命令行的用户,结果与Windows设备管理器一致,显示格式为标准的VID_XXXX&PID_XXXX,便于直接复制用于udev规则或驱动配置。
方法一:点击左下角启动器 → 搜索“设备管理器” → 输入密码授权进入。
方法二:在设备管理器左侧导航栏选择“USB控制器”,右侧列表中找到对应设备(如“USB Mass Storage Device”或具体厂商名)→ 右键该设备 → 选择“属性” → 切换到“详细信息”选项卡 → 在属性下拉框中选择“硬件ID”。
看到类似 USB\VID_0951&PID_1665&REV_0100 的字符串,其中 VID_ 后四位、PID_ 后四位即为所需值。注意此处VID/PID为大写,而lsusb输出为小写,数值等价。
用dmesg捕获插拔瞬间的VID/PID日志
当设备插入后立即消失、或lsusb无法稳定列出时,此方法能抓取内核首次读取设备描述符时的真实VID/PID,是诊断枚举失败的第一手证据。
插入设备前,在终端运行:dmesg -w,保持窗口开启。
插入设备,紧盯滚动日志,查找含 usb <em>x</em>-<em>y</em>: new.*USB device 的行,例如:usb 1-1.2: new high-speed USB device number 3 using xhci_hcd
紧接着下一行通常为:usb 1-1.2: New USB device found, idVendor=0483, idProduct=5740 —— 这里的 idVendor=0483 和 idProduct=5740 就是刚插入设备的VID和PID。
若日志中只出现 device descriptor read/64, error -110,说明设备供电不足或线缆接触不良,此时不会生成有效的VID/PID记录。

















