在麒麟系统中须用命令行精准识别USB设备:lsusb查VID/PID;sudo lsusb -v -s Bus:Dev获完整描述符;lsusb -t看拓扑与速率;dmesg | tail -30验驱动绑定状态。

在麒麟系统中需要确认USB设备的厂商型号、协议版本、传输速率或驱动绑定状态时,不能只依赖图形界面粗略识别,必须通过命令行获取原始硬件级参数。
用lsusb查看基础设备列表和VID/PID
打开终端,直接执行:
lsusb
输出类似 Bus 001 Device 005: ID 0951:1665 Kingston Technology Digital DataTraveler SE9 64GB。其中 【0951 是厂商ID(VID),1665 是产品ID(PID)】,这是识别设备唯一身份的核心字段。
若插拔后需快速比对新增设备,先执行 lsusb > /tmp/usb-before,插入设备后再执行 lsusb > /tmp/usb-after,最后用 diff /tmp/usb-before /tmp/usb-after 查看差异行。
用lsusb -v 获取完整描述符信息
方法一:指定设备详细查看
从 lsusb 输出中找到目标设备的 Bus 和 Device 编号(如 Bus 001 Device 005),执行:
sudo lsusb -v -s 001:005
该命令会输出包括设备类、子类、协议、端点配置、字符串描述符(含制造商名、产品名、序列号)、支持的USB版本(如 bcdUSB 0210 表示 USB 2.1)等全部内容。注意:必须加 sudo,否则部分字段(如字符串描述符)为空。
方法二:全局导出所有设备完整信息
运行 sudo lsusb -v > ~/usb-full-dump.log,生成完整日志供离线分析。该文件体积较大,但包含每个接口、每个端点的底层通信参数。
用lsusb -t 查看物理拓扑与速度等级
执行:
lsusb -t
输出以树状结构展示USB控制器→Hub→设备的层级关系,并在每条设备分支末尾标注速率,例如 “480M” 表示 USB 2.0,“5000M” 表示 USB 3.0,“10000M” 表示 USB 3.1 Gen2。这能直观判断设备是否运行在标称速度下——如果一个标称 USB 3.0 的U盘显示为 480M,说明它被降速插在了 USB 2.0 Hub 或接口上。
若输出中某设备下方无 “Driver=xxx” 字样,代表内核未为其加载驱动,此时需检查 usb-storage、uas 或特定芯片驱动(如 ftdi_sio)是否已启用。
结合dmesg验证设备枚举全过程
第一步:插入设备后立即执行
sudo dmesg | tail -30
第二步:查找关键字段
重点观察是否出现 “new high-speed USB device”、“new SuperSpeed USB device”、“usb-storage”、“scsi add-single-device” 等行。其中 “device number 7” 表示内核分配的临时编号,“using configuration #1” 表示已成功读取设备描述符并选择配置。
第三步:确认驱动绑定结果
若看到 “usb 1-1: Product: XXX” 后紧跟着 “scsi host2: usb-storage”,说明 USB 存储类驱动已接管;若只有 “usb 1-1: new device” 但无后续 scsi 或 ttyUSB 日志,则驱动未加载或设备不兼容。











