/* USB_DT_INTERFACE: Interface descriptor */ struct usb_interface_descriptor { __u8 bLength; __u8 bDescriptorType; // 0x04 __u8 bInterfaceNumber; // 接口序号 __u8 bAlternateSetting; __u8 bNumEndpoints; __u8 bInterfaceClass; __u8 bInterfaceSubClass; __u8 bInterfaceProtocol; __u8 ...
uchar bLength; //设备描述符的字节数 uchar bDescriptorType; //设备描述符类型编号 uint bcdUSB; //USB版本号 uchar bDeviceClass; //USB分配的设备类 uchar bDeviceSubClass; //USB分配的设备子类 uchar bDeviceProtocol; //USB分配的设备协议代码 uchar bMaxPacketSize0; //端点0的最大包大小 uint idVe...
class分为device class和interface class。具体的class值以及含义,参考define class。 https://www.usb.org/defined-class-codes class 包含 class subclass protocol 组合在一起,用来指出设备具体功能。 device class举例 DEVICE DESCRIPTOR bLength: 18 bDescriptorType: 0x01 (DEVICE) bcdUSB: 0x0200 bDeviceClass:...
换句话说,一个使用了 Type-C 接口的设备支持何种视频传输能力,实际上是与它支持的 USB 数据传输协议的版本并不直接对等的,因为两者使用的是不同的标准。 这也就是为什么在今年普通版的 iPhone 15 机型上,虽然只配备了速率上限 480Mbps 的 USB 2.0 接口,但依然可以有线连接显示器以最高 4K 60 帧的规格进行投...
但是,出于包括兼容性等种种原因, USB 开发者论坛(USB Implementers Forum,一作 USB 联盟,以下统称 USB-IF)并没有要求 Type-C 需要完整地拥有正反各 12 根共计 24 根金属针脚,也就是说 Type-C 接口里的那些针脚并不需要全部工作,甚至少几根都没关系。然后就遇到了 Type-C 线缆插上去了但是不起作用。
struct usb_device_descriptor{__u8 bLength;//本描述符的size__u8 bDescriptorType;//描述符的类型,这里是设备描述符DEVICE__u16 bcdUSB;//指明usb的版本,比如usb2.0__u8 bDeviceClass;//类__u8 bDeviceSubClass;//子类__u8 bDeviceProtocol;//指定协议__u8 bMaxPacketSize0;//端点0对应的最大包大小_...
但是,出于包括兼容性等种种原因, USB 开发者论坛(USB Implementers Forum,一作 USB 联盟,以下统称 USB-IF)并没有要求 Type-C 需要完整地拥有正反各 12 根共计 24 根金属针脚,也就是说 Type-C 接口里的那些针脚并不需要全部工作,甚至少几根都没关系。然后就遇到了 Type-C 线缆插上去了但是不起作用。
Interface Descriptor size */USB_INTERFACE_DESCRIPTOR_TYPE,/* bDescriptorType: Interface descriptor type */0x00,/* bInterfaceNumber: Number of Interface */0x00,/* bAlternateSetting: Alternate setting */0x02,/* bNumEndpoints 此接口有两个端点 */0x03,/* bInterfaceClass: HID */0x00,/* bInt...
USB\Class_01 并且具有以下排除项: inf USB\Class_01&SubClass_00&Prot_20 USB\Class_01&SubClass_01&Prot_20 USB\Class_01&SubClass_02&Prot_20 USB\Class_01&SubClass_03&Prot_20 由于Windows 音频堆栈的限制,共享模式下不支持任意数量的声道(大于 8 个)。