On Fri, 25 Jul 2014, Michael Welling wrote: > > 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? One way to prevent the hub from suspending is to use the echo command above. Another way is to set the autosuspend value to -1. Or set the usbcore autosuspend module parameter to -1, which affects the default autosuspend setting for all USB devices. As for fixing the code... that's harder to answer because as far as I know, there is nothing wrong in the code. Maybe the problem is in an area I'm not familiar with (such as the phy support), or maybe you have non-compliant hardware. You can get more information as follows: enable suspend, let the hub go into runtime suspend, then plug in a device, and disable suspend. The port status information in the resulting usbmon trace is likely to show whether the hub responded properly to the hotplug event. If you're asking about config options to disable runtime suspend, you can turn off CONFIG_PM_RUNTIME. But that will prevent runtime suspend for _all_ devices on the system, which probably isn't what you want. If you want to edit the code to prevent USB hubs (or any USB device) from ever going into runtime suspend, I can tell you what to change. > 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 Yes. There was a proposal to update the documentation posted on the mailing list a few weeks ago. I don't know what happened to it. 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