阅读:1213回复:0
关于USB 通信的数据包问题
用bus hound 捕获了些数据
里面有些专有名词还不是很懂。 1、IRP 为I/O请求包 STAK 是不是IRP的存放位置? 从bus hound 捕获的数据来看,IRP和STAK是成对出现的(一前一后),那么它们在USB数据 传输中起到什么作用? 2、URB,它在USB 传输过程中起什么作用?跟IRP它们有联系吗? 3、LEN为数据长度,一般在DI/DO前面出现。LEN(数据长度)受谁控制? 比如说有时候会看到get_report 要求传回的68个字节,但是LEN的数据长度却只显示 24个字节。结果传回24个字节。但是在set_report,get_discriptor 或者get_status的时 候,LEN数据长度与它们指定的描述符数据长度吻合。传回的结果也证明了这一点。为何它 们会有不同? 4、哪些命令是主机对USB的控制命令,是CTL阶段的命令吗?URB 阶段的命令起什么作用呢? 谢谢:) |
|