On Fri, Jul 25, 2014 at 01:19:23PM -0400, Alan Stern wrote: > On Fri, 25 Jul 2014, Michael Welling wrote: > > > On Fri, Jul 25, 2014 at 10:02:15AM -0400, Alan Stern wrote: > > > On Thu, 24 Jul 2014, Michael Welling wrote: > > > > > > > So I may be barking up the wrong tree on this one. > > > > > > > > Today I discovered something that may lead to the resolution of my issue. > > > > > > > > The hardware I am using incorporates a USB switch on-board to avoid the > > > > having an external switch to plug in keyboards etc. If two devices are plugged > > > > into the downstream ports they are both detected on boot. When I unplug > > > > one of the devices and plug it back in, it is detected again. > > > > > > > > As long as one downstream device ports is populated the device discovery works > > > > on the other. Any clue on this? > > > > > > > > This reminded of a note that I made on the schematic after talking to SMSC. > > > > > > > > Set "UseExternalVbus Indicator" BIT 7 in register 0x0a. > > > > > > > > This is a PHY register that may actually be accessible in > > > > drivers/usb/phy/phy-ulpi.c > > > > but it looks like I cannot access the code from device tree. > > > > > > > > What would be the best way to go about adding support for this? > > > > > > Maybe you would learn more if you enabled USB debugging in your kernel. > > > Or if you used usbmon to see what the USB traffic is doing. > > > > The trafic stops all together when both USB devices are unplugged for > > the first time. > > > > The external USB HUB is still present in the device list but it does not > > detect anything after the last disconnect. > > What if you prevent the root hub from going into runtime suspend? Or > prevent the external hub from going into runtime suspend? You could be > facing a wakeup problem. This helps, it appears that the issue is with the external HUB. If I disable the autosuspend on the external USB HUB I can plug and unplug the devices as many times as I want. root@som3517:~# echo on > /sys/bus/usb/devices/1-1/power/control The external USB HUB is USB2512 and is right on the board. How do I go about either preventing the suspend or fixing the code such that it works? It should be noted that the CONFIG_USB_SUSPEND option not longer exists in the kernel but it is still referenced in the documentation. http://lxr.free-electrons.com/source/Documentation/usb/power-management.txt > > 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