首先需要将usbfs挂载一下,然后才能查看。
$ mount -t usbfs none /proc/bus/usb
$ cat  /proc/bus/usb/devices
或者在文件(/etc/fstab)中添加如下这句:
none  /proc/bus/usb  usbfs  defaults  0  0
查看到的信息,如下所示:
T:  Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12   MxCh= 3
B:  Alloc=  0/900 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 1.10 Cls=09(hub  ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=1d6b ProdID=0001 Rev= 3.00
S:  Manufacturer=Linux 3.0.15 ohci_hcd
S:  Product=s5p OHCI
S:  SerialNumber=s5p-ohci
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   2 Ivl=255ms

T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480  MxCh= 3
B:  Alloc=  0/800 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=1d6b ProdID=0002 Rev= 3.00
S:  Manufacturer=Linux 3.0.15 ehci_hcd
S:  Product=S5P EHCI Host Controller
S:  SerialNumber=s5p-ehci
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   4 Ivl=256ms

如何看懂这些信息呢?参见:kernel\Documentation\usb\proc_usb_info.txt
T = 总线拓扑(Topology)结构(Lev, Prnt, Port, Cnt, 等),是指USB设备和主机之间的连接方式
B = 带宽(Bandwidth)(仅用于USB主控制器)
D = 设备(Device)描述信息
P = 产品(Product)标识信息
S = 字符串(String)描述符
C = 配置(Config)描述信息 (* 表示活动配置)
I = 接口(Interface)描述信息
E = 端点(Endpoint)描述信息
一般格式:
d = 十进制数
x = 十六进制数
s = 字符串

拓扑信息
T:   Bus=dd Lev=dd Prnt=dd Port=dd Cnt=dd Dev#=ddd Spd=ddd MxCh=dd
|      |            |             |              |              |              |                  |              |__最大子设备
|      |            |             |              |              |              |                  |__设备速度(Mbps)
|      |            |             |              |              |              |__设备编号
|      |            |             |              |              |__这层的设备数
|      |            |             |              |__此设备的父连接器/端口
|      |            |             |__父设备号
|      |            |__此总线在拓扑结构中的层次
|      |__总线编号
|__拓扑信息标志
带宽信息
B:   Alloc=ddd/ddd us (xx%), #Int=ddd, #Iso=ddd
|       |                                        |                |__同步请求编号
|       |                                        |__中断请求号
|       |__分配给此总线的总带宽
|__带宽信息标志
设备描述信息和产品标识信息
D:   Ver=x.xx Cls=xx(sssss) Sub=xx Prot=xx MxPS=dd #Cfgs=dd
|       |             |                        |              |             |                 |__配置编号
|       |             |                        |              |             |______缺省终端点的最大包尺寸
|       |             |                        |              |__设备协议
|       |             |                        |__设备子类型
|       |             |__设备类型
|       |__设备USB版本
|__设备信息标志编号#1
P:   Vendor=xxxx ProdID=xxxx Rev=xx.xx
|       |                    |                    |__产品修订号
|       |                    |__产品标识编码
|       |__制造商标识编码
|__设备信息标志编号#2
串描述信息
S:   Manufacturer=ssss
|       |__设备上读出的制造商信息
|__串描述信息
S:   Product=ssss
|      |__设备上读出的产品描述信息,对于USB主控制器此字段为"USB *HCI Root Hub"
|__串描述信息
S:   SerialNumber=ssss
|       |__设备上读出的序列号,对于USB主控制器它是一个生成的字符串,表示设备标识
|__串描述信息
配置描述信息
C:   #Ifs=dd Cfg#=dd Atr=xx MPwr=dddmA
|         |               |              |             |__最大电流(mA)
|         |               |              |__属性
|         |               |__配置编号
|         |__接口数
|__配置信息标志
接口描述信息(可为多个)
I:   If#=dd Alt=dd #EPs=dd Cls=xx(sssss) Sub=xx Prot=xx Driver=ssss
|      |        |            |              |                         |              |            |__驱动名
|      |        |            |              |                         |              |__接口协议
|      |        |            |              |                         |__接口子类
|      |        |            |              |__接口类
|      |        |            |__端点数
|      |        |__可变设置编号
|      |__接口编号
|__接口信息标志
端点描述信息
E:   Ad=xx(s) Atr=xx(ssss) MxPS=dddd Ivl=dddms
|       |               |                      |                   |__间隔
|       |               |                      |__终端点最大包尺寸
|       |               |__属性(终端点类型)
|       |__终端点地址(I=In,O=Out)
|__终端点信息标志

Linux下查看USB设备信息的更多相关文章

  1. Linux下查看USB设备的VID、PID命令

    Linux下查看PID命令 cat /proc/bus/usb/devices 或 lsusb 方法一:在/etc/init.d/rcS中添加mount -t usbfs none /proc/bus ...

  2. linux常用查看硬件设备信息命令

    转载:http://blog.chinaunix.net/uid-26782198-id-3242120.html # uname -a               # 查看内核/操作系统/CPU信息 ...

  3. linux常用查看硬件设备信息命令(转载)

    系统 # uname -a                                       # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue         ...

  4. 转 linux常用查看硬件设备信息命令

    转载自:http://blog.chinaunix.net/uid-26782198-id-3242120.html 系统 # uname -a               # 查看内核/操作系统/C ...

  5. linux(ubuntu) 查看系统设备信息 命令

    时间:2012-08-02 00:12   ubuntu查看版本命令 方法一: 在终端中执行下列指令: cat /etc/issue 方法二: 使用 lsb_release 命令也可以查看 Ubunt ...

  6. Linux下查看Raid磁盘阵列信息的方法

    Linux下查看软.硬raid信息的方法. 软件raid:只能通过Linux系统本身来查看 cat /proc/mdstat 可以看到raid级别,状态等信息. 硬件raid: 最佳的办法是通过已安装 ...

  7. linux(ubuntu) 查看系统设备信息

    ubuntu查看版本命令 方法一: 在终端中执行下列指令: cat /etc/issue 方法二: 使用 lsb_release 命令也可以查看 Ubuntu 的版本号,与方法一相比,内容更为详细. ...

  8. (转)linux常用查看硬件设备信息命令

    场景:在一篇博客中看到这些总结性命令,感觉很实用就转载,以后用到进行相关的整理 系统 # uname -a # 查看内核/操作系统/CPU信息 # lsb_release -a # 查看操作系统版本 ...

  9. Linux下复位USB设备

    有时候USB设备出错,这时我们希望通过软件复位一下USB设备,可以参考下面这段代码: #include <stdio.h> #include <unistd.h> #inclu ...

随机推荐

  1. E. Mike and Foam 容斥原理

    http://codeforces.com/problemset/problem/548/E 这题是询问id,如果这个id不在,就插入这个id,然后求a[id1] ,  a[id2]互质的对数. 询问 ...

  2. HDU 1260 Tickets DP

    http://acm.hdu.edu.cn/showproblem.php?pid=1260 用dp[i]表示处理到第i个的时候用时最短. 那么每一个新的i,有两个选择,第一个就是自己不和前面的组队, ...

  3. openstack安装newton版本dashboard+cinder(六)

    一.dashboard 1.安装dashboard及配置 [root@linux-node1 ~]# yum install openstack-dashboard -y #可以装任何地方只要能连接 ...

  4. spark RPC详解

    前段时间看spark,看着迷迷糊糊的.最近终于有点头绪,先梳理了一下spark rpc相关的东西,先记录下来. 1,概述 个人认为,如果把分布式系统(HDFS, HBASE,SPARK等)比作一个人, ...

  5. 《springcloud 二》微服务动态网关,网关集群

    动态网关    实际上是网关和分布式配置中心的整合,通过post手动刷新,生效 动态网关 传统方式将路由规则配置在配置文件中,如果路由规则发生了改变,需要重启服务器.结合整合SpringCloud C ...

  6. uvm_reg_predictor——寄存器模型(十七)

    这是寄存器模型类中唯一派生自uvm_component的类,我们的寄存器模式需要实时,以最接近的方式知道DUT中寄存器的变化,uvm_reg_predictor就是为这个而生的. // TITLE: ...

  7. UVA Planning mobile robot on Tree树上的机器人(状态压缩+bfs)

    用(x,s)表示一个状态,x表示机器人的位置,s表示其他位置有没有物体.用个fa数组和act数组记录和打印路径,转移的时候判断一下是不是机器人在动. #include<bits/stdc++.h ...

  8. Mycat实现读写分离、分库分表

    系统开发中,数据库是非常重要的一个点.除了程序的本身的优化,如:SQL语句优化.代码优化,数据库的处理本身优化也是非常重要的.主从.热备.分表分库等都是系统发展迟早会遇到的技术问题问题.Mycat是一 ...

  9. 2018.5.11 Java利用反射实现对象克隆

    package com.lanqiao.demo; /** * 创建人 * @author qichunlin * */ public class Person { private int id; p ...

  10. UIKeyboardType

    typedef NS_ENUM(NSInteger, UIKeyboardType) { UIKeyboardTypeDefault, // Default type for the current ...