首先需要将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. (转)linux dumpe2fs命令

    linux dumpe2fs命令 命令名称 dumpe2fs - 显示ext2/ext3/ext4文件系统信息. dumpe2fs命令语法 dumpe2fs [ -bfhixV ] [ -o supe ...

  2. ES6学习(1)

    let 和 const 命令 ES6 新增了let命令,用来声明变量.它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效.for循环的计数器,就很合适使用let命令. 下面的代码 ...

  3. SqlServer中生成一串连续数字

    在SQLServer中一串连续数字,如1,2,3,4,5,....或者 1 2 3 4 5 没有现成方法,网上都用通用表表达式递归生成.今天想到一个还算简单的方法,记录下来: select row_n ...

  4. 记一次RabbitMq 安装和配置坑

    记一次RabbitMq 安装和配置坑 正常情况下安装 先安装erl ,在安装rabbitmq 这个在windows下的安装没什么技巧,按照默认一路下一步就ok.安装好后可以到cmd测试是否安装好. 测 ...

  5. HDU 5459 Jesus Is Here (递推,组合数学)

    有点麻烦的递推,递推的原则:向小的问题方向分解,注意边界. 字符串的递推式为 定义f为Si中的总方案数 首先可以得到 fi=fi-1+fi-2+组合(si-2,si-1) 然后考虑Si-2和Si-1之 ...

  6. 2018.3.31 java中的递归

    java中的递归 1.概念 定义一个方法时,出现本方法调用本方法的过程,称之为递归 2.特点 必然有一个边界条件 使用递归代码往往更简洁,可读性强 3.什么时候使用递归 n的阶乘和n的累加定义 f(n ...

  7. java基础—java对象的序列化和反序列化

    一.序列化和反序列化的概念 把对象转换为字节序列的过程称为对象的序列化. 把字节序列恢复为对象的过程称为对象的反序列化. 对象的序列化主要有两种用途: 1) 把对象的字节序列永久地保存到硬盘上,通常存 ...

  8. iOS微信小视频优化心得

    小视频是微信6.0版本重大功能之一,在开发过程中遇到不少问题.本文先叙述小视频的产品需求,介绍了几个实现方案,分析每个方案的优缺点,最后总结出最优的解决方案. 小视频播放需求 可以同时播放多个视频 用 ...

  9. 解决Windows 与Mac 双系统下的蓝牙设备共用的问题

    不知道有多少人和我一样用的蓝牙鼠标或者键盘,有的话应该都会遇到同一个问题:即在一个系统下配好对后在另一个系统必须重新配对才能使用,很是麻烦.还要将蓝牙设备进入发现模式,OS下搜索,连接....终于昨天 ...

  10. Java常用的一些容器

    转自:https://www.cnblogs.com/LipeiNet/p/5888513.html 前言:在java开发中我们肯定会大量的使用集合,在这里我将总结常见的集合类,每个集合类的优点和缺点 ...