I know that some laptops (e.g. Lenovo ThinkPad) have user-controllable software to disable battery charging even when AC power is plugged in. This feature takes precedence.

When a typical mobile device (phone or tablet) is connected to a USB port, the mobile device will automatically draw power from USB to supply its electronics and charge its battery. But this default behavior isn't always desirable.

For example, a laptop on battery probably should not waste run time supplying any power to a phone. Presumably a phone is connected to a laptop for data transfer. So the laptop should not power the phone's electronics or charge its battery.

If mobile devices could control the power they demand from the USB port, along the lines of the ThinkPad feature, they would be less of a drain on the USB host. I'm aware that a workaround is to charge a phone to 100% from AC power, then immediately plug the phone into the USB port. Because the phone's battery is full, it should only draw power from the USB port for the electronics.

But is such technology already implemented in some mobile devices, allowing them to optimize performance in this way?

  • Mobile devices here are on-topic only when the question pertains to its connection to a traditional computer. Your question is off-topic.
    – user931000
    Oct 11, 2018 at 0:32
  • If your question is literally what is in bold, it's off-topic because that's asking about phones and mobile devices (and could even be viewed as a shopping question). If the question is from the perspective of a laptop and USB, and the impact of such devices on the laptop, it would be on-topic. You might want to clarify the question because it is attracting close votes based on a literal interpretation as worded.
    – fixer1234
    Oct 11, 2018 at 18:00
  • I took a stab at focusing the question on the aspect that's on-topic for the site. Please review and revise as needed if this is too far removed from what you really want to know.
    – fixer1234
    Oct 11, 2018 at 20:23
  • Related: android.stackexchange.com/questions/223812/…
    – Nayuki
    Apr 11, 2020 at 17:42

2 Answers 2


I'll answer from the on-topic perspective of the impact of such devices on the laptop. You're starting with a bad premise. Mobile devices don't automatically draw high current when plugged into a USB port.

When any device that isn't self-powered is plugged into a USB port, it initially gets an allowance of one "unit load" of power (on USB 2.0 that's 100 mA, on USB 3.0 or higher that's 150 mA). If it's a low-power device, that may be all it needs. If it needs more, it negotiates for a higher power limit. On a standard USB 2.0 port, it can negotiate for up to a maximum of 5 unit loads (500 mA). On a standard USB 3.0 or higher port, it can negotiate for up to a maximum if 6 unit loads (900 mA). On a high-current charging port, it can negotiate for higher limits governed by the capacity of the port. The host port (i.e., laptop) sets an upper limit on how much power it will provide, and the device accepts that limit.

So the host determines how much power it will make available. Any optimization of the laptop's available runtime via limiting the power it shares with USB devices is the responsibility of the laptop ("just say no").

The mobile device is free to use the power it's been granted however it sees fit. If it negotiated for enough power to operate and charge, it can do that. If it was granted only enough power to transfer data, it can use that power to transfer data or try to really slowly charge the battery. But it's up to the device to decide how to use the available power.

As far as how smart laptops and mobile devices are at optimizing their own performance, that varies and is a moving target. Any answer that reflects the status today will soon be obsolete, so that kind of information isn't on-topic for the site.


This can be done, at least on some Android devices if you have root access. It comes down to whether the charge controller can be manipulated in software to cause it to not charge or to set its charging voltage.

On my OnePlus 3T running LineageOS 15.1 with root access enabled, I can echo a numeric value in millivolts to /sys/class/power_supply/battery/voltage_max for the desired charge voltage. It defaults to 4320 (4.32 volts), but can be set anywhere between 3600 mV and 4500 mV in 20 mV increments (given what can happen when a lithium-ion battery is abused, you do not want to misuse this setting to overcharge the battery). If I set it to something close to the current voltage and adjust according by monitoring the charging current (I use AccuBattery to monitor battery charging and performance), I can get the phone to either limit the battery's maximum charge level or hold its state of charge at some desired point below 100% while plugged in, which is useful for extending the battery's service life (extended operation at 100% can reduce its life). There's also /sys/class/power_supply/battery/charge_enabled; echoing 1 or 0 will enable or disable charging altogether.

However, this is something that requires root access in the first place, and not every phone has these controls available to the system. As such, this isn't something that the average consumer will be able to do, unless a device manufacturer decides to expose this feature in the phone's settings menus. That, too is unlikely because allowing consumers to sacrifice some of the device's battery life for each charge to extend usable battery service down the road is difficult (even with Apple's throttling of devices with worn-out batteries calling attention to long-term battery performance).

Long story short, while it's technically possible, it's not something you'd be able to do without some tinkering.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.