I’m running Windows 10/Simplicity Studio 4 and I am trying to power my Silicon Labs device through the USB Debug Adapter (UDA), but the UDA keeps shutting off after I flash the device. What gives?
The UDA configurator in Simplicity Studio 4 has the option of allowing the UDA to continue to provide power to the target device, even after disconnecting from a debug session. This is a setting in the UDA that attempts to maintain USB power through the USB host.
However, Windows has several additional USB “features” that will try to save power by shutting down what the OS deems as unnecessary USB devices. The first component, which is more user configurable, is called USB Selective Suspend. USB Selective Suspend allows the hub driver to suspend an individual port without affecting the operation of the other ports on the hub. There are many ways of disabling this feature, but for the scope of this article, we’ll stick with the user-friendly methodology.
On a global scale, you can disable USB Selective Suspend on all USB hubs/devices. Here’s how to do this in Windows 10:
To disable USB Selective Suspend on individual USB devices:
For external ports (externally powered hubs), either of the previously described methods will enable the UDA to continue powering the target device even after disconnecting. However, for built in ports, there is an additional power management “improvement” introduced in Windows 8.1 and beyond which will suspend a USB Human Interface Device (HID) if there is not an application actively accessing it! To disable this feature, a value in the system registry needs to be changed.
The USB Debug Adapter will now stay powered, even after disconnecting from a debug session.
If for some reason you need to re-enable the Enhanced Power Management setting follow the same steps in the section above except that, in step 4, change the Value data back to 1.