USB2.0规范
+ -

USB 读取状态GetStatus

2020-09-30 3801 0
ID 请求码 说明
0 GET_STATUS 用来返回特定接收者的状态

GetStatus请求主要用于USB主机读取USB设备、接口或端点的状态。USB设备返回2字节的设备状态。

读取设备

请求数据

bmRequestType(1) bRequest(1) wValue(2) wIndex(2) wLength(2)
80 00 0000 0000 0002
  • bmRequestType:0x80表示从设备到主机,请求标准命令,接收者为设备
  • bRequest:0x00表示获取状态
  • wLength:0x02,表示返回数据为2字节。

返回数据

D15-D2 D1 D0
保留为0 远程唤醒 自供电

读取接口

请求数据

bmRequestType(1) bRequest(1) wValue(2) wIndex(2) wLength(2)
81 00 0000 接口ID 0002
  • bmRequestType:0x81表示从设备到主机,请求标准命令,接收者为接口
  • bRequest:0x00表示获取状态
  • wIndex:配置描述符续中的接口ID
  • wLength:0x02,表示返回数据为2字节。

返回数据

D15-D0
保留为0

读取端点

请求数据

bmRequestType(1) bRequest(1) wValue(2) wIndex(2) wLength(2)
82 00 0000 端点地址 0002
  • bmRequestType:0x82表示从设备到主机,请求标准命令,接收者为端点
  • bRequest:0x00表示获取状态
  • wIndex:配置描述符中的端点地址
  • wLength:0x02,表示返回数据为2字节。

返回数据

D15-D1 D0
保留为0 是否端点已经停止(1停止,0未停止)
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 2.0 协议中J、K、SE0状态的定义
在USB 2.0协议中经常会看到以下术语:Chirp K、KJ序列、SE0。这里的状态是根据低速、全速/高速下设备D+和D-上不同的电平信号来决定的。1、J态、K态、SE0,SE1信号转换状态状态Low speed (D+ pull-up)Low speed (D− pull-up)......
USB 读取状态GetStatus
ID请求码说明0GET_STATUS用来返回特定接收者的状态GetStatus请求主要用于USB主机读取USB设备、接口或端点的状态。USB设备返回2字节的设备状态。读取设备请求数据bmRequestType(1)bRequest(1)wValue(2)wIndex(2)wLength(2)8000......
USB超高速 GEN1设备状态
USB设备可能有很多状态,如断开状态,刚接入状态,分配地址状态,配置状态,工作状态等。当然由于USB3.0超高速协议规范的定义,USB超高速总线架构采用的是双总线结构。超高速设备的状态如下:AttachedPoweredDefaultAddressConfiguredSuspendedStateNo......
DirectShow 过滤器的状态
过滤器有三种可能的状态:停止、暂停和运行。暂停状态的目的是提示图形中的数据,以便run命令立即响应。过滤器图形管理器控制所有状态转换。当应用程序调用IMediaControl::Run、IMediaControl::Pause或IMediaControl::Stop时,图形过滤管理器会在所有过滤器上......
USB集线器HUB的枚举过程及集线器状态
USB集线器和其他USB设备一样,都需要在上电时进行配置。在USB协议中,使用默认的端0点。进行上电初期的通信。USB集线器除了配置其自身外,还需要对下行端口连接的其他USB设备进行识别。USB集线器HUB枚举过程USB集线器的上电配置过程如下:USB集线器连接到USB主机的根集线器上。USB......
BOT 命令状态包CSW
CSW 应从包的边界开始,在传输了 13 个字节以后结束, CSW 的说明如下表:struct CSW{ DWORD dCSWSignature; // CSW的标识,固定值:53425355h (小端模式) DWORD dCSWTag; //主机发送的一个命令块标......
USB2.0设备连接状态的检测
USB设备支持即插即用,所以对于USB主机端,一个重要的特性就是USB设备的动态连接检测。USB主机端支持设备的连接状态的检测,是需要USB设备的配合的。USB主机端与USB设备端相互配合,实现了USB设备的连接状态检测。USB2.0设备接口电路图我们知道,2.0设备USB引脚接线定义分为四根线,......
USB2.0设备断开状态的检测
相对于USB设备的连接检测,USB设备断开的检测也很重要,也更加的隐晦。USB设备断开的检测不仅包含USB主机检测到其与设备的断开,也包含USB设备检测到其与主机的连接断开。对于USB主机来说,如果不能正确的识别设备的断开,从而无法回收已经断开的设备使用的资源,将会导致资源的浪费,这种资源的浪费......
USB状态错误码USBD_STATUS对照表
USBDI.H定义了一组USB_STATUS_XXX的值. 这些值是从URB的状态字段是对IRP_MJ_INTERNAL_DEVICE_CONTROL调用的USB传输状态返回标识。USBD将URB状态码映射到有效的NTSTATUS码中(但具体详情还得看USBD_STAUTS_XXX的值),在完成IR......
USB2.0 D+和D-的差分信号J、K状态和Chirp J和Chirp K状态
J、K信号状态表示D+和D-两根差分信号数据线的数据发送状态。J、K状态在全速或者低速的模式下,当接收端收检测到D+信号线的电压比D-信号线的电压高出200mV时,表示差分信号“1”,当当接收端收检测到D-信号线的电压比D+信号线的电压高出200mV时,表示差分信号“0”.在高速的模式下,当接收......
USB2.0 控制传输数据包PID序列
USB数据包的PID序列指的不是数据包的PID序列,特指DATA0,DATA1,DATA2和MDATA的PID序列,即USB在数据传输过程中这些数据包的顺序。USB的数据传输分为四种,分别为控制传输、同步传输、批量传输和中断传输。这四种数据传输方式除过控制传输,其余数据的传输过程都是通过IN事务或者......
USB设备枚举状态
USB设备枚举是USB主机检测设备存在,并执行一系列的操作以确保将设备端点添加到主机服务端点列表的过程。设备检测新的全速、高速或低速设备的存在可通过 D- 或 D+ 信号的变化来识别。低速设备将 5 V 置于 D- 上,高速和全速设备将 5 V 置于 D+ 上。连接信号由集线器检测并报告给主机。......
Windows驱动中USB获取端口状态
Windows驱动中USB获取端口状态NTSTATUS HumGetPortStatus(IN PDEVICE_OBJECT DeviceObject, IN PULONG PortStatus){ NTSTATUS ntStatus; PIRP irp; KEVENT ......
虚拟USB设备状态错误信息:This device cannot start. (Code 10)
记个错误的笔记:在原来虚拟USB的设备上需要进行修改,没想到还是翻车了。这个问题应该还是很常见的,就是从设备管理器中查看该设备的状态,显示设备启动失败。设备的状态信息显示:This device cannot start. (Code 10)An invalid parameter was......
HID设备空闲态的状态检测
在HIDCLASS.SYSS中使用一个一个周期为1秒间隔的定时器来周期性地检查设备空闲检测。#define HID_IDLE_SCAN_INTERVAL 1scanTime = RtlConvertLongToLargeInteger(-10*1000*1000 * HID_IDLE_SCAN_......
关注公众号
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

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

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