A system for a universal serial bus (USB) device to perform power
configuration to operate with a USB host. A connection to the USB host is
enabled. Then a high-power configuration is reported to the USB host and
successful enumeration by the USB host is monitored for. If such
enumeration is not forthcoming within a preset time, the connection to
the USB host is disabled and re-enabled, and a low-power configuration is
then reported to the USB host. Optionally, the system can further ramp up
power usage until a preset high-power configuration is reached, or until
there is voltage sag on the VBUS and then either ramp power usage back
down or measure the sag and set to a calculated power usage.