[Possible mod] Pixel 3 Fast Wireless Charge

Search This thread

k0rner

Senior Member
Jan 23, 2010
181
126
Kyiv
Google Pixel 5
Google Pixel Fold
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).

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
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://xdaforums.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:

Aaron1017

Senior Member
Jun 26, 2010
66
38
Confirmed it does indeed charger faster using a Samsung wireless fast charger and a cheap $6 ebay chinese wireless charger. Enabling 9V DOES cause some slightly audible "ticking" noises every second when playing ear next to charger. Normally its completely silent.
 

kdrag0n

Senior Member
Feb 19, 2016
696
2,058
kdrag0n.dev
I've added this to Proton Kernel as part of the standard "USB fast charge" option that EXKM, Kernel Adiutor, and FKM can tune. It's disabled by default, but please read the following disclaimer thorougly before enabling it:
Think twice before enabling fast wireless charging because cheap chargers can cause your phone to heat up significantly, harming the battery permanently. They may also cause temporary issues with your phone (such as ticking sounds) or permanent damage to internal circuits. However, if used properly with a high-quality charger, there should not be any issues. Enable at your own risk. I am not responsible for any damage to you or your phone caused by this feature.

That being said, several users have gotten good results after enabling it. It's ultimately a question of how cheap your charger is.
 

ManthanRB

Senior Member
Mar 23, 2012
913
101
London
After such write, charging current can be as high as 1290mA (compared to 700-750mA stock).

I am not sure how true is this, my Pixel 3 charges at 1850mA by default without any modification thru wireless charger and 2900 mA with a wired charger. I am using Pixel stand and Pixel 3 charger.
 

k0rner

Senior Member
Jan 23, 2010
181
126
Kyiv
Google Pixel 5
Google Pixel Fold
If possible for fast charge now, can someone locate the trigger for the special pixel stand charging dock screen?

That needs someone with the Pixel Stand (e.g. not me) to investigate.
Or, at least do the following while the phone is on the stand, in the terminal:

Code:
su
cd /sys/class/power_supply/wireless
grep . *
and post the output here.
 

fronc

Senior Member
Does anyone know the safe/recommended wireless charging temperature range? I want to do some comparisons of different wireless chargers I own and see if they're within tolerance. Thanks!

EDIT: Actually, if anyone can tell me what the Google Pixel stand normally gets the temperature up to, then I'll have a benchmark for comparison. Thanks!
 

lohanchien

Senior Member
Dec 15, 2007
255
72
Nexus 7 (2013)
Google Nexus 5
Does anyone know the safe/recommended wireless charging temperature range? I want to do some comparisons of different wireless chargers I own and see if they're within tolerance. Thanks!

EDIT: Actually, if anyone can tell me what the Google Pixel stand normally gets the temperature up to, then I'll have a benchmark for comparison. Thanks!

I'm getting the phone and stand tomorrow. I'm interested in this mod so I'll check the temps and keep you posted
 
  • Like
Reactions: fronc

lohanchien

Senior Member
Dec 15, 2007
255
72
Nexus 7 (2013)
Google Nexus 5
Awesome. This will be very helpful information for the community! Thanks!

Trying to prepare for this test. I only know of one app that can chart temperature over time but it only allows 200 data points so I'll have to set the refresh rate at 30s which will allow 1.6hrs of recording. I'll have to test from 50% to full and hopefully that'll give enough data. I wanted to test from 1% to full charge but that would mean I have to set the refresh interval to close to 2min, which would wash out temperature fluctuations during those two minutes. Do you know of any app that can chart temperature over time with more than 200 data points?
 
Last edited:

fronc

Senior Member
Trying to prepare for this test. I only know of one app that can chart temperature over time but it only allows 200 data points so I'll have to set the refresh rate at 30s which will allow 1.6hrs of recording. I'll have to test from 50% to full and hopefully that'll give enough data. I wanted to test from 1% to full charge but that would mean I have to set the refresh interval to close to 2min, which would wash out temperature fluctuations during those two minutes. Do you know of any app that can chart temperature over time with more than 200 data points?
I do not, but I think that should be sufficient. Maybe a second test from 0 to 50% some other time would be useful as well.

Sent from my Pixel 3 XL using Tapatalk
 

lohanchien

Senior Member
Dec 15, 2007
255
72
Nexus 7 (2013)
Google Nexus 5
I do not, but I think that should be sufficient. Maybe a second test from 0 to 50% some other time would be useful as well.

Yeah I can try that too. But I wanted to see how it behaves over the whole range. It's possible if going from 1 to full might give higher temperatures since the cells will be heated for longer. I guess I'll test 1-50 then 50-100 at 30s then another test 1-100 at two min intervals.

Edit: Miscalculated, 60s from 1-100 should be enough. That's more than 3 hrs. I doubt it'll take that long to fully charge
 
Last edited:

Bingley

Senior Member
Jan 6, 2011
1,071
186
Netherfield
Trying to prepare for this test. I only know of one app that can chart temperature over time but it only allows 200 data points so I'll have to set the refresh rate at 30s which will allow 1.6hrs of recording. I'll have to test from 50% to full and hopefully that'll give enough data. I wanted to test from 1% to full charge but that would mean I have to set the refresh interval to close to 2min, which would wash out temperature fluctuations during those two minutes. Do you know of any app that can chart temperature over time with more than 200 data points?

Could you ask the dev for a custom modded apk to increase to 400 data points?
 

jd1639

Inactive Recognized Contributor
Sep 21, 2012
16,833
5,404
Minnesota
That needs someone with the Pixel Stand (e.g. not me) to investigate.
Or, at least do the following while the phone is on the stand, in the terminal:

Code:
su
cd /sys/class/power_supply/wireless
grep . *
and post the output here.
capacity:83
current_max:1100000
current_now:1022000
grep: device: Is a directory
online:1
grep: power: Is a directory
present:1
serial_number:e0adc0f6
grep: subsystem: Is a directory
temp:3220
type:Wireless
uevent:pOWER_SUPPLY_NAME=wireless
uevent:pOWER_SUPPLY_PRESENT=1
uevent:pOWER_SUPPLY_ONLINE=1
uevent:pOWER_SUPPLY_CURRENT_NOW=1022000
uevent:pOWER_SUPPLY_CURRENT_MAX=1100000
uevent:pOWER_SUPPLY_VOLTAGE_NOW=8914000
uevent:pOWER_SUPPLY_VOLTAGE_MAX=9000000
uevent:pOWER_SUPPLY_TEMP=3220
uevent:pOWER_SUPPLY_SERIAL_NUMBER=e0adc0f6
uevent:pOWER_SUPPLY_CAPACITY=83
voltage_max:9000000
voltage_now:8914000
:/sys/class/power_supply/wireless #

Sent from my [device_name] using XDA-Developers Legacy app
 
  • Like
Reactions: k0rner and melgar

lohanchien

Senior Member
Dec 15, 2007
255
72
Nexus 7 (2013)
Google Nexus 5
Started the first test. Going from 50-100 with case off and pixel stand app cycling through photos. Next I'll go with the same but turn off photos and leave just the clock in ambient mode. I'll then test the same as the first two with case on. So far it's charging at 1%/min so I set the refresh interval to 15sec. That'll give 50min of data, just enough for the full charge from 50%
 

Top Liked Posts

  • There are no posts matching your filters.
  • 11
    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).

    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
    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://xdaforums.com/apps/magisk/module-magic-charging-switch-cs-v2017-9-t3668427),
    by adding the following to config:
    Code:
    onPlugged=./wireless/voltage_max:9000000
    4
    I was able to get this module to work today!
    Unlocked Bootloader, Reflashed July 2019 Factory Image, rooted Pixel 3 with Magisk (Man it is not as easy as it used to be with Nexus devices). Installed the ACC module.
    The command has actually changed, and the methods I got everything to work with were like so:

    I set the phone on the wireless charger and did not remove it for the entire process.
    I enabled the module, then opened Terminal Emulator:

    su
    acc -s
    acc -s applyOnPlug wireless/voltage_max:9000000.

    OR

    I enabled the module, then opened Terminal Emulator:

    su
    acc -s

    This will generate the config file. Use a text editor and navigate to sdcard > acc > acc.conf

    applyOnBoot=wireless/voltage_max:9000000
    applyOnPlug=wireless/voltage_max:9000000

    I also had issues with it stopping charging at 79%, so I changed some more values.

    capacity=0-99
    temperature=50-60_90

    Everything works even better now!

    I have been using an Atomi Model AT1237, which is connected to an Atomi A1251 QC 3.0 charger, rated at 5V=3A, 9V=2A, and 12V=1.5A since I received the phone after the pre-order.
    I used Ampere to test charging before. At around 50% battery, I was getting ~ 180mA average. Yikes!
    After installing ACC and making the changes, I now get upwards of ~ 1100mA awesome! It's still pretty smart though, it definitely doesn't charge at 1000mA if it's past 95% or so, slows down to 340mA which is still double what my charger basically trickle charged at.

    I could not afford the Pixel stand as I preordered instead of waiting for the sale :(
    3
    I'm attaching Tasker profiles I created to automate this in case anyone else needs it. No need to use the ACC Magisk module with this method. Adjust as needed as I have it setup to run only when connected to my car BT.

    The fast charging profile runs first time you start charging and only if temp is below 42C and sets the wireless charging voltage to 9V. After that the CoolDown profile triggers when temp reaches 42.1C and lowers the voltage back down to 5V. The BurnUp profile triggers fast charging again when temp drops to 38.9C
    2
    I am not sure how true is this, my Pixel 3 charges at 1850mA by default without any modification thru wireless charger and 2900 mA with a wired charger. I am using Pixel stand and Pixel 3 charger.
    This is for non Pixel Stand owners to get closer to the speed of a Pixel Stand.
    2
    That needs someone with the Pixel Stand (e.g. not me) to investigate.
    Or, at least do the following while the phone is on the stand, in the terminal:

    Code:
    su
    cd /sys/class/power_supply/wireless
    grep . *
    and post the output here.
    capacity:83
    current_max:1100000
    current_now:1022000
    grep: device: Is a directory
    online:1
    grep: power: Is a directory
    present:1
    serial_number:e0adc0f6
    grep: subsystem: Is a directory
    temp:3220
    type:Wireless
    uevent:pOWER_SUPPLY_NAME=wireless
    uevent:pOWER_SUPPLY_PRESENT=1
    uevent:pOWER_SUPPLY_ONLINE=1
    uevent:pOWER_SUPPLY_CURRENT_NOW=1022000
    uevent:pOWER_SUPPLY_CURRENT_MAX=1100000
    uevent:pOWER_SUPPLY_VOLTAGE_NOW=8914000
    uevent:pOWER_SUPPLY_VOLTAGE_MAX=9000000
    uevent:pOWER_SUPPLY_TEMP=3220
    uevent:pOWER_SUPPLY_SERIAL_NUMBER=e0adc0f6
    uevent:pOWER_SUPPLY_CAPACITY=83
    voltage_max:9000000
    voltage_now:8914000
    :/sys/class/power_supply/wireless #

    Sent from my [device_name] using XDA-Developers Legacy app