×
all 20 comments

[–]marek26340Galaxy Note 10 Exynos XEZ Aura Black 1 point2 points  (17 children)

I'm in a similar boat as you at the moment. *#0228# menu can only reset the fuelgauge on the battery, which only counts the capacity of the battery.

Samsung phones have a second most important counter - battery cycles - which is stored in a protected EFS partition. The only way to reset the cycle count DIY is with root access when it comes to all phones that are older than the S20 series. S20 and newer have a self repair app available that will reset the cycle counter.
If you don't have root, the service center or someone with access to special Samsung service software are the only ways to reset it.

The fuelgauge only calculates the capacity of your battery to show as accurate battery charge level % as possible and is resettable by either a battery swap, or *#0228#.
The battery cycle counter determines the maximum battery charging voltage (which affects the max capacity you can charge the battery to) and possibly more, like some swelling prevention algorithms and such. The less cycles you have, the closer the end voltage will be to 4.4V which is the max charging voltage of the modern Samsung batteries. It is resettable by "su -c echo 000 > /efs/factoryapp/batt_discharge_level", special Samsung reset tools, or the self repair app if you have an S20 (Galaxy Store).

In my case, I've swapped my battery for a new old stock one from 2020. The battery life did improve a bit, but unfortunately since I don't have root access to reset it, my cycle count is at 1170 cycles and the charging voltage is at 4.24V. With that voltage, my fuelgauge calculates my battery's capacity at 2950mAh, which is quite a bit less than the ±3400mAh it should be at.

[–][deleted] 1 point2 points  (11 children)

shit. i guess ill have to find someone to reset it for me. My battery is estimated to be in similar position. 4.17V and 2900mah. Unfortunatelly the difference to stock is greater in mine because 10 lite has 4500mah stock ;P

[–]marek26340Galaxy Note 10 Exynos XEZ Aura Black 0 points1 point  (10 children)

OMG I think I just got lucky.

I have stopped updating my Note 10 at the April 2023 security patch level to allow me to keep the System Shell exploit working. All security levels after the April one will not allow any app downgrades, which prevents me from downgrading the Samsung TTS app to a vulnerable version.

I swear, I tried the "echo 000 > /efs/FactoryApp/batt_discharge_level" a couple weeks ago and it didn't work at all. Well, I just tried it again right now and holy cow it worked! My cycle counter isn't stuck at 1178 anymore! (Now it's at 16, that's the true cycle count of my new battery as of today.)

You need to have your OS security patch level at or below March 2023. April 2023 is hit or miss - my OS seems to have been compiled on 28.3.2023 and the crippling commit came to Android shortly after that date.

[–]Open-Bumblebee6776 3 points4 points  (8 children)

oh,Bro, you save my life,I tried this method,and it works!!!!!,

NOTE:this option DON'T need root access (so may be easy to operate)

here is the way to all my friends:
1,first, we need to get the system shell(exploit) by this How to get system shell access on any Samsung Galaxy device (xda-developers.com)

2,second after you done the first step,enter 'echo 000 > /efs/FactoryApp/batt_discharge_level'
3, after step2, reboot phone,open sam helper(app) or devcheck (app) to checkout the battery cycles

4, enjoy~~~

[–]Present-Chemistry-62 0 points1 point  (7 children)

Hey there, Thanks for sharing this. I am following you guidance on my device. I have managed to downgrade the TTS and install the exploid however the connection to the port 9997 does not start. Can you share any lessons learned from you successful attempt? Did you opened the port locally on the phone with nc -lp 9997? Any other tricks you used? Thanks

[–]Fancy_Order6844 0 points1 point  (5 children)

Hello, may I ask how were you able to downgrade TTS? I keep on getting an error: `Failure [INSTALL_FAILED_VERSION_DOWNGRADE: Package Verification Result]`. Thank you.

[–]Present-Chemistry-62 0 points1 point  (4 children)

adb shell pm install -d -i com.sec.android.preloadinstaller /data/local/tmp/samsungTTS-arm64.apk

[–]Fancy_Order6844 0 points1 point  (3 children)

Thanks for responding fast! It's still not working on my end. It could be because of the security patch level of my device. Is yours not updated to the latest?

[–]Present-Chemistry-62 0 points1 point  (2 children)

Mine was from March 2023. BTW: I used the apk file from this archive https://github.com/zt64/tts-system-shell/blob/main/assets/exploit.sh

[–]Fancy_Order6844 0 points1 point  (1 child)

Mine is August 2023. Could be why I can't downgrade base from the comment above. I guess that's it for me. Thank you for your help.

[–]SoferulPotrivit 1 point2 points  (1 child)

I managed to reset the mSavedBatteryUsage (the one that has the cycles information) to 0 using your information, thank you a lot for it!

mSavedBatteryAsoc (from what I've read online, it's a percentage showing how 'healthy' the battery still is) is exactly the same as before, though. Shouldn't this also be reset (and maybe other stats as well)?

[–]SoferulPotrivit 0 points1 point  (0 children)

Without waiting for an official answer to this, I also reset the mSavedBatteryAsoc using an "echo 98 > /efs/FactoryApp/asoc"

I did purchase an almost new OEM battery (manufactured 06.2024) - this is why I put 98, if you get a new 'old stock' battery, you might want to echo some 40-50 cycles instead of 000 and a 94-95 asoc instead of close to 100.

Anyway, after the replacement and editing the system files the SOT, for the moment, seems genuinely improved, I charged the phone up to 100%, now on 53% with 3h 20m SOT and 15h standby. I must also admit that I *heavily* optimized the phone - disabled plenty of apps, notifications, dark theme, always Power Saving Mode, FHD screen and plenty others.

I had 1580 cycles on the old battery, with 76 asoc. I was receiving Old Battery notifications from my phone. Battery life still wasn't *terrible*, I am actually quite impressed by how well it served me all these years, though I must admit, I always charged my battery between 20%-85%. I am not a fan of new designs, so I plan to keep the S10 for another 5years after it served me perfectly in the past 5 years.

[–]royalflush01 0 points1 point  (2 children)

Great explanation! Do you know if it is risky to use the self repair app with a "new old battery" or a slightly used one?

[–]marek26340Galaxy Note 10 Exynos XEZ Aura Black 0 points1 point  (1 child)

I'm not a trained tech so I don't actually know that. But in my opinion, these batteries could still be considered new with less than 30, max 50 cycles. The fuelgauge chip should still be able to adjust to any capacity discrepancies.
Old unused (new old stock) batteries do go bad by just sitting on the shelf too - 2 years max and even that could be too long to still consider it new and especially safe to use in a phone which had it's cycle counter reset. This reset will increase the charging voltages back to the levels of a brand new phone and the old battery has an increased chance of not handling that too well (has a chance of swelling up or heating up excessively).

[–]royalflush01 1 point2 points  (0 children)

Well noted. Thank you so much for the quick reply 🙏🏻

[–]SoferulPotrivit 0 points1 point  (2 children)

For those still having an old security patch level (like I did, I was eligible to say so) and for whom the method presented on XDA does NOT work (it didn't for me, it would be stuck waiting for a response on the 9997 port), I managed to make it work using SMT Shell with Shizuku (over Wi-Fi debugging, that's how I did it as I have Android 11 and it was possible) and the Samsung TTS apk provided with the SMT Shell (and NOT the K0mraid3s provided one, nor the zt64 I've seen in the comments below - neither worked for me) in the SMT Shell XDA link below. You can find everything here:

https://xdaforums.com/t/exploit-shizuku-support-smt-shell-v2-0-get-a-system-shell-uid-1000-within-the-app-itself-and-write-your-own-system-app-with-an-api.4561879/

Shizuku is downloadable from Google Play Store.

Now I have 0 on battery cycle, checked by going through the log file obtained with *#9900#. Thank you all who commented here and let me believe it is possible, I genuinely thought only Samsung themselves could reset the stats.

[–]Farrusko 0 points1 point  (1 child)

can you help me with this? ive opened and granted shizuku permission and it says is running, but afer what should i do?

Edit:

Note 10 running august patch 2023 on Android 12

Changed my battery and voltage v3.875 i guess its pretty low, i need to reset battery cycles but cant figure how

Im in portugal oem rom no root

[–]SoferulPotrivit 0 points1 point  (0 children)

Did you not read other's comments here?
marek26340 - "OMG I think I just got lucky.

I have stopped updating my Note 10 at the April 2023 security patch level to allow me to keep the System Shell exploit working. All security levels after the April one will not allow any app downgrades, which prevents me from downgrading the Samsung TTS app to a vulnerable version."

My security patch was April 2021, for example and I used a S10

[–]Farrusko 0 points1 point  (0 children)

Is there any video that i can follow to reset my battery cycles? Ive changed my battery and i need to do it but i dont know how to.