Linux USB 设备基础理论

Linux USB 设备基础理论

💡 原文中文,约1400字,阅读约需4分钟。
📝

内容提要

本文介绍了如何扫描特定目录以获取物理节点的USB设备信息,包括总线号、设备号、速率和制造商ID等,并提供了定位USB设备的方法及设备类型的类代码说明。

🎯

关键要点

  • 通过扫描 /sys/bus/usb/devices/usb* 和 /sys/bus/usb/devices/usb*/$busnum-* 目录获取物理节点的所有 USB 设备信息。
  • 主要信息包括总线号(busnum)、设备号(devnum)、速率(speed)、制造商ID(idVendor)等。
  • 设备的主要信息示例:{"busnum": 1, "class": 0, "devnum": 2, "level": 1, "manufacturer": "QEMU", "port": 0, "prodid": "0001", "product": "QEMU USB Tablet", "speed": "12", "usbpath": "1", "vendid": "0627"}。
  • 定位 USB 设备的方法有两种:通过总线号和设备号(busnum + devnum)或通过制造商ID和产品编号(idVendor + idProduct)。
  • 设备类型的类代码(bDeviceClass)包括多种类型,如音频、通讯设备、HID设备、打印机、大容量存储等,具体代码和描述详见文章。

延伸问答

如何获取USB设备的主要信息?

可以通过扫描/sys/bus/usb/devices/usb*和/sys/bus/usb/devices/usb*/$busnum-*目录来获取USB设备的主要信息。

USB设备的主要信息包括哪些内容?

主要信息包括总线号(busnum)、设备号(devnum)、速率(speed)、制造商ID(idVendor)等。

如何定位特定的USB设备?

可以通过总线号和设备号(busnum + devnum)或通过制造商ID和产品编号(idVendor + idProduct)来定位USB设备。

USB设备的类代码有什么作用?

类代码(bDeviceClass)用于标识设备类型,如音频、通讯设备、HID设备等,帮助系统识别和管理设备。

USB设备的制造商ID和产品编号是什么?

制造商ID(idVendor)是由USB设备生产商向USB-IF申请的唯一标识,产品编号(idProduct)则是该制造商生产的特定产品的编号。

USB设备的速率如何表示?

USB设备的速率以数字表示,例如12表示12 Mbps。

➡️

继续阅读