On Tue, 3 Sep 2013, joe M wrote: > Hello Alan, > > Thanks for responding. > > > The lack of output from usbmon is probably because the kernel isn't > > sending any URBs to the new device. The Set-Address request is sent > > automatically by the xHCI controller, and if it doesn't work then > > there's nothing for the kernel to communicate with. > > Is there a difference in how the Set-Address request between a USB > 2.0/1.11 spec vs the USB 3.0 spec works? (You mean 2.0/1.1. There is no USB 1.11.) They are quite different on the host side, although they are identical on the device side. > The /* Control Write: > <SETUP[0]><IN[1]> */ works for USB 2.0 and 1.11 spec. I am not sure if > there is any difference to this format with the USB 3.0 spec. What does "/* Control Write: <SETUP[0]><IN[1]> */" mean? One of the design goals of USB 3.0 was to make it easy for USB devices to be virtualized. As part of this design, device addresses are not managed by the operating system; they are managed directly by the USB-3 controller hardware. An xHCI controller automatically assigns an address to a device when it is first plugged in and sends the necessary Set-Address request to the device. The operating system does not need to (and indeed, is not allowed to) set the device's address. As a result, the usbmon trace for a newly connected device with a USB-2 or USB-1.1 controller will show a Get-Device-Descriptor transfer followed by a reset and a Set-Address transfer. By contrast, although one of the first transfers that occurs with a USB-3 controller is Set-Address, it does not show up in the usbmon output because it was not generated by the operating system. If this Set-Address fails then the operating system has no way to communicate with the device; hence there will be no usbmon output other than the communication with the root hub. 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