设为首页 加入收藏

TOP

Linux usbmon获取的U盘数据(三)
2014-11-24 12:16:34 来源: 作者: 【 】 浏览:4
Tags:Linux usbmon 获取 数据
e00 531931415 C Ci:1:003:0 0 18 = 12010002 00000040 11008877 04010102 0301
//获取配置描述符
80=bmRequestType 06=Get_Desriptor 02(00)=configuration 0000=windex 0009=wlength
c3ad3e00 531931773 S Ci:1:003:0 s 80 06 0200 0000 0009 9 <
//配置描述符 09022000 01010080 32
struct usb_config_descriptor {
__u8 bLength; 0x09 描述符长度
__u8 bDescriptorType; 0x02 描述符类型编号


__le16 wTotalLength; 0x2000配置所返回的所有数据的大小
__u8 bNumInterfaces; 0x01 配置所支持的接口数
__u8 bConfigurationValue;0x01 set_configuration 命令需要的参数值
__u8 iConfiguration; 0x00 描述该配置的字符串的索引值
__u8 bmAttributes; 0x80 供电模式的选择
__u8 bMaxPower; 0x32 设备从总线提取的最大电流
} __attribute__ ((packed));
c3ad3e00 531933399 C Ci:1:003:0 0 9 = 09022000 01010080 32
//获取配置描述符+接口描述符+2个端点描述符
c3ad3e00 531933694 S Ci:1:003:0 s 80 06 0200 0000 0020 32 <
获取配置描述符 09022000 01010080 32
接口描述符 090400 00020806 5000
端点描述符1 0705 01024000 00
端点描述符2 070582 02400000
struct usb_interface_descriptor {
__u8 bLength; 0x09 描述符长度
__u8 bDescriptorType; 0x04 描述符类型

__u8 bInterfaceNumber; 0x00 接口编号
__u8 bAlternateSetting; 0x00 备用的接口描述符编号
__u8 bNumEndpoints; 0x02 该接口使用的断点数
__u8 bInterfaceClass; 0x08 接口类型
__u8 bInterfaceSubClass; 0x06 接口子类型
__u8 bInterfaceProtocol; 0x50 接口协议
__u8 iInterface; 0x00 描述该接口的字符串索引值
} __attribute__ ((packed));
端点1 07 05 01 02 4000 00
struct usb_endpoint_descriptor {
__u8 bLength; 0x07 描述符长度
__u8 bDescriptorType; 0x05 描述符类型

__u8 bEndpointAddress; 0x01 端点地址:0~3 为时端点号1,第七位是方向0输出
__u8 bmAttributes; 0x02 端点属性 bit[0:1]的值00控制,01同步,02批量 ,03中断
__le16 wMaxPacketSize; 0x4000本端点接受或发送最大信息包的大小
__u8 bInterval; 0x00



__u8 bRefresh;
__u8 bSynchAddress;
} __attribute__ ((packed));
端点2 07 05 82 02 4000 00
struct usb_endpoint_descriptor {
__u8 bLength; 0x07 描述符长度
__u8 bDescriptorType; 0x05 描述符类型

__u8 bEndpointAddress; 0x82 端点地址:0~3 为时端点号2,第七位是方向1输入
__u8 bmAttributes; 0x02 端点属性 bit[0:1]的值00控制,01同步,02批量 ,03中断
__le16 wMaxPacketSize; 0x4000本端点接受或发送最大信息包的大小
__u8 bInterval; 0x00



__u8 bRefresh;
__u8 bSynchAddress;
} __attribute__ ((packed));
c3ad3e00 531935401 C Ci:1:003:0 0 32 = 09022000 01010080 32090400 00020806 50000705 01024000 00070582 02400000
//获取字符串描述符
c3ad3e00 531935816 S Ci:1:003:0 s 80 06 0300 0000 00ff 255 <
接口字符串索引
04030904 不知道什么意思
c3ad3e00 531937399 C Ci:1:003:0 0 4 = 04030904
c3ad3e00 531937687 S Ci:1:003:0 s 80 06 0302 0409 00ff 255 <
产品字符串
c3ad3e00 531939398 C Ci:1:003:0 0 26 = 1a034400 61007400 61005400 72006100 76006500 6c006500 7200
c3ad3e00 531939727 S Ci:1:003:0 s 80 06 0301 0409 00ff 255 <
厂商字符串 6b k 69 i 6e n 67 g 73 s 74 t 6f o 6e n
合起来就是kingston
c3ad3e00 531941400 C Ci:1:003:0 0 18 = 12036b00 69006e00 67007300 74006f00 6e00
c3ad3e00 531941756 S Ci:1:003:0 s 80 06 0303 0409 00ff 255 <
设备序列号
c3ad3e00 531943399 C Ci:1:003:0 0 18 = 12034300 33004400 46003800 46003900 4600


配置 配置值为0001
c3ad3f80 531964443 S Co:1:003:0 s 00 09 0001 0000 0000 0
配置成功
c3ad3f80 531965419 C Co:1:003:0 0 0
c3ad3d00 531991052 S Ci:1:001:0 s a3 00 0000 0001 0004 4 <
c3ad3d00 531991124 C Ci:1:001:0 0 4 = 03010000
这个是什么请求,协议没见过 fe
c3ad3a80 536990080 S Ci:1:003:0 s a1 fe 0000 0000 0001 1 <
c3ad3a80 536990487 C Ci:1:003:0 0 1 = 00



批量传输:
c3ad3a80 536991275 S Bo:1:003:1 -115 31 = 55534243 01000000 24000000 80000612 00000024 00000000 00000000 000000
c3ad3a80

首页 上一页 1 2 3 4 5 下一页 尾页 3/5/5
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇USB设备主机侧驱动 下一篇Android Jni NDK 操作介绍

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Redis 分布式锁全解 (2025-12-25 17:19:51)
·SpringBoot 整合 Red (2025-12-25 17:19:48)
·MongoDB 索引 - 菜鸟 (2025-12-25 17:19:45)
·What Is Linux (2025-12-25 16:57:17)
·Linux小白必备:超全 (2025-12-25 16:57:14)