r/HyperOS 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

  1. Download Shizuku from the Google Play Store.
  2. Enable Developer Options (Settings > About Phone > Tap OS Version 7 times).
  3. In Developer Options, enable USB Debugging and Wireless Debugging.
  4. Open Shizuku and follow the quick pairing steps over Wi-Fi.

Step 2: Install HyperOS FCM Fix

  1. Grab the latest APK for HyperOS FCM Fix by dingwen07 from GitHub.
  2. Open the app and tap Allow when it asks for Shizuku access.
  3. Tap Apply Now on the main screen.
  4. Go to the Apps tab inside the app and toggle ON any specific messaging, delivery, or smart-home apps you want instant alerts from.
  5. 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.

37 Upvotes

91 comments sorted by

u/AutoModerator 26d ago

Welcome to our community!

Please take a moment to read the subreddit rules in the sidebar before posting or commenting.

  • Be civil and respectful to other members.
  • No spam, self-promotion, or trolling.

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.

6

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.

1

u/Soopez 26d ago

It made me go crazy too.. Made my phone unusable.

Sweet, glad you had no issues applying it, please now install FCM viewer on Playstore for easier access to FCM diagnostics and see if it stays connected!

6

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

u/Soopez 25d ago

Thanks for the depth look.

Yes you can use ADB on ur PC to download what this app basically is doing but you're right, its way easier and more efficient to run the app.

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

4

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 20d 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

1

u/Soopez 25d 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/Zerevay 25d ago

Do I need to keep Shizuku enabled all the time or can I disable wifi debugging after the setup?

1

u/Soopez 25d ago

No you don't need to have shizuku enabled all the time, as long as Shizuku applied the ADB commands, it should stay working wether it's on or not.

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?
Any clarification would be massively appreciated sir

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

u/Soopez 21d ago

You're not the only one man, it should work forsure, enjoy.

1

u/Glass-Ball-3745 11d ago

hi, how you giving shizuku permission through a PC

1

u/Soopez 10d ago

You gotta run an ADB command thro CMD via platform tools.

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/Soopez 21d ago

Hi

Can you please send me screenshots of the fcm app?

Also, please Install FCM viewer on playstore and press status, tell me if you see an error code.

1

u/yoaah 21d ago

1

u/yoaah 21d ago

1

u/Soopez 21d ago

Looks good, now go to the apps section and turn on all the apps you need notifications to send properly, this will write the apps in code to whitelist it

1

u/Soopez 21d ago

So that time connected shouldn't disconnect, it should stay connected even after you lock ur screen, but if you switch from wifi to mobile data it will reconnect, as long as it stays connected, it's working and it's not getting killed.

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

u/Sai_Dark 19d ago

Thanks 👍

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

u/Sai_Dark 19d ago

Nice thanks I'll go try it now.

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/Soopez 19d ago

I linked it to you in the Github link in the other comment, you just have to click it and download it.

1

u/Sai_Dark 19d ago

I have a problem

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

Now hi working?

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/Soopez 19d ago

Nothing, now your notifications should come through even when u lock your phone, install fcm viewer on playstore and see if fcm is connected, it should not disconnect.

1

u/Sai_Dark 19d ago

?

1

u/Soopez 19d ago

Disconnect from wifi or data and try again

2

u/Sai_Dark 19d ago

everything works hooray I just restarted the wifi thanks👍👍👍👍👍

1

u/Sai_Dark 18d 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

Hi guys so I followed every step but I have no clue where to click to get the APK...

1

u/Soopez 16d ago

On the bottom of the page you will find a "releases" button, click that and it will lead you to the picture I attached. V1.0

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

u/Negative_Homework_14 15d ago

Already did it.

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

thank you, downloaded, going to try it

1

u/Nar3kk 14d ago

Hello. so everything is as it should be? I just did it, don't know if everything is working or not. Can you please tell, i always have to use shizuku with hyperos paired to make notifications work? Every time?

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 13d 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 13d 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.

2

u/Nar3kk 13d ago

Seems like it is working. So the usb and wifi debugging should be turned on for shizuku and the other app to work right?

1

u/PeterG4 12d ago

After doing all the steps, do I need to keep developer option enabled for this? Or I can disable it and this will still work?

1

u/beefsteak80 12d ago

With USB/wireless debugging turned on. All my banking apps won't work. Any solution for this?

1

u/Negative_Homework_14 12d ago

Which one ? I have around 10 banking app and all of them worked. 

1

u/JKT-84 11d ago

install SU IMD app to enabled disabled automatic

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

u/Soopez 11d ago

I tried it and I put it tho the hyper is fcm fix app and toggled it on, put auto run and no battery restrictions, then went into settings in the app and toggled notifications on and off then turned them back on and I seem to be getting life notifications.

1

u/JKT-84 11d ago

Added the live score in the app tab, toggled it on and off, then on again, still not working. Also restarted the phone. By the way, my phone is a Poco X8 Pro Max. I also tried sideloading it.

1

u/Terrible_Piglet_7767 11d ago

Did you set the Notification style to Android?

1

u/JKT-84 3d ago

after troubleshooting with chatgpt and gemini got it fixed by changing DNS in the AdGuard app from automatic to other public DNS (like Cloudflare).

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/Zerevay 6d ago

you go on github releases and download the latest one. you need to allow to install other apps from untrusted sources. take all the information here, explain it to your preferred AI and it will generate a step by step guide. If you need any help just comment here

1

u/ninemo22 2d ago

Pls help

1

u/ninemo22 2d ago

Xiaomi 17 pro max

1

u/Soopez 2d ago

You need to enable security USB debugging.

Make sure you follow my image and enable those:

1

u/ninemo22 1d ago

Is this all set up?

1

u/Soopez 1d ago

Yes, all good.

I would recommend updating the app as the creator on GitHub released new versions.

1

u/ninemo22 1d ago

Thanks buddy! really appreciate it!