TGViewer
Android - Reddit Android - Reddit @reddit_android · 1.32K subscribers
Post #34455 173
Severe Battery Drain & Overheating on HyperOS (Redmi Note 13 Pro 4G / MediaTek). Root Cause Found: Infinite Loop in SatelliteController

PSA: I am posting this root cause analysis to document a severe flaw in the Android 14 / AOSP telephony framework implementation on MediaTek devices. I am not asking for tech support, but sharing the ADB logs and AOSP source code flaw for community awareness and developer visibility.

Device: Redmi Note 13 Pro 4G (MediaTek)

OS: HyperOS (Android 14) - Build 3.0.301.0.WNFEUXM

There is a severe logic bug in the telephony framework of the current HyperOS build. Using Mobile Data triggers an infinite event loop inside com.android.phone, locking the CPU at 140%+ usage and causing massive battery drain and thermal throttling. The device overheats, and the only temporary workaround is to toggle Airplane Mode (just turning off mobile data does nothing).

Using top -m 15, com.android.phone (PID 3173) consistently shows >140% CPU usage. The MediaTek RIL daemon (mtkfusionrild) is also constantly stressed.

By analyzing the radio buffer via logcat, I was able to pinpoint the exact root cause: the system is trying to register satellite modem listeners on a device that does not have satellite hardware.

The following block of code repeats in an infinite loop (around 30 times per second) as soon as mobile data connects:

07-24 00:15:24.708 3173 3173 D SatelliteController: Satellite for carrier is not supported.
07-24 00:15:24.709 3173 3173 D SatelliteController: registerForSatelliteModemStateChanged: add Listeners for ModemState
07-24 00:15:24.709 3173 3173 E SatelliteController: registerForSatelliteModemStateChanged: mSatelliteSessionController is not initialized yet
07-24 00:15:24.709 3173 3173 E SatelliteController: unregisterForModemStateChanged: mSatelliteSessionController is not initialized yet
07-24 00:15:24.709 3173 3173 D SatelliteController: unregisterForModemStateChanged: remove Listeners for ModemState

After digging deeper and cross-referencing with the AOSP source code and MediaTek vendor trees, it is clear this is an issue rooted in the telephony framework handling for Android 14 on MediaTek devices (this exact same INVALID_ARGUMENTS and mSatelliteSessionController loop has also been reproduced on Custom ROMs like crDroid for the Redmi Note 13 5G 'stone').

Looking at the AOSP source code (frameworks/opt/telephony/.../SatelliteController.java), the exception is correctly generated here:

.SatelliteError public int registerForSatelliteModemStateChanged(int subId,
@NonNull ISatelliteStateCallback callback) {
if (mSatelliteSessionController != null) {
mSatelliteSessionController.registerForSatelliteModemStateChanged(callback);
} else {
loge("registerForSatelliteModemStateChanged: mSatelliteSessionController is not initialized yet");
return SatelliteManager.SATELLITEINVALIDTELEPHONYSTATE;
}
return SatelliteManager.SATELLITE
ERRORNONE;
}

The SatelliteController correctly handles the lack of satellite hardware by returning SATELLITE\
INVALID_TELEPHONY_STATE. The fatal flaw is in the higher-level network manager (likely the MediaTek RIL or the telephony framework's state machine). When it receives this error during a network transition (Wi-Fi to Mobile Data), it fails to handle the exception properly. Instead of aborting the satellite registration, it immediately retries the call in an unconditional infinite loop.

A simple conditional check (if (hasSatelliteHardware)) before attempting to register the listener in the network state change event within the calling process will completely resolve this battery drain issue for all MediaTek devices without satellite capabilities.

https://redd.it/1v4x3rd
@reddit_android
Reddit From the Android community on Reddit Explore this post and more from the Android community
More from @reddit_android
  1. Oct 7, 2026GizmoChina - OPPO Find X10 Pro Max Review https://www.youtube.com/watch?v=ceEy8Qd2hMo http…
  2. Oct 7, 2026I made a free camera app that helps with red-green colour blindness (Slant) Hi r/Android,…
  3. Oct 7, 2026vivo X Fold6 review - GSMArena.com tests https://www.gsmarena.com/vivo_x_fold6-review-3006…
  4. Oct 7, 2026Google Messages may soon let you play games with your friends https://www.androidauthority…
  5. Oct 7, 2026Dex rather than Googlebook Early this year I lost my large Samsung Android tablet. I had s…
  6. Oct 7, 2026Linux 7.4 To Mainline Support For The Google Tensor G5, Pixel 10 Devices https://www.phoro…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →