On Tue, Feb 10, 2015 at 09:55:14AM -0500, Alan Stern wrote: > On Tue, 10 Feb 2015, Huang Rui wrote: > > > On Mon, Feb 09, 2015 at 08:59:06PM -0500, Alan Stern wrote: > > > On Tue, 10 Feb 2015, Huang Rui wrote: > > > > > > > On Mon, Feb 09, 2015 at 10:59:42AM -0500, Alan Stern wrote: > > > > > On Mon, 9 Feb 2015, Huang Rui wrote: > > > > > > > > > > > Hi, > > > > > > > > > > > > Do you have any trick to downgrade one USB3 capacity device from super > > > > > > speed mode to high speed mode on xhci port via host side? > > > > > > > > > > Connect it to the host by a USB-2 cable. > > > > > > > > > > > > > If physical connection and port number are fixed, any idea on software > > > > side? > > > > > > It may be possible to do this by disabling the port in some way (put it > > > in some appropriate link state -- I don't know which one). When the > > > device sees the SuperSpeed connection is gone, it should reconnect at > > > high speed. > > > > > > > You mean I should set link status of the special port on SS.Disabled > > state, not let it into Rx.Detect statue, right? Then the link can not > > go to Polling, and the device aborts this port and reconnect to the > > USB2 roothub port, is that right? > > Yes, that is what I meant. > Thank you, Alan. I already downgraded it successfully. :) I added hub_port_disable calling at port_event() if (connect_change) { if (port_number) { -> hub_port_disable(hub, port1, 1); } hub_port_connect_change(hub, port1, portstatus, portchange); } Then return directly before do hub_set_port_link_state(hub, port1, USB_SS_PORT_LS_RX_DETECT) at hub_usb3_port_disable(), then this device on that port would be downgraded. Thanks, Rui -- 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