yashsingh1/xdaforums huggingface dataset:
[Samsung Galaxy S23 Ultra] hand-filer:
Go to Settings>About Phone>Battery Information. You will find that Samsung rates it at 4855 mAh.

View attachment 5886029
[Samsung Galaxy S23 Ultra] TheMystic:
What makes you trust 3rd party apps so much, and so easily?
[Samsung Galaxy S23 Ultra] blackhawk:
High storage temperatures and voltages can degrade Li's. I wouldn't worry about it, but replace it when it drops below about 4000 mAh capacity.
[Samsung Galaxy S23 Ultra] JoraForever:
The number aida64 gives is not created by it.

That number is created by the android system.

You can use other apps to view the same system variable.

I believe it is accurate because the system can measure battery drain very accurately.

Battery capacity is the integral of the battery drain measurements, which the system does automatically.
[Samsung Galaxy S23 Ultra] blackhawk:
This assumes the sensors and algorithms used are accurate... they may not be.
[Samsung Galaxy S23 Ultra] JoraForever:
Why wouldn't those be? Measuring current/voltage is one of the things electronics do best.

Innacurate algorithms? What is this 2007?
[Samsung Galaxy S23 Ultra] TheMystic:
This is just a question of the difference between 'Typical capacity' and 'Rated capacity'. This being a brand new device, with battery health expected at 100%, it is too early for the battery to see any sort of degradation just yet.

3rd party apps often do not have access to all data to give you 100% accurate information. They often use some calculations using available information.

As an example, you can try other 3rd party apps and I won't be surprised if they all report slightly different numbers. I always see this happen to storage analyser apps. Each one reports a different value for a particular type/ category of files.

The point is this:

Every unit in the manufacturing process is slightly different from each other, and no two units are absolutely identical.

Rated capacity is the minimum expected capacity of the battery, which Samsung itself says is about 4,855 mAh.

Typical capacity is the average seen among all units in the manufacturing process, and that is about 5,000 mAh.

Depending on the number of charge cycles, the ambient temperature, the battery temperature, etc. this value will keep changing every time you actually measure it, although the differences would be marginal.

A Fun Fact

I stopped using 3rd party apps that reported stats to me after a highly popular app reported high temperature when the phone was cold to touch, and reported low temperature when the phone was actually warm to touch. I trusted my instincts based on how it felt to the touch than what an app reported. Needless to say, I uninstalled it.

My experience with my phone improved significantly once I stopped bothering with too many stats. :)
[Samsung Galaxy S23 Ultra] blackhawk:
It could be a defective component. Samsung is always in a big bad hurry and makes mistakes as does Gookill Android. Return it if it bothers you. Otherwise what I said to begin with.
[Samsung Galaxy S23 Ultra] blackhawk:
Li's start to degrade the moment they're assembled, born to die. How they are stored makes a big difference in how much they degrade; one over temperature event at high cell voltage can noticeably degrade them.

Regardless time itself kills them.
[Samsung Galaxy S23 Ultra] JoraForever:
This is exactly why i'm asking this question, I wonder what is the real battery capacity of other users.
[Samsung Galaxy S23 Ultra] TheMystic:
That's true. But the S23 series wouldn't have lost about 4% battery health so soon (this isn't a display unit). OP is placing over reliance on the values reported by a 3rd party app, which itself is questionable to begin with. He just assumes it to be true, which it need not be.
[Samsung Galaxy S23 Ultra] JoraForever:
Measure device power | Android Open Source Project

source.android.com

This is literally the data the os provides with an API.

I'm not worried about my phone, i'm just asking what are the capacities that other users really see.

If what samsung says it's true, then there should be as many 5200 mAh brand new phones as 4800 mAh phones, i'm just wondering if there are actually people with more or close to 5000 mAh.
[Samsung Galaxy S23 Ultra] blackhawk:
I wouldn't worry about it. Otherwise it opens a big can of worms.

Returning it is the only other sane option. At this price point I wouldn't hesitate to do so. I'm not pleased with this model to begin with. Lol, I'd go for a cash refund...
[Samsung Galaxy S23 Ultra] TheMystic:
The numbers reported for each device would be slightly different. This isn't false advertising.

There is absolutely no need for it.

You have other reasons...and I don't agree with those...🤣
[Samsung Galaxy S23 Ultra] Kfatih:
Mine is between 5000-5100. I use accubattery. Do not unplug for around 30 min after your phone reaches %100, because it keeps charging even if it hits %100.
[Samsung Galaxy S23 Ultra] blackhawk:
What's your top voltage?
[Samsung Galaxy S23 Ultra] Kfatih:
4.45
[Samsung Galaxy S23 Ultra] Mrxyzl:
Been using for2 months

View attachment 5886923
[Samsung Galaxy S23 Ultra] EtherealRemnant:
Testing now. I'll report back in about an hour once the phone is fully charged. Battery Guru is reporting 5015mAh as an estimate based on my charging history but I don't usually let it trickle to full after it shows 100% so that's likely on the lower side.

It's amusing to me that people believe that AIDA64 would be reporting incorrect info when it's one of the most respected desktop applications for system info. I opened up the battery screen and plugged it in and everything it's reporting there is the same as the phone itself reports, right down to the remaining time before it's fully charged and the battery temperature matches Battery Guru too.
[Samsung Galaxy S23 Ultra] EtherealRemnant:
Here's my result.

I haven't had any major problems with my battery so I don't really care but this is what Android believes the capacity to be. That said, it may require some full charge and discharge cycles to increase the accuracy of this measurement and I'm usually going on the charger around 60% because the battery is so good.
[Samsung Galaxy S23 Ultra] Ladamen2019:
My battery size is at 103% 5103mAh
[ASUS ROG Phone 5 / 5s] Oleg056:
The right air trigger is flickering 1-3 points and the second part of the right trigger doesn't work when I try to test it in the "dual partition button setting".

I tried to test the cable and connector, but I cannot find where the cable ends. If I understand correctly, it starts near the vibration motor.

Maybe somebody has faced the same issue and can help me with fixing it.
[Galaxy Note 4 Q&A, Help & Troubleshooting] Samarimama:
Windows 10, 7 and 11 PC's do not recognize the phone, the first time, everything was fine until I enter to bootloader mode.
[Galaxy Note 4 Q&A, Help & Troubleshooting] TheMadScientist:
Have you installed all the proper drivers?
[Galaxy Note 4 Q&A, Help & Troubleshooting] Samarimama:
Yes, lot of time.
[Galaxy Note 4 Q&A, Help & Troubleshooting] Samarimama:
The Samsung drivers.
[Fire TV Original Android Development] Pro-me3us:
Overview

This rooting method is based on a vulnerability in the ARM Mali GPU driver (CVE-2022-38181) discovered by security researcher Man Yue Mo at GitHub Security Lab, to gain root access to the 3rd gen Cube that is on firmware PS7613/3701 or older. Newer method working up to PS7652 here.

The exploit program (gazelle_shrinker) is run directly on the Cube to spawn a temporary root shell for quick access. It can also be run automatically on every boot in combination with @diplomatic's bootless Magisk script to grant apps root access.

For best results, run gazelle_shrinker 30-90sec after boot up, when loading is complete and the device is idle.

Two options for root depending on your needs & comfort level

1) Temporary ADB root - Open an ADB root shell for quick access (PS7613/3701 or older)

Pros:

Access all files and folders from ADB

Simple to use, runs in RAM and doesn't make any changes to the Cube, no chance of bricking.

Remove app package protection so that you can enable/disable any app even without root (eg custom launchers, disabling updates, debloat, etc).

Cons:

Only enables ADB root

gazelle_shrinker occasionally crashes/reboots the Cube when being run. Run it 30-90sec after bootup for greater reliability.

NOTE: gazelle_shrinker won't brick your device, but what you do with that root access can. DM-verity is still in place checking the integrity of the system/vendor partitions, do NOT modify anything in those directories, or the boot partition!!

2) Bootless Magisk - Automatically start a lite version of Magisk that runs entirely from the data partition, (PS7613/3701 or older).

Pros:

Both ADB root and ability to grant root to apps through Magisk Manager

Once the Magisk dameon has started, root can be granted stably whenever needed

Doesn't modify boot or system/vendor partitions, DM-verity is preserved

Cons:

This is experimental, use at your own risk! It's been working stabably during my testing but it's impossible to foresee every issue.

Still relies on gazelle_shrinker to start, and may occasionally crash when gazelle_shrinker runs at boot

Most Magisk modules don't work.

NOTE: Be careful of what apps you give root access to. Giving root access to an app that modifies the boot, system or vendor partitions will brick your device. Again, DM-verity is still actively checking that no changes have been made to system/vendor directories.

Contributors:

Man Yue Mo, @Functioner, @Pro-me3us

@ Thanks to @diplomatic for bootless Magisk script, and @SweenWolf for Launcher Manager

@ Thanks to @Renate for many great tools

@ Thanks to all the folks who have worked on TWRP & Magisk
[Fire TV Original Android Development] Pro-me3us:
Temporary ADB root (PS7613/3701 or older)

View attachment 5944851

Disclaimer: Use this at your own risk, I'm not responsible for any data loss or corruption to your device. There is a nonzero chance of bricking the Cube, and little to no recovery options.

Instructions

Enable ADB debugging in FireOS settings

Download, unzip and copy gazelle_shrinker to your Cube

adb push gazelle_shrinker /data/local/tmp/

Give gazelle_shrinker executable permissions

adb shell
chmod +x /data/local/tmp/gazelle_shrinker

Open an adb shell and run the program

For best results, run gazelle_shrinker 30-90sec after boot up, when loading is complete and the device is idle.

adb shell
/data/local/tmp/gazelle_shrinker
setenforce 0

How to disable package protection

Use gazelle_shrinker to open a root shell, setenforce 0 and delete all the apps listed in the file /data/system/PackageManagerDenyList

/data/local/tmp/gazelle_shrinker
setenforce 0

echo '<?xml version="1.0" encoding="utf-8" standalone="yes" ?><map><set name="DenyListKeyPackages"></set></map>' > /data/system/PackageManagerDenyList

Clear Arcus Proxy, disable Arcus Proxy

pm clear com.fireos.arcus.proxy
pm disable-user com.fireos.arcus.proxy

Optional but strongly recommended, disable updates

pm disable-user com.amazon.device.software.ota
pm clear com.amazon.device.software.ota
pm disable-user com.amazon.device.software.ota.override
pm disable-user com.amazon.tv.forcedotaupdater.v2

A reboot is required before the protection removal changes take effect.

Verify that any apps you disable actually are disabled. Then reboot, and verify again!

pm list packages -d

Optional app button remapping.

Changelog:

v1.1 June 28th, 2023​

Fix for PS7607/3166 through PS7613/3688
[Fire TV Original Android Development] Pro-me3us:
Bootless Magisk (PS7613/3701 or older)

These instructions use an adapted version of @diplomatic's bootless Magisk script & @SweenWolf's Launcher Manager to autoboot, it's recommended you read the original Bootless Magisk post to better understand how it works, and it's limitations.

Disclaimer: Use this at your own risk, I'm not responsible for any data loss or corruption to your device. There is a nonzero chance of bricking the Cube, and little to no recovery options.

Instructions

Enable ADB debugging in FireOS settings

Download gazelle_bootless_magisk, unzip it, and copy it to your Cube keeping the same directory structure

adb shell mkdir /data/local/tmp/bin
adb push gazelle_bootless_magisk/* /data/local/tmp/
adb shell pm install -r /data/local/tmp/magisk_manager.apk

Give scripts & binaries executable permissions

adb shell
chmod +x /data/local/tmp/magisk-boot.sh
chmod +x /data/local/tmp/start.sh
chmod +x /data/local/tmp/bin/magiskinit
chmod +x /data/local/tmp/bin/gazelle_shrinker

Install Launcher Manager on your Cube, open, navigate to 'other settings', 'ADB Commands'

Tap on the + icon in the top right corner to create a new command

Enter Name: Start Magisk

Enter Command: sleep 30 && /data/local/tmp/start.sh

Check 'Execute on Boot'

Save

View attachment 5886047	View attachment 5886043	View attachment 5886045

When you reboot your Cube, bootless Magisk will automatically start ~30sec after your homescreen loads. It's important that FireOS has loaded and that the device isn't busy, so don't open any apps until after Magisk has loaded. There's a greater chance that gazelle_shrinker will fail or reboot the Cube while launching Magisk if the device is busy.

TO AVOID BRICKING YOUR DEVICE:

Be careful of what apps you give root access to. Giving root access to an app that modifies the boot, system or vendor partitions will brick your device. DM-verity is still actively checking that system/vendor directories haven't been tampered with.

Don't run the boot-magisk.sh script (from either ADB or Launcher Manager) more than once per boot. Doing so will mess up the mounting and module initiation.

Never toggle ADB debugging off/on in the Developer's menu while Magisk is running. This will kill the Magisk daemon running in the background, and could corrupt your device if it's in the middle of an important process.

Only use WiFi ADB, not USB ADB. Booting the Cube with an USB attached computer puts USB in device mode, and ADB will close and kill Magisk when the Cube sleeps in device mode.

This release includes Magisk v21.4 (magiskinit) and Magisk Manager v8.0.7. Don't update Magisk! Patching your boot image will brick your device!

Changelog:

v1.1 June 28th, 2023​

Fix for PS7607/3166 through PS7613/3688
[Fire TV Original Android Development] Pro-me3us:
Manually update new 3rd gen Cube firmware PS7299/3052 --> PS7613/3701

New 3rd gen Cubes are (as of September 29th, 2023) shipped with firmware PS7299/3052. To update the device firmware to the last version (PS7613/3701) that gazelle_shrinker still works on, follow these steps:

Download the full PS7613/3701 firmware to your Cube's 'Download' folder (Downloader code: 271370)

Run the following commands:

gazelle:/ $ /data/local/tmp/gazelle_shrinker

gazelle:/ # setenforce 0

gazelle:/ # mv /sdcard/download/update-kindle-gazelle-PS7613_user_3701_0025401652612.bin /data/ota_package/update.bin

gazelle:/ # echo 'recovery\n--update_package=/data/ota_package/update.bin' > /cache/recovery/command

gazelle:/ # reboot recovery

Done. The Cube will reboot to recovery and update. This method requires root access, and can only be used to upgrade firmware, NOT downgrade firmware.

Note: All the initial release bugs were fixed by PS7613/3701. The audio capabilities of a small number of soundbars / receivers were still not being fully detected on the FireOS Audio and Video Diagnostics page. There was a patch for these affected devices in PS7652. Otherwise there are no reported benefits of updating beyond PS7613 so far.
[Fire TV Original Android Development] Pro-me3us:
Resources

- How to skip forced update during new device setup / following factory reset

How to block updates with a DNS block, entered during WiFi password setup​

- How to manually update firmware (intended for new devices shipped with PS7299)

- Firmware links (XDA / Github)

System apps (Prime Video, Amazon Music, etc)​

- Set a custom launcher with Launcher Manager

Wolf Launcher​

Flauncher​

LeanBack on Fire​

Projectivy Launcher​

Emotn​

- Advanced custom launcher: maintains recent button, settings page, app store search functions.

- Remap remote app buttons

Root Version History

April 11th, 2023

[Temp ROOT] ≤ PS7613/3701

Spawn temporary root shell, gone after a reboot

Run a single file directly on the Cube to gain ADB root

Remove app protections

enable/disable any app even without root

use custom launcher

block OTA updates

disable Amazon AppBlockList

backup & restore app data

access all files and folders, and more...

[BOOTLESS MAGISK] ≤ PS7613/3701

Lite version of Magisk to grant root to any apps, and use su in ADB.

Limited, most Magisk modules don't work

* Requires ADB run from Windows, Mac, Linux or Android to install, your choice.

June 16th, 2023

[Temp ROOT] ≤ PS7652/3564

Same as temp root from April 11th, 2023 using new GPU exploit
[Fire TV Original Android Development] Rortiz2:
This is really interesting and exciting. I wonder if this vulnerability affects any other Fire HD devices as well (obviously those using Mali GPUs). If you don't mind me asking, what are your plans regarding the PoC's source code? (nevermind, I think I found the original POC here). Could you give some hints regarding to what needs to be changed in order to port the exploit to other devices? I'd love to test it and learn more about this CVE.​
[Fire TV Original Android Development] Pro-me3us:
I made a post on the FireHD section about this yesterday, I can add details there. I want to keep this thread focused on the 3rd gen Cube and issues with the rooting binary
[Fire TV Original Android Development] Skel40:
Amazing work @Pro-me3us! I'm soon going to buy one if I have the time and try it out before it's patched. I wonder how @k4y0z unlocked the sheldon/p devices with the decryption to see what we can do to decrypt the 3rd gen Cube as well since it sounds so similar to this thread with the firmware version to unlock the sheldon/p and root the device. And for what it's worth it's better to stay locked on 7.6.1.3 and below like you said.
[Fire TV Original Android Development] Pro-me3us:
I admit I haven't followed the MTK exploits closely. Any bootloader unlocking these days is going to require 2 (or more) exploits. One exploit for the bootloader itself, and a second exploit to put that first exploit in place. Gazelle is missing a bootloader exploit. Amlogic and MTK devices use very different bootloaders, and aren't likely to have any overlapping vulnerabilities. I hope that gazelle_shrinker can give someone else a foot in the door to find something, but bootloader vulnerabilities are rare.
[Fire TV Original Android Development] Jerri1240:
Sorry, I know this is an absolutely idiotic question but how to I do this

Use gazelle_shrinker to open a root shell, setenforce 0 and delete all the apps listed in the file /data/system/PackageManagerDenyList

I'm using the concole in adblink2. I know nothing about this stuff so was basically just following the guide, but no idea what that means. Again, I realise it’s probably stupid, but if I don't ask I don't learn.
[Fire TV Original Android Development] Pro-me3us:
No problem, in the guide above I'm summarizing the instructions, an then providing the commands to copy and paste below each summary.

I'm assuming that you have already copied gazelle_shrinker to /data/local/tmp/ on your Cube

Instead of using ADBLink's console button, use the ADB shell button, to open a terminal window on your Cube where you can enter the commands in the instructions (you will see this gazelle:/ $ prompt). Hopefully this gives you an idea of the flow of the instructions:

You want to paste in each of these commands one by one

gazelle:/ $ chmod +x /data/local/tmp/gazelle_shrinker

gazelle:/ $ /data/local/tmp/gazelle_shrinker

gazelle:/ # setenforce 0

gazelle:/ # echo '<?xml version="1.0" encoding="utf-8" standalone="yes" ?><map><set name="DenyListKeyPackages"></set></map>' > /data/system/PackageManagerDenyList

gazelle:/ # pm clear com.fireos.arcus.proxy

gazelle:/ # pm disable-user com.fireos.arcus.proxy

You are going to want to disable updates, since Amazon is definitely going to patch this type of access to the Cube
[Fire TV Original Android Development] Skel40:
Got one yesterday and tried the temp shrinker root and all works good for now. I just want to give a heads up to anybody trying this guide to go ahead and update to 7.6.1.3. Disable HDR is available instead of Adaptive and the Always HDR mode. I'm now stuck on the Magisk temp root guide above.
[Fire TV Original Android Development] Jerri1240:
Thank you, really do appreciate it.

I basically don't want to look at Amazon's launcher so had been using sweenwolfs manager, but if I can disable updates that's even better. I've been using wolf launcher on my gen2 cube and just got the gen3 this week so really happy to have been able to do this. Thanks again for the idiots guide.

Second idiot question, is there a lost of things I should install, and if updates are stuck on 'checking now...' I assume turning off updates has worked? And lastly, do I want to install bootless magisk too?
[Fire TV Original Android Development] Skel40:
Other than the temp gazelle exploit shell you inputted the only thing left is Magisk temp root which you'd have to be careful in case you want to have root apps. Since the updates are stuck on 'Checking now' yes it means it has worked and typing in adb shell pm list packages -d should show com.amazon.device.software.ota and other packages disabled meaning it has worked. To be safe to verify reboot and run the command again to quickly check that the system didn't encrypt the package manager.
[Fire TV Original Android Development] Jerri1240:
Thank you. No, I just want to be able to use a launcher I like and not have an Amazon update disable it. So I can just leave as is.
[Fire TV Original Android Development] Skel40:
No problem and yeah honestly due to its limitations I'd rather not take any risks given the price of the device but we're definitely getting somewhere for sure with having control at least.
[Fire TV Original Android Development] Pro-me3us:
When you disable the OTA apps, you should get a near instant 'Update Error' when checking updates

gazelle:/ $ pm disable-user com.amazon.device.software.ota

gazelle:/ $ pm disable-user com.amazon.device.software.ota.override

gazelle:/ $ pm disable-user com.amazon.tv.forcedotaupdater.v2

View attachment 5889525

Now that you have removed the package protections, you can use Launcher Manager to disable the OTA packages above

Launcher Manager / Other settings / Amazon OS Updates / Block updates

This will have Launcher Manager run the pm disable-user commands for you.

Do as @Skel40 recommended, verify that all the apps you disabled, are actually disabled from the command line, especially Arcus Proxy.

gazelle:/ $ pm list packages -d

I also agree with Skel40 about Magisk, if you don't need it for any apps you are using, it's an extra complication that you are better off without.

@Skel40 thanks for confirming everything is working! If you have any issues getting bootless Magisk working let me know. You can enable/disable it by just checking/unchecking 'execute on boot' in Launcher Manager and rebooting the Cube.
[Fire TV Original Android Development] Jerri1240:
No update error. just 'checking now', launcher manager lists update status as blocked, though.

pm list packages -d gets me the following

package:com.android.nfc

package:com.fireos.arcus.proxy

package:com.amazon.tv.forcedotaupdater.v2

package:com.amazon.device.software.ota

package:com.amazon.device.software.ota.override
[Fire TV Original Android Development] Pro-me3us:
Since pm list packages -d has it listed as disabled, that's all that really matters.
[Fire TV Original Android Development] Jerri1240:
Thanks again for the help. Really appreciate it.
[Fire TV Original Android Development] Tukufu52:
My bad.

Can't find service: package. I'm seeing the pound sign this time..

Now,,,, everything is permission denied... Lmfao..😂😂😂

Anything I do now,,, PERMISSION DENIED...😒