USB2.0集线器HUB
+ -

USB集线器类特定描述符-集线器类描述符

2023-04-12 383 0

除过USB标准的描述符外,USB集线器也定义了一个特别的集线器类描述符。

BUSHOUND抓不到该描述符的请求。

USB集线器类描述符的结构体定义如下:

typedef struct _USB_HUB_DESCRIPTOR {
    UCHAR   bDescriptorLength;
    UCHAR   bDescriptorType;
    UCHAR   bNumberOfPorts;
    USHORT  wHubCharacteristics;
    UCHAR   bPowerOnToPowerGood;
    UCHAR   bHubControlCurrent[bNumberOfPorts];
    UCHAR   bRemoveAndPowerMask[64];
} USB_HUB_DESCRIPTOR, *PUSB_HUB_DESCRIPTOR;
  • bDescriptorLength:描述符的总长度。
  • bDescriptorType:描述符为类型,固定为0x29.
  • bNumberOfPorts:USB集线器支持的下游端口数量。
  • wHubCharacteristics:集线器HUB特性,详见后续。
  • bPwrOn2PwrGood:从通电正常工作所需的时间,以2ms为单位。
  • bHubControlCurrent:集线器正常工作所需的最大电流,以1mA为单位。
  • DeviceRemovable:指定了各个端口是否可动态移除。0了可移除,1为不可移除。

    • BIT0:保留
    • BIT1:下游端口1是否可移除。
    • BIT2:下游端口2是否可移除。
    • BITn:下游端口n是否可移除。n最大为255。
  • PortPwrCtrlMask:为了兼容USB1.0所保留字段。各位应全为1,位数应是8的整数倍。

wHubCharacteristics

D1…D0: Logical Power Switching Mode
00: Ganged power switching (all ports’ power atonce)
01: Individual port power switching
1X: Reserved. Used only on 1.0 compliant hubs that implement no power switching

D2: Identifies a Compound Device
0: Hub is not part of a compound device.
1: Hub is part of a compound device.

D4…D3: Over-current Protection Mode
00: Global Over-current Protection. The hub reports over-current as a summation of all ports’ current draw, without a breakdown of individual port over-current status.
01: Individual Port Over-current Protection. The hub reports over-current on a per-port basis.
Each port has an over-current status.
1X: No Over-current Protection. This option is allowed only for bus-powered hubs that do not implement over-current protection.

D6…D5: TT Think TIme
00: TT requires at most 8 FS bit times of inter transaction gap on a full-/low-speed downstream bus.
01: TT requires at most 16 FS bit times.
10: TT requires at most 24 FS bit times.
11: TT requires at most 32 FS bit times.

D7: Port Indicators Supported
0: Port Indicators are not supported on its downstream facing ports and the PORT_INDICATOR request has no effect.
1: Port Indicators are supported on its downstream facing ports and the PORT_INDICATOR request controls the indicators. See Section 11.5.3.

D15…D8: Reserved

USB集线器类描述符示例

        ------------------- USB Hub Descriptor -----------------
bDescriptorLength        : 0x09 (9 bytes)
bDescriptorType          : 0x29 (Hub Descriptor)
bNumberOfPorts           : 0x04 (4 Ports)  Hint: Ports 0 does not exist
wHubCharacteristics      : 0x0000
 Power switching         : Ganged
 Compound device         : No
 Over-current protection : Global
 TT Think Time           : At most 8 FS bit times
 Port Indicators         : Not supported
bPowerOnToPowerGood      : 0x32 (100 ms)
bHubControlCurrent       : 0x64 (100 mA)
DeviceRemovable          : 0x00
 Bit 0                   : 0 (reserved, any value)
 Bit 1                   : 0 (Device at Port 1 is removable)
 Bit 2                   : 0 (Device at Port 2 is removable)
 Bit 3                   : 0 (Device at Port 3 is removable)
 Bit 4                   : 0 (Device at Port 4 is removable)
 Bit 5                   : 0 (unused, must be 0)
 Bit 6                   : 0 (unused, must be 0)
 Bit 7                   : 0 (unused, must be 0)
PowerControlMask         : 0xFF
Data (HexDump)           : 09 29 04 00 00 32 64 00 FF                        .)...2d..
HubIsBusPowered          : 0x00 (Self Powered)
HID人机交互QQ群:564808376    UAC音频QQ群:218581009    UVC相机QQ群:331552032    BOT&UASP大容量存储QQ群:258159197    STC-USB单片机QQ群:315457461    USB技术交流QQ群2:580684376    USB技术交流QQ群:952873936   

0 篇笔记 写笔记

USB设备和USB集线器HUB的数据传输
USB高速集线器与USB根集线器之间只通过USB使用USB高速通讯讯方式,而对于低速或全速的数据通讯的转换是由其挂接的最近的USB-HUB负责完成转换。如下图:对于USB高速设备和USB高速HUB,使用高速通讯。对于连接到高速HUB上的低速或全速USB-HUB,使用低速或全速通讯方式。对于连接到高速......
USB 集线器HUB
通过USB集线器,可以很简单的实现主机扩展USB设备的数量。在USB协议规范中,USB集线器作为了一种特殊的设备在存在,USB规范专门为其定义了一种设备类。USB集线器的结钩集线器由6个组件组成:上行端口:用于连接上层的USB集线器或者根集线器。下行端口:用于连接下层的USB功能设备或扩展的U......
USB主机端控制器集线器与USB设备类型分类
USB根据设备功能及类型,可以分USB主机端,USB设备端。USB主机端-USB hostUSB主机端也叫USB控制器,包括两大部分,分别为与系统总线进行数据交互的USB控制器和USB总线的根集线器。一个USB主机端就是一个独立的USB总线,其按USB版本可分为OHCI,UHCI,EHCI,xHC......
USB设备与集线器最大可以级联多少层
在USB2.0规范中,定义了USB设备与集线器最大可以级联7层(包括根集线器),即根集线器之设备之间最多有5个继集线器。注意:有一个USB复合(compound)设备,其本身是一个USB集线器并接连1个或多个USB功能设备,这里需要将这个USB集线器算在内。......
USB集线器HUB的枚举过程及集线器状态
USB集线器和其他USB设备一样,都需要在上电时进行配置。在USB协议中,使用默认的端0点。进行上电初期的通信。USB集线器除了配置其自身外,还需要对下行端口连接的其他USB设备进行识别。USB集线器HUB枚举过程USB集线器的上电配置过程如下:USB集线器连接到USB主机的根集线器上。USB......
USB HUB集线器芯片选型
型号TT模式过流检测工作温度封装 CH334GSTT--40~85℃SOP16 CH334RMTT--40~85℃QSOP16 CH334U/FMTTGANG模式-40~85℃QSOP28/QFN24_4x4 CH334S/Q......
USBIP虚拟控制器和根集线器HUB的设备信息分析
USBIP是一套可以实现USB远程设备的本机映射,这样就像在本地操作目标USB设备一样。其原理是在本地端通过安装一个虚拟的USB根控制器,根集线器,同时虚拟出4个USB端口,当远程USB设备连接到远程机器时,可以把远程设备的USB信息通过网络传输到本地,在本地的虚拟USB端口虚拟一个相同的设备,这样......
USBIP 设备树层次分析
通过前面知道,usbip_vhci工程实现的是pnp管理器虚拟出来的PDO的FDO,但同样也是这个FDO创建的PDO虚拟根USB控制器和其子设备HUB的驱动程序。USBIP设备硬件ID名称sys文件inf文件硬件IDusbip-win VHIC Rootusbip_vhic......
USBIP 集线器PDO(VDEV_HPDO)的初始化过程
USB集线器其实也是USB设备的一类,其设备分类分类为0x09。和USBIP虚拟的控制器(VDEV_CPDO)类似,USB控制器创建了其PDO之后,会通过IRP_MN_QUERY_DEVICE_RELATIONS返回USB集线器HUB的PDO设备列表。PNP管理器收到有新的设备之后,会开始收集这个P......
USBIP 虚拟集线器FDO子设备的管理
IRP_MN_QUERY_DEVICE_RELATIONS这得从IRP_MN_QUERY_DEVICE_RELATIONS来谈起,好像有点看的不是很明白。先把上一节的代码复制过来,看一下:static PAGEABLE NTSTATUSget_bus_relations_vhub(pvhub_d......
USBIP 虚拟集线器FDO(VDEV_VHUB )的初始化
AddDevice执行vhci_add_device,返回的设备类型为VDEV_VHUB,集线器HUB的FDO类型。然后初始化HUB的FDO,使用init_dev_vhub(vdev);函数实现static PAGEABLE voidinit_dev_vhub(pvdev_t vdev){ ......
一台电脑上最多可以连接多少台USB设备?
从理论上来讲,一个USB控制器下最多可以连接127个USB设备,不过这也只是理论。实际上由于INTER硬件设计上的缺陷,根本达不到这么多。每个USB设备最多可以定义32个端点(16个输入和16个输出,但必须是一对控制端点),但大多数设备只定义2或3个端点(例如数据输入、数据输出和一个控制端点)。集......
USB3.2集线器设备描述符
USB集线器设备描述符的定义和USB设备的描述符定义一致,详见:http://www.usbzh.com/article/detail-104.html =========================== USB Port20 ===========================......
USB2.0集线器功能模块及设备连接路由
USB集线器HUB用于在USB设备与主机之间建立起连接的桥梁。所以USB设备都是通过USB集线器连接到USB主机。为了让用户更加方便简洁地使用USB设备,USB集线器和USB主机实现了很多复杂的幕后工作,从而大大提高了USB设备的使用和开发的友好性。USB集线器必须支持的功能如下:连接行为C......
USB2.0集线器的连接行为
USB2.0集线器的连接行为Connectivity behavior表现出的各种不同的连接行为,决于它们是否在传输数据包、恢复信号或者空闲状态。一个USB集线器包含一个上游端口(用于连接上级HUB或USB控制器)和多个下游端口(用于连接下游设备)。上游连接定义为朝向主机,下游连接定义为朝向设备。......
关注公众号
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

您的支持,是我们前进的动力!