seu_zhufeng
驱动牛犊
驱动牛犊
  • 注册日期2004-01-02
  • 最后登录2006-07-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1773回复:12

关于Get Descriptor

楼主#
更多 发布于:2004-05-25 09:44
要求返回长度为0x100,但是所有的描述府加起来也就只有50啊,我是发50个字节过去,还是发256个字节过去呢?

最新喜欢:

lhaihlhaih
sxbsy_hj
驱动牛犊
驱动牛犊
  • 注册日期2003-03-03
  • 最后登录2004-06-02
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-05-25 11:12
具体的长度应该是看wLength,如果长度长与描述符的长度,接收完描述符后,可以不管!随便问一句,在DOS环境下,没有驱动的帮助,如何读取USB的设备描述符?
hustdj
驱动牛犊
驱动牛犊
  • 注册日期2003-06-06
  • 最后登录2008-07-02
  • 粉丝0
  • 关注0
  • 积分40分
  • 威望5点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-05-25 15:55
具体的长度应该是看wLength,如果长度长与描述符的长度,接收完描述符后,可以不管!随便问一句,在DOS环境下,没有驱动的帮助,如何读取USB的设备描述符?


那就需要自己做驱动了。而且要从最底层做起
seu_zhufeng
驱动牛犊
驱动牛犊
  • 注册日期2004-01-02
  • 最后登录2006-07-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-05-25 16:04
现在我的枚举情况:
1。收到8字节setup包,由于某个问题(暂时不清楚),数据包内容如下:
buf[0] = 80
buf[1] = 6
buf[2] = 0
buf[3] = 1
buf[4] = 80
buf[5] = 6
buf[6] = 0
buf[7] = 1
但是在bushound上看不见。
这个数据应该是有问题的,正常情况应该是
buf[0] = 80
buf[1] = 6
buf[2] = 0
buf[3] = 1
buf[4] = 0
buf[5] = 0
buf[6] = 40
buf[7] = 0

这个问题先掠过。然后就是判断为device descriptor命令,首先值返回前8个字节,bushounds上可以看见DI
8  CTL    23 01 14 00 - 01 00 00 00
8  DI     12 01 00 01 - ff ff ff 08

然后就host reset了?这时候reset正常么? 主机是否收到这8个字节了那
hustdj
驱动牛犊
驱动牛犊
  • 注册日期2003-06-06
  • 最后登录2008-07-02
  • 粉丝0
  • 关注0
  • 积分40分
  • 威望5点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-05-25 16:17
8 CTL 23 01 14 00 - 01 00 00 00
不是get descriptor命令。

get descriptor命令为


CTL    80 06 00 01-00 00 12 00  GET DESCRIPTR  (device descriptor)      
DI     12 01 10 01- 00 00 00 40-ab 05 30 00- 10 01 01 02  ....
CTL    80 06 00 02-00 00 09 00  GET DESCRIPTR (config descriptor)      
DI     (略)
CTL    80 06 00 02-00 00 27 00  GET DESCRIPTR (config+interface+endpoint)

[编辑 -  5/25/04 by  hustdj]
seu_zhufeng
驱动牛犊
驱动牛犊
  • 注册日期2004-01-02
  • 最后登录2006-07-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-05-25 16:23
这个我知道,现在就是因为主机还没有得到device descriptor,所以不会出现下一层设备
hustdj
驱动牛犊
驱动牛犊
  • 注册日期2003-06-06
  • 最后登录2008-07-02
  • 粉丝0
  • 关注0
  • 积分40分
  • 威望5点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-05-25 16:33
你是做从设备吧。
我只有做主设备的经验,很抱歉,可能帮不了你了
seu_zhufeng
驱动牛犊
驱动牛犊
  • 注册日期2004-01-02
  • 最后登录2006-07-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2004-05-25 16:54
非常感谢你。
sxbsy_hj
驱动牛犊
驱动牛犊
  • 注册日期2003-03-03
  • 最后登录2004-06-02
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2004-05-25 17:17
TO楼猪 和 hustdj:我在开发时碰到了个问题,我不需要太多的USB操作,我只需要在DOS下读取USB的设备描述符,现在碰如下问题1:我按照规范中的GET_DESCRIPTOR的步骤[SYNC][PID][ADDR][ENDP][CRC][EP]来给USB进行操作,我想问的是我是否可以直接写到USB设备的I/O地址上(如0XD000H)?2:但把命令发送完了,我是否可以从I/O地址读取USB送过来的DESCRIPTOR? 这个问题困惑了很久,想请教2位!先谢了!!
mlw888
驱动牛犊
驱动牛犊
  • 注册日期2004-05-20
  • 最后登录2007-08-11
  • 粉丝0
  • 关注0
  • 积分192分
  • 威望20点
  • 贡献值0点
  • 好评度19点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2004-05-25 19:45
这要根据你的硬件来决定,要看你给usb芯片配的数据地址和命令地址是怎样的
sxbsy_hj
驱动牛犊
驱动牛犊
  • 注册日期2003-03-03
  • 最后登录2004-06-02
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2004-05-26 09:20
我用的主板是INTEL865芯片组,USB CONTROLLER 是 ALCOR公司的USB FLASH DISK CONTROLLER,用USB-ZIP启动后,程序里先读取USB的DESCRIPTOR。我可以控制主板上USB的CONFIG 寄存器和I/O寄存器,我是否可以通过主板上的USB I/O BASE ADDRESS 来对USB进行操作?另:在进行读写操作之前,为什么要先分配空间给FRAME LIST?
hustdj
驱动牛犊
驱动牛犊
  • 注册日期2003-06-06
  • 最后登录2008-07-02
  • 粉丝0
  • 关注0
  • 积分40分
  • 威望5点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2004-05-26 10:15
我用的主板是INTEL865芯片组,USB CONTROLLER 是 ALCOR公司的USB FLASH DISK CONTROLLER,用USB-ZIP启动后,程序里先读取USB的DESCRIPTOR。我可以控制主板上USB的CONFIG 寄存器和I/O寄存器,我是否可以通过主板上的USB I/O BASE ADDRESS 来对USB进行操作?另:在进行读写操作之前,为什么要先分配空间给FRAME LIST?


这涉及面太广了。好像很难的样子。
建议你编一个软件来监视CONFIG 寄存器和I/O寄存器中的值。然后对usb设备进行简易操作。有点像bushound软件那样。
这样把获得的数据进行一定的分析,看看有没有帮助
sxbsy_hj
驱动牛犊
驱动牛犊
  • 注册日期2003-03-03
  • 最后登录2004-06-02
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2004-05-26 11:52
TO HUSTDJ: 不知兄台做过主设备还是从设备,如果是主设备的话,不知道兄台对FRAME LIST BUUFER的概念是否清楚,我对这个还不是很清楚,想请教兄台!
游客

返回顶部