Kingston U盘枚举过程翻译
来源:互联网 发布:儿童陶艺馆 知乎 编辑:程序博客网 时间:2024/04/27 19:56
对于DATA0与DATA1的交替传输是针对ENDPOINT而言的。
考虑到今后有可能要做块U盘,对金士顿U盘的枚举过程了做了个分析,软件用的是BUS HOUND。
//USB-IF定义的bInterfaceClass和bInterfaceSubClass在哪查?
//bEndpointAddress----------81
device:
12------------------总共18 byte
01------------------DEVICE descriptor
00 02------------------release number:2.0
00------------------所有接口在配置描述符中,且独立
00------------------设备子分类码,当前面的bDeviceClass值是0时,这里一定要设置为0。其它就跟据USB-IF组织定义的编码
00------------------设备使用的协议。如果使用USB-IF组织定义的协议,就需要设置这里的值。如果不使用,就直接设置为0。如果厂商自己定义的可以设置为FFH
40------------------最大包64 byte
51 09------------------厂商标识。由USB-IF分配的编码
03 16------------------厂商定义的产品标识。由厂家和产品标识,就可以让操作系统加载不同的驱动程序
00 02------------------版本1.2
01------------------厂商字符串的偏移值01
02------------------产品字符串的偏移值02
03------------------序列号字符串的偏移值03
01------------------1个配置
configuration:
09------------------9 byte
02------------------configuration descriptor
00 20------------------总长度,即32 byte
01------------------支持一个接口
01------------------配置的个数,当设置配置时发送的值。这时设置为1个配置
00------------------index of string descriptor
80------------------不支持自供电,支持远程唤醒。
32------------------每2mA为单位,比如它的值是50时就表示是100mA的电流消耗
interface:
09------------------9 byte
04------------------INTERFACE descriptor
00------------------
00------------------
02------------------2 endpoints
08------------------class
06------------------subclass
50------------------
00------------------第一个string in string descriptor
endpoint:
07------------------7 byte
05------------------ENDPOINT descriptor
81------------------即1000 0001,IN endpoint,endpoint 1
02------------------即0000 0010,bulk
00 02---------------max pkt size:512 byte
00------------------never NAKs
07------------------7 byte
05------------------ENDPOINT descriptor
02------------------即0000 0010,OUT endpoint,endpoint 2
02------------------即0000 0010,bulk
00 02------------------max pkt size:512 byte
00------------------never NAKs
string:
80 06 00 03 00 00 02 00 就是问总共有多长的字符串描述符
04------------------告诉主机有4 byte
03------------------字符串描述
80 06 00 03 00 00 04 00
04------------------4 byte
03------------------字符串描述符
09 04------------------英语
80 06 03 03 09 04 02 00 主机询问偏移量为3的字符串(就是要看序列号)有多长,语言标识为英语,要求返回值为2byte
32------------------告诉主机偏移量为3的字符串有32byte.
03------------------偏移量为3
80 06 03 03 09 04 32 00 主机读取所有32byte偏移量为3的字符串描述符
32 03 38 00 32 00 34 00 30 00 30 00 30 00 30 00 30 00 30 00 30 00 30 00 30 00 30 00 30 00 30 00
此时应该已经加载驱动了,如果操作系统没有,则会弹出对话框,索要驱动。
00 09 01 00 00 00 00 00 SET CONFIGURATION 1
01 0b 00 00 00 00 00 00 SET INTERFACE
- Kingston U盘枚举过程翻译
- Kingston U盘 量产
- Kingston DataTraveler G2 U盘量产全纪录
- 量产技术-把kingston U盘做成USB-CDROM启动盘
- kingston DataTraveler G2 4G U盘量产成功
- Kingston 4G u盘变2G问题
- uboot之u盘枚举
- 浅析插到PC上的usb-U盘_生命的开始阶段[软硬]--枚举过程(gliethttp)
- 浅析插到PC上的usb-U盘_生命的开始阶段[软硬]--枚举过程(gliethttp)
- kingston datatravere 101误删加密软件的解决办法(U盘空间变小)
- kingston DT 101 G2量产失败不是盘解决办法
- 制作U盘启动过程
- linux下挂载U盘过程
- linux下挂载U盘过程
- U盘安装Ubuntu过程
- 枚举过程
- [U]The Clocks 枚举
- [U]Arithmetic Progressions 枚举
- MM380S(培尔根ADC)
- VoIP国内开放已为期不远
- DrawMe - 使用WPF/WCF创建的网络绘图板聊天程序 2
- 海外快讯:今日可升级至Vista SP1
- 工业和信息化部最快下周挂牌
- Kingston U盘枚举过程翻译
- HiGain ETSI RS(培尔根ADC)
- php.ini配置参数说明
- spring与hibernate,struts的冲突问题
- HiGain ETSI(培尔根ADC)
- 关于SAP的RFC一些问题列表
- 利用系统外部中断做PS键盘信号接收
- 字符集GBK和UTF8的区别说明
- HiGain’ 98(培尔根ADC)