RE: [RFC/PATCH 02/12] usb: gadget: change USB version to USB3.0

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 18 Mar 2011, Paul Zimmerman wrote:

> > From: Alan Stern [mailto:stern@xxxxxxxxxxxxxxxxxxx] 
> > Sent: Friday, March 18, 2011 6:27 PM
> > On Fri, 18 Mar 2011, Paul Zimmerman wrote:
> >
> > > > --- a/drivers/usb/gadget/audio.c
> > > > +++ b/drivers/usb/gadget/audio.c
> > > > @@ -52,7 +52,7 @@ static struct usb_device_descriptor device_desc = {
> > > >  	.bLength =		sizeof device_desc,
> > > >  	.bDescriptorType =	USB_DT_DEVICE,
> > > >  
> > > > -	.bcdUSB =		__constant_cpu_to_le16(0x200),
> > > > +	.bcdUSB =		cpu_to_le16(0x0300),
> > > >  
> > > >  	.bDeviceClass =		USB_CLASS_PER_INTERFACE,
> > > >  	.bDeviceSubClass =	0,
> > > 
> > > This won't work. Now the gadget will not be recognized by a USB 2.0
> > > host.
> >
> > Why not?  I'm not aware of any hosts that will refuse to work with a 
> > device merely because the bcdUSB field says 0x0300 instead of 0x0200.
> >
> > For that matter, there are plenty of legacy hosts that don't have 
> > high-speed USB support.  Their controllers are only at the USB-1.1 
> > level, but that doesn't stop them from using USB-2.0 devices at full 
> > speed.
> 
> Yep, you are right. I just tried it with both a Linux and Windows host,
> and they both work.
> 
> I guess I was thinking about some compliance test tools we have used. I
> know they can be very picky about the contents of the bcsUSB field.

The exact requirement, as stated in the USB 3.0 specification, is this:

	The device descriptor of a SuperSpeed capable device has
	a version number of 3.0 (0300H).

It seems pretty clear that the bcdUSB value doesn't depend on the
device's current speed; it depends only on whether the device is
capable of running at SuperSpeed.

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


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux