How to force enumeration from linux gadget/device

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

 



I'm trying to force a host to re-enumerate our device from the linux
g_ether\RNDIS side. Currently it appears to only do so if I unplug the
cable or drop VBUS on the cable. We can't do this as the user won't have
access to the cable in the completed system.

Searching through the list I found the following. I've tried many
combinations but it's not clear to me exactly what names where to be
echoed and from which "controller".

Also, I realize that the advice was for the host side with a hub and our
gadget port is direct connected. But can the same un/bind method be
used?
Marc

On Fri, 06 Jan 2006, Alan Stern wrote:
>On Fri, 6 Jan 2006, Steve Finney wrote:
>> I am trying to debug what I suspect is flaky hardware; an ARM
>> (S3C2410) system 
>> that normally finds a 4 port hub and two attached devices is now
>> not finding anything. FWIW, I have some debug turned on, and the
>> some relevant dmesg printout is the following (I'll go see
>> if I can extract any info from this):
>> 
>> ------------------------------------
>> 
>> Initializing USB Mass Storage driver...
>> usb 1-1: new full speed USB device using s3c2410-ohci and address 2
>> usb 1-1: device descriptor read/64, error -110
>> usb 1-1: device descriptor read/64, error -110
>> usb 1-1: new full speed USB device using s3c2410-ohci and address 3
>> usb 1-1: device descriptor read/64, error -110
>> usb 1-1: device descriptor read/64, error -110
>> 
>> --------------------------------------------------
>> 
>> I'm current somewhat crippled since I don't have USB ethernet, but
>> I do have a serial console. I also have usbmon configured in the
running
>> kernel. If I could force a re-enumeration of the bus I could collect
>> additional information, but I have a monolithic kernel (no modules)
and
>> the physical hub is hardwired so I can't unplug it. Is there anything
>> I can do to force re-enumeration (hub reset?).
>
>One approach is to rebuild your kernel using modules.  :-)
>
>Assuming you don't want to do that, there is a way to force 
>re-enumeration.  You can unbind and rebind the host controller driver
from 
>the OHCI controller through sysfs.  On the ARM you probably want to
look 
>in /sys/bus/platform/drivers/*ohci*.  Use "echo -n" to write the name
of 
>the controller device to the "unbind" file and then write it to the
"bind" 
>file.
>
>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


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

  Powered by Linux