It kinda blows my mind that the Ethernet or USB phy doesn't have this stored in some tiny nvram and handle all of the negotiations. What if I have a battery to charge while the device is off such as a laptop? How does Android deal with this when it's not booted? Does the bios handle this stuff?
> What if I have a battery to charge while the device is off such as a laptop? How does Android deal with this when it's not booted? Does the bios handle this stuff?
In my experience, if the device doesn't have enough power to actually boot it will simply slow charge at the default USB rate.
This can be problematic with devices that immediately try to boot when powered on.
> This can be problematic with devices that immediately try to boot when powered on.
I had an iPad 3 stuck in a low-battery reboot loop like this for hours once upon a time. I eventually got the idea to force it into DFU mode and was finally able to let it charge long enough to complete its boot process.
I have likewise had the same situation with a Kindle Fire and a Huawei Watch, in both cases I was glad I had rooted them and thus had a much easier path to boot to recovery than I would have stock.
There are standalone PD controllers that can be configured with the desired power profile(s) in flash.
And those add an extra few cents to the BOM which bean counters will ask if it can be eliminated and handled in software, which it can for the most part be leading to the problem discussed.
That said, my personal experience with this problem is all with devices that predate the standardization of or at least widespread use of USB PD.