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

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

 



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.

> So it looks like the variable should be named "usb3" rather than 
> "super_speed".

Do you still want me to rename the variable?

> Alan Stern
> 
> P.S.: On the other hand, the USB-3 spec also says (in 9.6.2.2) that
> wSpeedsSupported is a bitmap encoding of the speed supported by the
> device when operating in SuperSpeed mode -- including bitflags
> indicating the device supports operation at low, full, and high speed!
> 
> How is a device supposed to operate at high speed when operating in 
> SuperSpeed mode?

wSpeedsSupported has two purposes.  First, it's an indication of the
speeds that the device can work at if it's not operating at SuperSpeed.
Second, it's an list of the possible data transfer speeds when operating
in SuperSpeed mode.

Right now, there's only one SuperSpeed transfer rate (5 Gbps).  In the
future, they wanted to add higher transfer rates (e.g. 10 Gbps) while
still calling it a USB 3.0 device.  Basically, all the protocol for the
link layer and device would remain the same, but a faster PHY would be
added, and a new speed negotiation sequence would be introduced as an
errata to the USB 3.0 spec.

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