Resetting SS device; SET ADDRESS

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

 



The hw setup: NEC based controller, device directly attached to the embedded hub.

The device is reset via libusb_reset_device().

The kernel log (master is at f878133, dynamic debug enabled for xhci and usbcore), shows this:

Feb  8 16:35:33 localhost kernel: usb 9-2: reset SuperSpeed USB device using xhci_hcd and address 16
Feb  8 16:35:33 localhost kernel: xhci_hcd 0000:03:00.0: WARN: short transfer on control ep
Feb  8 16:35:33 localhost kernel: usb 9-2: config index 0, error 27
Feb  8 16:35:33 localhost kernel: usb 9-2: device firmware changed
Feb  8 16:35:33 localhost kernel: hub 9-0:1.0: logical disconnect on port 2
Feb  8 16:35:33 localhost kernel: hub 9-0:1.0: state 7 ports 4 chg 0004 evt 0000
Feb  8 16:35:33 localhost kernel: hub 9-0:1.0: port 2, status 8103, change 0000, 5.0 Gb/s
Feb  8 16:35:33 localhost kernel: usb 9-2: USB disconnect, address 16
Feb  8 16:35:33 localhost kernel: usb 9-2: unregistering device
Feb  8 16:35:33 localhost kernel: usb 9-2: unregistering interface 9-2:1.0
Feb  8 16:35:33 localhost kernel: usb 9-2: unregistering interface 9-2:1.1
Feb  8 16:35:33 localhost kernel: usb 9-2: usb_disable_device nuking all URBs
Feb  8 16:35:33 localhost kernel: usb 9-2: Device not responding to set address.
Feb  8 16:35:33 localhost kernel: usb 9-2: Device not responding to set address.
Feb  8 16:35:33 localhost kernel: usb 9-2: device not accepting address 17, error -71
Feb  8 16:35:33 localhost kernel: usb 9-2: Device not responding to set address.
Feb  8 16:35:33 localhost kernel: usb 9-2: Device not responding to set address.
Feb  8 16:35:33 localhost kernel: usb 9-2: device not accepting address 18, error -71
Feb  8 16:35:33 localhost kernel: usb 9-2: Device not responding to set address.
Feb  8 16:35:34 localhost kernel: usb 9-2: Device not responding to set address.
Feb  8 16:35:34 localhost kernel: usb 9-2: device not accepting address 19, error -71
Feb  8 16:35:34 localhost kernel: usb 9-2: Device not responding to set address.
Feb  8 16:35:34 localhost kernel: usb 9-2: Device not responding to set address.
Feb  8 16:35:34 localhost kernel: usb 9-2: device not accepting address 20, error -71
Feb  8 16:35:34 localhost kernel: hub 9-0:1.0: unable to enumerate USB device on port 2
Feb  8 16:35:36 localhost kernel: hub 9-0:1.0: hub_suspend
Feb  8 16:35:36 localhost kernel: usb usb9: bus auto-suspend

The USB bus trace shows:
0) hot reset (TS1/2)
1) SET ADDRESS to addr 0, new address 1. Now the device's got address 1.
2,3) GET DESC device...
4) GET CONFIG
5) SET ADDRESS to addr 0, new address 1. <-- problem.

In HS mode, the 2nd SET ADDRESS is not observed, unless of course
immediately after a bus reset, but not out of the blue like what's shown
above. Also the data packet shows that the "new address" is 1 and
not 18, 19, etc. as shown in the kernel log above.

Anyone seen this (observed only in SS, HS is fine)? Is there a fix for this in the trunk since f878133b?

    Luben

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