Re: How to downgrade super speed device

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

 



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




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux