RE: [PATCH] lsusb: Show USB 3.0 U1, U2, and LTM status.

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

 



> From: linux-usb-owner@xxxxxxxxxxxxxxx [mailto:linux-usb-owner@xxxxxxxxxxxxxxx] On Behalf Of Alan Stern
> Sent: Monday, June 25, 2012 1:10 PM
> 
> On Mon, 25 Jun 2012, Sarah Sharp wrote:
> 
> > On Mon, Jun 25, 2012 at 01:30:56PM -0400, Alan Stern wrote:
> > > On Mon, 25 Jun 2012, Sarah Sharp wrote:
> > > >  static void
> > > > -dump_device_status(libusb_device_handle *fd, int otg, int wireless)
> > > > +dump_device_status(libusb_device_handle *fd, int otg, int wireless, int super_speed)
> > >
> > > This doesn't seem consistent...
> > >
> > > > @@ -3796,7 +3804,7 @@ static void dumpdev(libusb_device *dev)
> > > >  		do_dualspeed(udev);
> > > >  	}
> > > >  	do_debug(udev);
> > > > -	dump_device_status(udev, otg, wireless);
> > > > +	dump_device_status(udev, otg, wireless, desc.bcdUSB >= 0x0300);
> > >
> > > with this.  Isn't it true that a USB-3 device will report a bcdUSB
> > > value of 0x0300 or above, even when running at high speed or slower?
> > > 9.6.1 in the USB-3 spec says:
> > >
> > > 	The device descriptor of a SuperSpeed capable device has
> > > 	a version number of 3.0 (0300H).
> >
> > I plugged in a USB 3.0 camera from Point Grey into a USB 2.0 only port,
> > and it reported a bcdUSB of 0x0210.  A Pluggable USB 3.0 hard drive also
> > reports 0x0210, as well as a TI UAS device.  So I assume that the bcdUSB
> > is always 0x0210 when operating at HS, and 0x0300 when operating at SS.
> 
> Ah, so the manufacturers are not trying to comply with the spec...
> 
> (Note that the spec says "A device has only one device descriptor."
> Presumably it means only one device descriptor for each operating speed
> -- the USB-2 spec makes the same mistake.)
> 
> On the other hand, the USB-3 spec also says that when operating in a
> USB-2 electrical environment, the device will "return appropriate
> information according to the requirements laid out in the USB 2.0
> specification".  This contradicts the requirement the bcdUSB value will
> be 3.0.  So maybe the manufacturers shouldn't be blamed.

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.

-- 
Paul

--
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