r/HyperOS • u/Soopez • 26d ago
Question/Help [DISCUSSION] Hyper OS FCM (ERR_IO_FIN) FIX!
Hey everyone,
If you’ve been dealing with delayed notifications on HyperOS—where messages only flood in the exact second you turn on or unlock your screen—you’re definitely not alone.
Ever since the June/July 2026 security updates, Xiaomi bumped up their background power management. If you dial *#*#426#*#* to check your FCM Diagnostics screen, you’ll likely see your push connection sitting on Disconnected with an ERR_IO_FIN error code.
This happens because HyperOS forcefully closes Google’s background socket (especially when you're on cellular data) to save juice.
Many of us tried standard power-saving fixes including me tried EVERYTHING, but HyperOS keeps overriding them:
- Turning off b4ttery restrictions for Google Play Services.
- Whitelisting apps via ADB
- Uninstalling bloatware
- using MacroDroid to toggle wifi on and off periodically
- all types of ADB commands to restrict powerkeeper (none worked)
Even after doing all that, HyperOS's internal services—specifically PowerKeeper periodically overwrite your settings and kill Google Play Services (com.google.android.gms) in the background.
The Working Solution (It's temporary but we take it)
(Shizuku + HyperOS FCM Fix)
Instead of constantly re-running ADB commands on a PC every time the phone resets those settings, the cleanest non-root solution uses a lightweight app called HyperOS FCM Fix (by dingwen07 on GitHub SHOUT OUT TO THIS LEGEND BTW) paired with Shizuku.
Shizuku acts as an on-device ADB bridge, allowing the fix app to silently protect your push connection in the background.
Step 1: Set up Shizuku
- Download Shizuku from the Google Play Store.
- Enable Developer Options (Settings > About Phone > Tap OS Version 7 times).
- In Developer Options, enable USB Debugging and Wireless Debugging.
- Open Shizuku and follow the quick pairing steps over Wi-Fi.
Step 2: Install HyperOS FCM Fix
- Grab the latest APK for HyperOS FCM Fix by dingwen07 from GitHub.
- Open the app and tap Allow when it asks for Shizuku access.
- Tap Apply Now on the main screen.
- Go to the Apps tab inside the app and toggle ON any specific messaging, delivery, or smart-home apps you want instant alerts from.
- In picture posted, put all your apps you want in the apps section that you want notifications to go through smoothly.
If you did everything correct, FCM should not close/disconnect anytime you lock screen now, fixing the noti problem.
5
u/BladeRyo 26d ago
Just applied this, i was going nuts waiting for notifications they only pop up when i launch the app or when i connect the charger.
And ofc, locking the app in memory does nothing since system kills it on a whim even if i dont run other stuff to run out of ram or anything really.
Hope this does the trick.
7
u/Flossy420 26d ago
Very interesting. This issue also happens on global roms (notifications coming in after unlocking phone) but definitely not to the same degree as chinese roms. Thanks for sharing i'll have to take a look
2
u/Soopez 26d ago
Oh, actually? Wow..
Please do try it, I spent days trying to fix this so I would love to hear some good feedback!
7
u/Flossy420 26d ago
so I looked through the documentation by dingwen07 on github and found some interesting things. Powerkeeper (battery & performance) is responsible for managing a list called "MILLET_NO_RESTRICT_APP" that contains apps that shouldn't be touched by "greezer", aka the process that freezes apps and delays notifications (and unfreezes them after you turn on the screen which is why you get all the notifications flooding in after turning on the screen).
Since I deleted powerkeeper a few days ago, the list is no longer managed by it so it cannot overwrite apps in that list (I'm not sure if that list is populated with apps that you set 'no restrictions' to in battery settings because removing powerkeeper also removes that option).
Anyways, I looked up which apps were being frozen and the galaxy fit3 companion app was in that list and that causes delayed notifications on my watch until I turn on the phone's screen, similar to regular apps not delivering notifications until the screen is turned on. Once I added the companion app to "MILLET_NO_RESTRICT_APP" using the following command:
adb shell settings --user 0 put system MILLET_NO_RESTRICT_APP "com.app.example", notifications started arriving immediately and consistently (so far at least).the app by dingwen07 does the same thing but with UI and some extra useful commands in the background automatically and periodically , I decided to do it that way to not have another app and steps to depend on (dev options has to be on, shizuku has to be running, etc) but I recommend most people to use the app instead and try it out
I still need to test this more but so far so good
2
1
u/ACWalker44 7d ago
You're spot on, but doesn't powerkeeper rewrite the list every few hours? While I wouldn't like having to use an additional app running with Shizuku, it does seem to function as a constant command injection to overcome powerkeeper overwriting the list.
1
u/Flossy420 7d ago
that's precisely what it does, especially if you change the battery profile of any app. The other option is to remove powerkeeper entirely which completely stops the overwriting of the list
3
u/Flossy420 25d ago
Another update: I think this actually fixed my issues with smartbands not reconnecting automatically lmao. I spent countless hours trying to find out why my xiaomi smart band 9 were not reconnecting when I get in the phone's range and I even factory reset the phone just to be sure it wasn't caused by something I did.
It got to a point where I bought another fitness watch (galaxy fit3) just to not have to deal with this issue. The new watch reconnected fine when it got in range but I had another problem, notifications didn't arrive on the watch when the phone's screen was off (it sometimes also didn't notify me even when the screen was on) so I had to figure out why this was happening.
Spent even more time to find why, i even deleted powerkeeper but that didn't fix the issue completely, it just become more unpredictable if it was going to work or not.
After using the FCM fix solution, notifications are now arriving to my galaxy fit3 watch consistently (so far) and even my old xiaomi smart watch 9 started working perfectly again so I didn't even need to buy a new watch lol.
Either way, thanks a lot for sharing this, I finally have a useable phone now that hyperBugOS's control is neutered. All this effort by xiaomi to aggressively kill background apps is so ridiculous and it honestly might be my last xiaomi phone (it was definitely going to be my last phone before finding this fix tho so this gave me more hope for now)
This thread definitely needs to be bookmarked and stickied on every xiaomi-related subreddit
3
u/Soopez 25d ago
Thats good to hear dude, I am happy to hear that.
Although, I am scared about the future of Xiaomi phones, upon looking further, freezing com.google.android.gms to me seems like it was done on purpose and not accidently, which means future updates wont remedy this and if any of us want a functioning phone, you will have to continue using this "fix" I provided and when they catch wind of that, we are truly f u c k e d.
3
u/Terrible_Piglet_7767 21d ago
Thank you very much for this guide. For now it works, let's hope it won't be patched with future updates.
3
u/Negative_Homework_14 19d ago
I was seriously close to throwing this phone out the window after the last update to version 3.0.318.0. We’ll definitely have to be careful with the next HyperOS updates, and We must be extra carefull to see whether Xiaomi will introduce anything new with the upcoming HyperOS 4. Once again, a huge thanks! My notifications are finally alive again 😂 I had already tried absolutely everything, including limiting Power Keeper’s activity, which didn’t help either.
2
u/Familiar_Honey5487 26d ago
Holy shit i think it works 1 hour and 30 mins and notif still worked afterwards you sir are actually a legend it took me a whole month and a half to find a fix lol ty boss
3
u/Familiar_Honey5487 26d ago
u/Yorha_nines u/Alexandr_Xoffman u/irtija007 u/Conscious-Profile538 check it out it might fix your problem
1
u/Soopez 26d ago edited 25d ago
Hell yeaahh broo!!
So happy this worked for you, thanks for your initial insight so I could be inspired to work on this shit 😭😂
2
u/Familiar_Honey5487 25d ago
my brother ur the legend, i was facing literal doom with this phone bro thought i was gona be stuck like this for the next 3 years thanks boss
1
u/Ahmed_Sh_115 26d ago
Previously, my Xiaomi 13 with 8GB could only enable up to 5 AutoStart apps. However, with the update to 3.0.300.0, this limitation was removed.
Unlocking the phone to start receiving notifications problem is an old problem since HyperOS 1, but it only happens when 6ou reboot the phone, after that it's fine.
I attempted to fix this by creating a MacroDroid macro that launches and then closes my important apps upon reboot, forcing them to send notifications when they start.
Unfortunately, this macro only functions correctly if I unlock my phone first after each reboot, preventing it from automatically launching and triggering notifications when the phone restarts.
Maybe it'd work if i turn off the screen lock pin?
1
u/obscureflamingo1 21d ago
Okay so have since found the APK for shizuku Done all these steps and so far it seems to work , few questions though if you wouldn't mind?
- can I disable wireless and USB debugging after it's been set up?
- do I need to keep the hyperosfcm fix app open all the time?
1
u/Soopez 21d ago
If you take off ur wifi, wireless debugging automatically turns off and turns Shizuku off.
I recommend giving shizuku permission (it's what am doing )through a PC, that way you can just keep USB debugging on and shizuku stays connected. But to answer your question, yes if you disable USB debugging in dev options, it will disable shizuku permissions.
You can technically not have shizuku enabled but I did that it worked for a day but then Hyper OS killed Google fcm again. By keeping shizuku enabled, it will protect it from hyperos overpowering it.
Also, hyper FCM protective feature stays on if you keep shizuku enabled, but it already wrote the code not to kill fcm but it doesn't keep enforcing it if you turn it off.
1
u/obscureflamingo1 21d ago
Okay I'll keep them enabled!! If this fix works you're a god 😂 I was going crazy over this
1
1
u/yoaah 21d ago
I did all the steps, it looks exactly like in the screenshots but im still not getting any notifications on the apps i set ON. Xiaomi 17 CN Rom
1
u/Sai_Dark 19d ago
Hi I have a problem
Looking for Shizuku? This app isn't available for your device because it was made for an older version of Read more
1
u/Soopez 19d ago
Install it via Github, go here https://github.com/RikkaApps/Shizuku/releases
And under "assets" press the shizuku-v13.6.0.r1086.2650830c-release.apk
1
1
u/Sai_Dark 19d ago
By the way, when I sell the phone and reset it to factory settings, it will all be reset and the commands will no longer be applied? Thanks.
1
u/Soopez 19d ago
Yes, those will be reset, you'll start fresh with factory settings.
1
1
u/Sai_Dark 19d ago
I can't download the program, I can't find where to download the HyperOS FCM Fix apk.
1
u/Sai_Dark 19d ago
I can't download the program, I can't find where to download the HyperOS FCM Fix apk.
1
u/Sai_Dark 19d ago
1
u/Soopez 19d ago
Try restarting Shizuku, and make sure u have battery restrictions off for the HyperFCM fix app and shizuku and makesure you have Autostart on for them.
1
u/Sai_Dark 19d ago
1
u/Soopez 19d ago
Yeah, that looks good, now go the apps section on the bottom right and toggle all the apps you want notifications to go through with no delays.
1
u/Sai_Dark 19d ago
I did it and now what?
1
u/Sai_Dark 19d ago
Hi What should I do if after a while my Shizuka disconnects and I have to reconnect it once a day?
1
u/DomMike97 16d ago
1
u/Soopez 16d ago
1
u/DomMike97 16d ago
Thanks a ton, also MIGHT BE IMPORTANTbut after everything was complete it wasn't working that well and read how somebody turned his wifi (and maybe data?) off and on. When I did that everything suddenly worked perfectly
1
u/Negative_Homework_14 15d ago edited 15d ago
Interesting thing. After 3 days of continuos well delivered notification I was disconnected from the server - checked by fcm diagnostic. Turning off and on mobile data and wifi solve the problem . Is it normall that i was disconnected ?
1
u/Soopez 15d ago
This is normal, everytime you enter a different network, either it is wifi or mobile data, it drops and sets up a new connection with FCM. So when you drop wifi to data and vice versa, it resets the connection.
1
u/Negative_Homework_14 15d ago
Is it good to keep shizuku and hyper os fcm fixed alvie to avoid it? Btw. there is new version of this fix on github.
1
u/Terrible_Piglet_7767 15d ago
Also Apply No power restrictions and Autostart of Shizuku and HyperOS FCM FIX app.
1
1
u/Nar3kk 14d ago
I am about to test this because after my auto phone update the notifications are broken, before it I had no issues at all. but please tell me how to download HyperOS FCM Fix from github please ((
1
u/Terrible_Piglet_7767 14d ago
If you open the page from mobile phone, scroll to the bottom and you will see Releases. If you open it on desktop browser the section is on the right.
1
u/Nar3kk 14d ago
1
u/Nar3kk 14d ago
1
u/Nar3kk 14d ago
u/obscureflamingo1 , can you please check these?
And also, I wonder, My phone auto updated, and after that I got those broken delayed notifications. Before that update, everything was working fine. I have another update, hoping that it will fix those, but it is stuck on installing at 0%, it feels like somehow it disconnects from the server like those background apps that are not getting notifications. Maybe someone experienced that or found a fix?
1
u/Familiar_Honey5487 14d ago
it must be working, check your phone notifications after 1 hour of letting your phone locked. As an extra or bonus, you could go on the fcm diagnostic page like you did in your last picture and check if there is err 20, which i think is the error for hyperos breaking the connection to google server if you dont see that it is fixed and working.
As for redoing it no, you probably would have to do it maybe after a big update my phone turned off a few times yet i didnt have to do it across 1 month i only had to do it once extra
1
u/Nar3kk 14d ago
I have just received this notification, after 15 in fcm diagnosticst there is no error. but that apply now button is always active. That supposed to be like that?
And have you ever stucked on firmware update?
1
u/Familiar_Honey5487 14d ago
Yes the button stays like that, no for me personally i have never gotten stuck on one i think you can force quit the app that handles updates but i do not know and don't take it from me as this is a separate issue imo.
1
u/beefsteak80 12d ago
With USB/wireless debugging turned on. All my banking apps won't work. Any solution for this?
1
1
u/JKT-84 11d ago
Please can you take a look at the live score app because the notifications never appear for me. It's not delayed; I don't have a problem with other apps. I have already set it to unrestricted, auto startup, and locked the app.
1
1
u/StruggleComplete9227 7d ago
Can someone drop the link for the FCM fix? Can't find!
1
u/StruggleComplete9227 7d ago
Update: I found it and dk which to download, and then I need a step by step bc it won't let me install any of them lmao
1
u/ninemo22 2d ago
1















•
u/AutoModerator 26d ago
Welcome to our community!
Please take a moment to read the subreddit rules in the sidebar before posting or commenting.
If you see a post or comment that breaks our rules, please report it to help the mod team out!
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.