11.16.2.6 获取端口状态

    此请求返回当前端口状态以及端口状态变更位的当前值。

    bmRequestType bRequest wValue wIndex wLength 数据
    10100011B GET_STATUS 端口号 端口状态及变更指示符

    端口号必须是该集线器的一个有效端口号(大于零)。

    数据的第一个字包含 wPortStatus(参见表 11-15)。数据的第二个字包含 wPortChange(参见表 11-16)。

    wPortStatus 和 wPortChange 字段中的位位置在适用情况下以一一对应的方式关联。

    如果 wValue 或 wLength 的值与上述规定不符,或者 wIndex 指定的端口不存在,则为请求错误。

    如果集线器未完成配置,则其对此请求的响应是未定义的。

    11.16.2.6.1 端口状态位

    表 11-15. 端口状态字段 wPortStatus

    描述
    0 当前连接状态 (PORT_CONNECTION):
    此字段反映当前是否有设备连接到此端口。
    0 = 无设备连接
    1 = 有设备连接到此端口
    1 端口启用/禁用 (PORT_ENABLE):
    端口只能由 USB 系统软件启用。端口可因故障条件(断开连接事件或其他故障条件)或由 USB 系统软件禁用。
    0 = 端口已禁用
    1 = 端口已启用
    2 挂起 (PORT_SUSPEND):
    此字段指示此端口上的设备是否处于挂起状态。设置此字段将通过不向下游传播总线流量使设备挂起。此字段可通过请求或端口连接设备发出的恢复信号来复位。
    0 = 未挂起
    1 = 已挂起或正在恢复中
    3 过流指示器 (PORT_OVER_CURRENT):
    如果集线器按端口报告过流情况,此字段将指示端口上的电流消耗已超过规定最大值。有关更多详细信息,请参见第 7.2.1.2.1 节。
    0 = 此端口不存在过流情况
    1 = 此端口存在过流情况
    4 复位 (PORT_RESET):
    当主机希望复位连接的设备时设置此字段。它将保持设置状态,直到集线器停止复位信令。
    0 = 未激活复位信令
    1 = 已激活复位信令
    5-7 保留
    读取时这些位返回 0。
    8 端口电源 (PORT_POWER):
    此字段反映端口的逻辑电源控制状态。由于集线器可以实现不同的端口电源切换方法,此字段可能代表也可能不代表端口是否已供电。设备描述符报告了集线器实现的电源切换类型。
    0 = 此端口处于断电状态
    1 = 此端口不处于断电状态
    9 连接低速设备 (PORT_LOW_SPEED):
    此字段仅在连接设备时相关。
    0 = 此端口连接了全速设备
    1 = 此端口连接了低速设备
    10-15 保留
    读取时这些位返回 0。