On Wed, 27 Jun 2012, Paul Zimmerman wrote: > > > Just FYI, a device cannot have a bcdUSB of 0x300 in its device descriptor > > > if it's not running at super speed, because a USB 3.0 device descriptor > > > is incompatible with earlier versions, due to the bMaxPacketSize0 field > > > being encoded as a power of 2 instead of a byte count. > > > > I don't see any problem. If bcdUSB is 0x0300 and the device is running > > at, say, high speed then the maxpacket size for ep0 would be 64 bytes, > > which would be represented by bMaxPacketSize0 = 6. See the description > > of bMaxPacketSize0 in table 9-8 of the USB-3 spec. > > Ummm... how is a USB 2.0 host, released before the USB 3.0 spec was even > written, supposed to know that? The device does not know what version of > host it is connecting to. A USB 2.0 host is supposed to recognize that a bcdUSB value of 0x0300 means the device is not compliant with the USB-2 spec. Therefore the host should know not to misinterpret the bMaxPacketSize0 field. On the other hand, it is true that a device which wants to be compatible with older hosts had better not use a USB-3 descriptor. Alan Stern -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html