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