This fix is based on the work of wmn79, his thread concerning this issue can be found here: http://forum.xda-developers.com/goog...twork-t2969702
Backup your system!
This fix works for me and I share this with you. I am not responsible for any damage to your phone or any data loss you encounter.
When connecting to home mobile network you have to enable data roaming in order to get data working.
Your mobile provider is using different MNC numbers which are not recognized by Android as a non roaming network.
According to wmn79's thread we can fix this by modding the framework-res.apk of Android. He mentions in his thread to push the modified apk with custom recovery update.zip. As I want to stay on stock rom this is no solution for me and fortunately there is a way without custom recovery.
- Root your phone. I am on stock 090915 (OTA) and it came pre-rooted. All I need to do was installing SuperSU from Playstore.
- Copy framework-res.apk from /system/framework to your computer
- Install apktool (http://ibotpeaches.github.io/Apktool/install/)
- Install framework: "apktool if framework-res.apk"
- Decompile framework-res.apk: "apktool d framework-res.apk"
- Edit/Create Files in created framework-res folder (details below)
- Compile framework-res.apk: "apktool b -c framework-res"
- Copy the modded framework-res.apk (It is inside the framework-res/dist folder) to the Downloads folder of your phone. Do not copy it directly to the /system/framework folder!
- Use your favorite file explorer (I use ES File Exporer), mount /system read/write and move the framework-res.apk from your Downloads folder to /system. Again, do not move it to /system/framework folder!
- Inside the /system folder check and correct the permissions of the file, it should be rw-r--r-- and should belong to root:root.
- Now you should move (do not use copy!) the file from the /system folder to /system/framework
- Shortly after this is done on my phone several Google services and apps were killed, just for your information. They work again without problems after a reboot.
- Reboot your phone
So you know how to install the mod, but what is it about? When you decompiled the framework-res.apk there is a folder named "res" inside of the folder "framework-res". In this folder you have to create a new one with the mnc and mcc numbers from your apn settings. I describe this on the example of O2 in Germany. O2 has mcc 262 and mnc is 07. The folder to create is "values-mcc262-mnc07" inside this folder create a file named "arrays.xml". Actually I just copied the hole thing from another folder and edited it to the following contents:
<?xml version="1.0" encoding="utf-8"?> <resources> <string-array name="config_operatorConsideredNonRoaming"> <item>26203</item> </string-array> </resources>
There can be more than one item in the string-array list.
I have done this, tested it and for me it's working perfectly. You can find my framework-res.apk attached if you are on O2 as well. If you are on a different network and got stuck on my explanation just give me the mcc and mnc numbers and I provide you with a framework-res.apk. As the framework-res.apk is tight to the ROM this will only work if you are on stock 090915.
Using a framework-res.apk which is not for your ROM can end in a bootloop!