Pixel 3 enables fast (>5W) wireless charging only on Google certified chargers, and there are only a few of them.
On most QI-compatible chargers it will pull out max ~750mA charging current by default (checked by Ampere / 3C Toolbox and simialr apps)
However, there is an interesting control file in /sys/class/power_supply/wireless, voltage_max.
It has default value of 5000000 (5V), and you can write values of up to 9000000 into it (9V), which surprisingly is accepted and leads to more charging current.
However, this should be done while wirelessly charging (as file does not accept writes otherwise).
After such write, charging current can be as high as 1290mA (compared to 700-750mA stock).
This change reverts after the end of charging session, however.
Question to kernel devs around here - can this be made permanent in some of custom kernels, or have a SysFS switch like "USB3 fast charge"?
The issue is to find where the default value is stored and alter it there.
EDIT Currently this can be made permanent by means of Magisk module "Advanced Charging Control" (https://forum.xda-developers.com/apps/magisk/module-magic-charging-switch-cs-v2017-9-t3668427),
by adding the following to config:
On most QI-compatible chargers it will pull out max ~750mA charging current by default (checked by Ampere / 3C Toolbox and simialr apps)
However, there is an interesting control file in /sys/class/power_supply/wireless, voltage_max.
It has default value of 5000000 (5V), and you can write values of up to 9000000 into it (9V), which surprisingly is accepted and leads to more charging current.
However, this should be done while wirelessly charging (as file does not accept writes otherwise).
Code:
echo 9000000 > /sys/class/power_supply/wireless/voltage_max
# Now, check what we've got
grep . /sys/class/power_supply/wireless/voltage_*
voltage_max:9000000
voltage_now:8568000 # Means it has been raised by device
This change reverts after the end of charging session, however.
Question to kernel devs around here - can this be made permanent in some of custom kernels, or have a SysFS switch like "USB3 fast charge"?
The issue is to find where the default value is stored and alter it there.
EDIT Currently this can be made permanent by means of Magisk module "Advanced Charging Control" (https://forum.xda-developers.com/apps/magisk/module-magic-charging-switch-cs-v2017-9-t3668427),
by adding the following to config:
Code:
onPlugged=./wireless/voltage_max:9000000
Last edited: