看USB2.0 spec一直认为endpoint 的desc是如下标准格式:
struct usb_endpoint_desc {
/* Hardware fields */
uchar bLength;
uchar bDescriptorType;
uchar bEndpointAddress;
uchar bmAttributes;
ushort wMaxPacketSize;
uchar bInterval;
} __attribute__ ((packed));
今天看了下耳机的endpoint 信息,有新发现:
/* USB_DT_ENDPOINT: Endpoint descriptor */
struct usb_endpoint_descriptor {
__u8 bLength;
__u8 bDescriptorType;
__u8 bEndpointAddress;
__u8 bmAttributes;
__le16 wMaxPacketSize;
__u8 bInterval;//in audio device spec, this is set to 1 and must be 1
/* NOTE: these two are _only_ in audio endpoints. */
/* use USB_DT_ENDPOINT*_SIZE in bLength, not sizeof. */
__u8 bRefresh; //this info is useful when the device is audio iso endpoint, for this
// is used as real frame interval.
__u8 bSynchAddress;
} __attribute__ ((packed));
阅读(1117) | 评论(0) | 转发(0) |