lsusb命令用于显示本机的USB设备列表,以及USB设备的详细信息。
查阅了大部分资料:lsusb命令显示的USB设备信息来自“/proc/bus/usb”目录下的对应文件。
问题:使用的Ubuntu下“/proc/bus”没有usb目录,需要找到存放USB设备信息的相关目录
1.USB设备通过debugfs导出/sys/kernel/debug/usb/devices显示内核已知的每个USB设备及其配置描述符。此文件对于用户模式下的状态查看工具非常方便,可以扫描文本格式并忽略大部分文本。 设备特定文件中提供了更详细的设备状态(包括类和供应商状态)。
Bus:表示总线号。
Lev:表示此USB设备位于所在总线拓扑结构的层次,XHCI控制器对应的Lev=00,其下面挂接的USB网卡的Lev=01。
Prnt:表示父设备数量,比如XHCI控制器是root,位于最顶层,其Prnt=0,其下面挂载在HUB下的USB网卡的Prnt=01。
Port:此USB设备的父设备上的连接器/端口,比如USB网卡的父设备是XHCI控制器
Cnt:这层的枚举到的第几个USB设备,比如USB网卡的Cnt=01。
Dev:表示设备编号,XHCI为1,USB网卡为5,按顺序排列的,一个总线上最多挂127个;可以有多个总线。
Spd:设备速率,单位为Mbps
可能的速率为:
1.5 Mbit/s for low speed USB
12 Mbit/s for full speed USB
480 Mbit/s for high speed USB (added for USB 2.0); also used for Wireless USB, which has no fixed speed
5000 Mbit/s for SuperSpeed USB (added for USB 3.0)
10000 Mbit/s for SuperSpeed USB (added for USB 3.1)
2.lsusb其实也是通过解析sysfs来获取usb信息的