博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
(三) 查看USB设备
阅读量:6167 次
发布时间:2019-06-21

本文共 13243 字,大约阅读时间需要 44 分钟。

目录


title: 查看USB设备

date: 2019/4/23 19:10:00
toc: true
---

查看USB设备

lsusb

# 列出所有设备$ lsusbBus 001 Device 002: ID 05a3:9310 ARC InternationalBus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hubBus 002 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB HubBus 002 Device 002: ID 0e0f:0003 VMware, Inc. Virtual MouseBus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub# 打印指定USB设备的具体的描述符 -d 指定usb -v 显示详细信息lsusb -d 05a3:9310 -v

ll /sys/bus/usb/devices

其中 usbx/第x个总线,x-y:a.b/的目录格式,x表示总线号,y表示端口,a表示配置,b表示接口。 更详细的子目录查看

book@100ask:/sys/bus/usb/devices$ cd /sys/bus/usb/devicesbook@100ask:/sys/bus/usb/devices$ ls1-0:1.0  1-1  1-1:1.0  1-1:1.1  1-1:1.2  1-1:1.3  2-0:1.0  2-1  2-1:1.0  2-2  2-2:1.0  usb1  usb2book@100ask:/sys/bus/usb/devices$ ll总用量 0drwxr-xr-x 2 root root 0 4月  18 18:04 ./drwxr-xr-x 4 root root 0 4月  18 17:29 ../lrwxrwxrwx 1 root root 0 4月  18 17:29 1-0:1.0 -> ../../../devices/pci0000:00/0000:00:11.0/0000:02:03.0/usb1/1-0:1.0/lrwxrwxrwx 1 root root 0 4月  18 18:04 1-1 -> ../../../devices/pci0000:00/0000:00:11.0/0000:02:03.0/usb1/1-1/lrwxrwxrwx 1 root root 0 4月  18 18:04 1-1:1.0 -> ../../../devices/pci0000:00/0000:00:11.0/0000:02:03.0/usb1/1-1/1-1:1.0/lrwxrwxrwx 1 root root 0 4月  18 18:04 1-1:1.1 -> ../../../devices/pci0000:00/0000:00:11.0/0000:02:03.0/usb1/1-1/1-1:1.1/lrwxrwxrwx 1 root root 0 4月  18 18:04 1-1:1.2 -> ../../../devices/pci0000:00/0000:00:11.0/0000:02:03.0/usb1/1-1/1-1:1.2/lrwxrwxrwx 1 root root 0 4月  18 18:04 1-1:1.3 -> ../../../devices/pci0000:00/0000:00:11.0/0000:02:03.0/usb1/1-1/1-1:1.3/lrwxrwxrwx 1 root root 0 4月  18 17:29 2-0:1.0 -> ../../../devices/pci0000:00/0000:00:11.0/0000:02:00.0/usb2/2-0:1.0/lrwxrwxrwx 1 root root 0 4月  18 17:29 2-1 -> ../../../devices/pci0000:00/0000:00:11.0/0000:02:00.0/usb2/2-1/lrwxrwxrwx 1 root root 0 4月  18 17:29 2-1:1.0 -> ../../../devices/pci0000:00/0000:00:11.0/0000:02:00.0/usb2/2-1/2-1:1.0/lrwxrwxrwx 1 root root 0 4月  18 17:29 2-2 -> ../../../devices/pci0000:00/0000:00:11.0/0000:02:00.0/usb2/2-2/lrwxrwxrwx 1 root root 0 4月  18 17:29 2-2:1.0 -> ../../../devices/pci0000:00/0000:00:11.0/0000:02:00.0/usb2/2-2/2-2:1.0/lrwxrwxrwx 1 root root 0 4月  18 17:29 usb1 -> ../../../devices/pci0000:00/0000:00:11.0/0000:02:03.0/usb1/lrwxrwxrwx 1 root root 0 4月  18 17:29 usb2 -> ../../../devices/pci0000:00/0000:00:11.0/0000:02:00.0/usb2/

cat /sys/kernel/debug/usb/devices

信息的详细解析可以参照 Linux源代码中 Documentation/usb/proc_usb_info.txt 文件

book@100ask:/sys/bus/usb/devices$ sudo cat  /sys/kernel/debug/usb/devices[sudo] book 的密码:T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480  MxCh= 6B:  Alloc=  0/800 us ( 0%), #Int=  0, #Iso=  0D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1P:  Vendor=1d6b ProdID=0002 Rev= 4.13S:  Manufacturer=Linux 4.13.0-36-generic ehci_hcdS:  Product=EHCI Host ControllerS:  SerialNumber=0000:02:03.0C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mAI:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hubE:  Ad=81(I) Atr=03(Int.) MxPS=   4 Ivl=256msT:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=480  MxCh= 0D:  Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs=  1P:  Vendor=05a3 ProdID=9310 Rev= 0.00S:  Manufacturer=HD Camera ManufacturerS:  Product=USB 2.0 CameraC:* #Ifs= 4 Cfg#= 1 Atr=80 MxPwr=500mAA:  FirstIf#= 0 IfCount= 2 Cls=0e(video) Sub=03 Prot=00A:  FirstIf#= 2 IfCount= 2 Cls=01(audio) Sub=00 Prot=00I:* If#= 0 Alt= 0 #EPs= 1 Cls=0e(video) Sub=01 Prot=00 Driver=uvcvideoE:  Ad=83(I) Atr=03(Int.) MxPS=  16 Ivl=4msI:* If#= 1 Alt= 0 #EPs= 0 Cls=0e(video) Sub=02 Prot=00 Driver=uvcvideoI:  If#= 1 Alt= 1 #EPs= 1 Cls=0e(video) Sub=02 Prot=00 Driver=uvcvideoE:  Ad=81(I) Atr=05(Isoc) MxPS= 128 Ivl=125usI:  If#= 1 Alt= 2 #EPs= 1 Cls=0e(video) Sub=02 Prot=00 Driver=uvcvideoE:  Ad=81(I) Atr=05(Isoc) MxPS= 256 Ivl=125usI:  If#= 1 Alt= 3 #EPs= 1 Cls=0e(video) Sub=02 Prot=00 Driver=uvcvideoE:  Ad=81(I) Atr=05(Isoc) MxPS= 800 Ivl=125usI:  If#= 1 Alt= 4 #EPs= 1 Cls=0e(video) Sub=02 Prot=00 Driver=uvcvideoE:  Ad=81(I) Atr=05(Isoc) MxPS=1600 Ivl=125usI:  If#= 1 Alt= 5 #EPs= 1 Cls=0e(video) Sub=02 Prot=00 Driver=uvcvideoE:  Ad=81(I) Atr=05(Isoc) MxPS=2400 Ivl=125usI:  If#= 1 Alt= 6 #EPs= 1 Cls=0e(video) Sub=02 Prot=00 Driver=uvcvideoE:  Ad=81(I) Atr=05(Isoc) MxPS=3072 Ivl=125usI:* If#= 2 Alt= 0 #EPs= 0 Cls=01(audio) Sub=01 Prot=00 Driver=snd-usb-audioI:* If#= 3 Alt= 0 #EPs= 0 Cls=01(audio) Sub=02 Prot=00 Driver=snd-usb-audioI:  If#= 3 Alt= 1 #EPs= 1 Cls=01(audio) Sub=02 Prot=00 Driver=snd-usb-audioE:  Ad=84(I) Atr=05(Isoc) MxPS= 400 Ivl=1msT:  Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12   MxCh= 2B:  Alloc= 17/900 us ( 2%), #Int=  1, #Iso=  0D:  Ver= 1.10 Cls=09(hub  ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1P:  Vendor=1d6b ProdID=0001 Rev= 4.13S:  Manufacturer=Linux 4.13.0-36-generic uhci_hcdS:  Product=UHCI Host ControllerS:  SerialNumber=0000:02:00.0C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mAI:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hubE:  Ad=81(I) Atr=03(Int.) MxPS=   2 Ivl=255msT:  Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=12   MxCh= 0D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1P:  Vendor=0e0f ProdID=0003 Rev= 1.03S:  Manufacturer=VMwareS:  Product=VMware Virtual USB MouseC:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=  0mAI:* If#= 0 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=01 Prot=02 Driver=usbhidE:  Ad=81(I) Atr=03(Int.) MxPS=   8 Ivl=1msT:  Bus=02 Lev=01 Prnt=01 Port=01 Cnt=02 Dev#=  3 Spd=12   MxCh= 7D:  Ver= 1.10 Cls=09(hub  ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1P:  Vendor=0e0f ProdID=0002 Rev= 1.00S:  Product=VMware Virtual USB HubC:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mAI:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hubE:  Ad=81(I) Atr=03(Int.) MxPS=   1 Ivl=255ms

解析如下

Each line is tagged with a one-character ID for that line:T = Topology (etc.)B = Bandwidth (applies only to USB host controllers, which are    virtualized as root hubs)D = Device descriptor info.P = Product ID info. (from Device descriptor, but they won't fit    together on one line)S = String descriptors.C = Configuration descriptor info. (* = active configuration)I = Interface descriptor info.E = Endpoint descriptor info.Legend:  d = decimal number (may have leading spaces or 0's)  x = hexadecimal number (may have leading spaces or 0's)  s = stringTopology info:T:  Bus=dd Lev=dd Prnt=dd Port=dd Cnt=dd Dev#=ddd Spd=dddd MxCh=dd|   |      |      |       |       |      |        |        |__MaxChildren|   |      |      |       |       |      |        |__Device Speed in Mbps|   |      |      |       |       |      |__DeviceNumber|   |      |      |       |       |__Count of devices at this level|   |      |      |       |__Connector/Port on Parent for this device|   |      |      |__Parent DeviceNumber|   |      |__Level in topology for this bus|   |__Bus number|__Topology info tag    Speed may be:        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)    For reasons lost in the mists of time, the Port number is always    too low by 1.  For example, a device plugged into port 4 will    show up with "Port=03".Bandwidth info:B:  Alloc=ddd/ddd us (xx%), #Int=ddd, #Iso=ddd|   |                       |         |__Number of isochronous requests|   |                       |__Number of interrupt requests|   |__Total Bandwidth allocated to this bus|__Bandwidth info tag    Bandwidth allocation is an approximation of how much of one frame    (millisecond) is in use.  It reflects only periodic transfers, which    are the only transfers that reserve bandwidth.  Control and bulk    transfers use all other bandwidth, including reserved bandwidth that    is not used for transfers (such as for short packets).    The percentage is how much of the "reserved" bandwidth is scheduled by    those transfers.  For a low or full speed bus (loosely, "USB 1.1"),    90% of the bus bandwidth is reserved.  For a high speed bus (loosely,    "USB 2.0") 80% is reserved.Device descriptor info & Product ID info:D:  Ver=x.xx Cls=xx(s) Sub=xx Prot=xx MxPS=dd #Cfgs=ddP:  Vendor=xxxx ProdID=xxxx Rev=xx.xxwhereD:  Ver=x.xx Cls=xx(sssss) Sub=xx Prot=xx MxPS=dd #Cfgs=dd|   |        |             |      |       |       |__NumberConfigurations|   |        |             |      |       |__MaxPacketSize of Default Endpoint|   |        |             |      |__DeviceProtocol|   |        |             |__DeviceSubClass|   |        |__DeviceClass|   |__Device USB version|__Device info tag #1whereP:  Vendor=xxxx ProdID=xxxx Rev=xx.xx|   |           |           |__Product revision number|   |           |__Product ID code|   |__Vendor ID code|__Device info tag #2String descriptor info:S:  Manufacturer=ssss|   |__Manufacturer of this device as read from the device.|      For USB host controller drivers (virtual root hubs) this may|      be omitted, or (for newer drivers) will identify the kernel|      version and the driver which provides this hub emulation.|__String info tagS:  Product=ssss|   |__Product description of this device as read from the device.|      For older USB host controller drivers (virtual root hubs) this|      indicates the driver; for newer ones, it's a product (and vendor)|      description that often comes from the kernel's PCI ID database.|__String info tagS:  SerialNumber=ssss|   |__Serial Number of this device as read from the device.|      For USB host controller drivers (virtual root hubs) this is|      some unique ID, normally a bus ID (address or slot name) that|      can't be shared with any other device.|__String info tagConfiguration descriptor info:C:* #Ifs=dd Cfg#=dd Atr=xx MPwr=dddmA| | |       |       |      |__MaxPower in mA| | |       |       |__Attributes| | |       |__ConfiguratioNumber| | |__NumberOfInterfaces| |__ "*" indicates the active configuration (others are " ")|__Config info tag    USB devices may have multiple configurations, each of which act    rather differently.  For example, a bus-powered configuration    might be much less capable than one that is self-powered.  Only    one device configuration can be active at a time; most devices    have only one configuration.    Each configuration consists of one or more interfaces.  Each    interface serves a distinct "function", which is typically bound    to a different USB device driver.  One common example is a USB    speaker with an audio interface for playback, and a HID interface    for use with software volume control.Interface descriptor info (can be multiple per Config):I:* If#=dd Alt=dd #EPs=dd Cls=xx(sssss) Sub=xx Prot=xx Driver=ssss| | |      |      |       |             |      |       |__Driver name| | |      |      |       |             |      |          or "(none)"| | |      |      |       |             |      |__InterfaceProtocol| | |      |      |       |             |__InterfaceSubClass| | |      |      |       |__InterfaceClass| | |      |      |__NumberOfEndpoints| | |      |__AlternateSettingNumber| | |__InterfaceNumber| |__ "*" indicates the active altsetting (others are " ")|__Interface info tag    A given interface may have one or more "alternate" settings.    For example, default settings may not use more than a small    amount of periodic bandwidth.  To use significant fractions    of bus bandwidth, drivers must select a non-default altsetting.    Only one setting for an interface may be active at a time, and    only one driver may bind to an interface at a time.  Most devices    have only one alternate setting per interface.Endpoint descriptor info (can be multiple per Interface):E:  Ad=xx(s) Atr=xx(ssss) MxPS=dddd Ivl=dddss|   |        |            |         |__Interval (max) between transfers|   |        |            |__EndpointMaxPacketSize|   |        |__Attributes(EndpointType)|   |__EndpointAddress(I=In,O=Out)|__Endpoint info tag    The interval is nonzero for all periodic (interrupt or isochronous)    endpoints.  For high speed endpoints the transfer interval may be    measured in microseconds rather than milliseconds.    For high speed periodic endpoints, the "MaxPacketSize" reflects    the per-microframe data transfer size.  For "high bandwidth"    endpoints, that can reflect two or three packets (for up to    3KBytes every 125 usec) per endpoint.    With the Linux-USB stack, periodic bandwidth reservations use the    transfer intervals and sizes provided by URBs, which can be less    than those found in endpoint descriptor.

dmesg

#sudo rmmod uvcvideo#sudo modprobe uvcvideo#dmesg [ 5066.889529] usbcore: deregistering interface driver uvcvideo[ 5146.884778] uvcvideo: Found UVC 1.00 device USB 2.0 Camera (05a3:9310)[ 5146.904548] uvcvideo 1-1:1.0: Entity type for entity Extension 4 was not initialized![ 5146.904550] uvcvideo 1-1:1.0: Entity type for entity Processing 3 was not initialized![ 5146.904551] uvcvideo 1-1:1.0: Entity type for entity Camera 1 was not initialized![ 5146.905329] input: USB 2.0 Camera: HD USB Camera as /devices/pci0000:00/0000:00:11.0/0000:02:03.0/usb1/1-1/1-1:1.0/input/input7[ 5146.905954] usbcore: registered new interface driver uvcvideo[ 5146.905955] USB Video Class driver (1.1.1)

转载于:https://www.cnblogs.com/zongzi10010/p/10764125.html

你可能感兴趣的文章
大数据未来将呈现的八大发展趋势
查看>>
cm 升级
查看>>
创建数据库快照并恢复数据
查看>>
我的友情链接
查看>>
APP抓包——Fiddler工具
查看>>
java 图片处理
查看>>
博主制作的开源JAVA WEB游戏-《天命.罗生门》
查看>>
Windows软链脚本
查看>>
IOS开发之异步加载网络图片并缓存本地实现瀑布流(二)
查看>>
足球赛事球员信息api
查看>>
那些年我们经历过的运维
查看>>
安装带有调试信息的C库
查看>>
迷宫的基本实现
查看>>
Ajax跨域请求问题
查看>>
topic4:Qt入门之常用qt控件认知之Button系列
查看>>
jstack:Java堆栈跟踪工具
查看>>
源码安装 python3
查看>>
获取当前fragment
查看>>
linux centeros 7.4 修改主机名
查看>>
关于程序员,你知道的有多少?
查看>>