USB Properties Descriptor
2017-12-02 17:59
323 查看
用USBlyzer对USB进行抓包分析时,USB Properties窗口显示了USB设备的一些相关属性信息,百度查了下,注释如下,不一定正确,仅供参考:
更多参考可参阅 http://www.usb.org/developers
原文链接http://blog.csdn.net/jacobywu/article/details/8861882
更多参考可参阅 http://www.usb.org/developers
struct usb_device_descriptor { __u8 bLength;//设备描述符的字节数大小,为0x12 __u8 bDescriptorType;//描述符类型编号,为0x01 __le16 bcdUSB;//USB版本号 __u8 bDeviceClass;//USB分配的设备类代码,0x01~0xfe为标准设备类,0xff为厂商自定义类型 //0x00不是在设备描述符中定义的,如HID __u8 bDeviceSubClass;//usb分配的子类代码,同上,值由USB规定和分配的 __u8 bDeviceProtocol;//USB分配的设备协议代码,同上 __u8 bMaxPacketSize0;//端点0的最大包的大小 __le16 idVendor;//厂商编号 __le16 idProduct;//产品编号 __le16 bcdDevice;//设备出厂编号 __u8 iManufacturer;//描述厂商字符串的索引 __u8 iProduct;//描述产品字符串的索引 __u8 iSerialNumber;//描述设备序列号字符串的索引 __u8 bNumConfigurations;//可能的配置数量 } __attribute__ ((packed)); struct usb_config_descriptor { __u8 bLength;//设备描述符的字节数大小,为0x12 __u8 bDescriptorType;//描述符类型编号,为0x01 __le16 wTotalLength;//配置所返回的所有数量的大小 __u8 bNumInterfaces;//此配置所支持的接口数量 __u8 bConfigurationValue;//Set_Configuration命令需要的参数值 __u8 iConfiguration;//描述该配置的字符串的索引值 __u8 bmAttributes;//供电模式的选择 __u8 bMaxPower;//设备从总线提取的最大电流 } __attribute__ ((packed)); struct usb_interface_descriptor { __u8 bLength;//设备描述符的字节数大小,为0x12 __u8 bDescriptorType;//描述符类型编号,为0x01 __u8 bInterfaceNumber;//接口的编号 __u8 bAlternateSetting;//备用的接口描述符编号 __u8 bNumEndpoints;//该接口使用端点数,不包括端点0 __u8 bInterfaceClass;//接口类型 __u8 bInterfaceSubClass;//接口子类型 __u8 bInterfaceProtocol;//接口所遵循的协议 __u8 iInterface;//描述该接口的字符串索引值 } __attribute__ ((packed)); struct usb_endpoint_descriptor { __u8 bLength;//设备描述符的字节数大小,为0x12 __u8 bDescriptorType;//描述符类型编号,为0x01 __u8 bEndpointAddress;//端点地址及输入输出属性 __u8 bmAttributes;//端点的传输类型属性 __le16 wMaxPacketSize;//端点收、发的最大包的大小 __u8 bInterval;//主机查询端点的时间间隔 /* NOTE: these two are _only_ in audio endpoints. */ /* use USB_DT_ENDPOINT*_SIZE in bLength, not sizeof. */ __u8 bRefresh; __u8 bSynchAddress; } __attribute__ ((packed)); struct usb_string_descriptor { __u8 bLength;//设备描述符的字节数大小,为0x12 __u8 bDescriptorType;//描述符类型编号,为0x01 __le16 wData[1]; /* UTF-16LE encoded */ } __attribute__ ((packed));
原文链接http://blog.csdn.net/jacobywu/article/details/8861882
相关文章推荐
- UTMI及USB 2.0 PHY高速传输特性分析
- WINCE下USB的同步模式与U盘模式的切换
- Linux 系统USB设备检测
- Linux USB RNDIS设备在WinXP、Win7、Win10下的驱动安装
- USB初步
- usb摄像头人脸检测软件
- Virtualbox 启用USB 设备支持
- USB入门
- 用AD组策略------灵活禁用USB
- android apk 的root 权限和USB adb 权限的差别
- Wince下usb驱动的思路
- Failed to access the USB subsystem.VirtualBox is not currently allowed to access USB devices...
- WIN7系统没有USB驱动和以太网驱动如何操作
- 禁用 USB 存储设备
- USB初学(四)-----arthur0561对USB的解析,在21ic论坛上,非常不错
- Linux驱动USB驱动程序之概念介绍
- 抛弃光驱,让你的U盘变光驱,制作USB-CDROM,用U盘安装系统
- usb 枚举过程中的状态机
- Ubuntu下使用USB3.2接口
- WDF开发USB设备驱动教程(1)