On Fri, Jul 25, 2014 at 12:50 PM, Michael Welling <mwelling@xxxxxxxxxxx> wrote: > 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 Ooops it also mentions its elimination. -1 for reading skills. > >> >> 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