Untitled Excavation
The ERIS Problem: How Samsung Murders Your Battery
I’ve been charging my Z Fold 4 three times a day.
I’m sitting at a dive resort in Dumaguete, Philippines. The nearest Samsung repair center is a 45-minute trike ride and a ferry away. So I did what any Android developer with 8 years of bad decisions and a wireless ADB connection would do. I diagnosed it myself.
Is my battery dying, or is something killing it?
Turns out the hardware is fine. 97% health after two years. The phone isn’t dying. Samsung is murdering it in its sleep.
UID 1000 — 466 mAh
com.sec.erisclient.natkeepalive — 5,045 wakelock events
My first theory was the usual suspects. I expected Facebook. I expected Chrome. I expected the ad-tech parasites siphoning data to a server farm in Virginia.
Nope.
Samsung’s own system services were the single biggest battery consumer. All background. All the time. The call is coming from inside the house.
The smoking gun is ERIS. Every 15-30 seconds, Samsung’s ERIS client wakes your phone to send NAT keepalive packets. Your phone literally cannot sleep. It’s like having a toddler poke you in the ribs every half-minute all night.
And ERIS brought friends.
- Samsung Positioning (🚩) — redundant location service polling sensors constantly. You do not need two compasses.
- IPS Geofence (🚩🚩) — indoor positioning scanning WiFi/GPS. I leave the resort to go diving. I come back. I don’t need geofencing for this.
- Rubin AI (🛑) — on-device AI doing god knows what.
- Device Analytics Agent (☠️) — telemetry to measure how fast they kill your battery.
| Component | Drain (mAh) | % of Total | Notes |
|---|---|---|---|
| CPU | 1,154 | 59% | 335 mAh with screen off |
| Screen | 560 | 29% | |
| Wakelocks | 66.6 | 3.4% |
The kicker? Samsung Doze-whitelists their own services at the system level. Android’s battery optimization is bypassed entirely for Samsung’s bloat. It’s like a fire marshal exempting his own house from the fire code.
I checked a second device. A Galaxy A07. Six weeks old. 100% battery health. Same disease. The root process held a wakelock for over 25 hours straight. Samsung Positioning ran sensors for two days nonstop.
Time for the fix. No root required. Think of pm uninstall -k --user 0 less as deleting, and more like putting a horcrux in a lead box in the attic.
# Know your exits before you go in. Reversible via factory reset.
# 1. Pair and connect via wireless ADB
adb pair <phone-ip>:<pairing-port>
adb connect <phone-ip>:<connect-port>
# 2. The Autopsy
adb shell dumpsys batterystats | grep "Estimated power use" -A 100
# 3. The Exorcism (Safe removal of bloat)
adb shell pm uninstall -k --user 0 com.sec.erisclient
# 4. Enable adaptive battery (Samsung "forgets" to turn this on)
adb shell settings put global adaptive_battery_management_enabled 1
# 5. Strip the Doze whitelist immunity
adb shell dumpsys deviceidle whitelist -com.samsung.android.location
I’ve been building Android apps for 8 years. I’ve written code for McDonald’s, Starz, and Seamgen. I’ve debugged performance issues on everything from flagship foldables to $130 budget phones. I had no idea Samsung was doing this until I looked.
They bet you won’t look.
They bet you’ll blame the battery, buy a new phone, and repeat the cycle. For most people, that bet pays off. But I’m a retail degenerate who tracks his /ES futures trades in a spreadsheet and logs his PPo2 limits. I look at the data.
Your Samsung is not dying.
Check the logs before you check your wallet.