Trying to figure out how to enable VoLTE, WiFi Calling on X Compact - Sony Xperia X Compact Guides, News, & Discussion

I'm writing this post to track my efforts to enable VoLTE and WiFi Calling on my X Compact. To begin with, I don't have a solution yet. I think I understand a lot of how it's supposed to work, but there are still some things I don't know. Hopefully others will be able to chime in and provide some answers.
I use my phone on MetroPCS in the USA. They are an MVNO for T-Mobile (and also owned by T-Mobile). I know that they support both features as my wife's Moto X4 is able to use them.
The X Compact does support VoLTE:
https://support.sonymobile.com/us/x...do-i/801930746ffcf563015c0bfaac370057e6/#gref
The problem is, it's only supported on specific carriers. The first requirement is that the carrier supports VoLTE (MetroPCS). The second requirement is that the feature has to be approved by Sony to be used on that carrier. This is where people have problems. I don't know how Sony makes the approval list, but my carrier isn't on it.
Before digging into this, I had planned on upgrading to the XZ1 Compact because it is specifically advertised as having VoLTE working on T-Mobile. I bought one and expected it to work out of the box on MetroPCS, but it didn't. I went back and forth with both MetroPCS and Sony and it still didn't work. This goes back to the list I mentioned above. If your carrier isn't on it, the phone won't work.
So I'm stuck with a phone that would work perfectly well with these features, but due to carrier/manufacturer approval issues, won't. Moving forward, I'll discuss the things that I've tried to get it to work.

Try making the XC work like the XZ1C
As I mentioned above, the XZ1C supports both features natively on T-Mobile. Why it works on T-Mobile came up in the following thread trying to get VoLTE and fingerprint support at the same time on T-Mobile:
https://forum.xda-developers.com/xperia-xz1-compact/help/volte-tmo-fingerprint-sensor-t3666387
So why does the XZ1C work on T-Mobile? @pbarrette did a good job of explaining the process in this post:
https://forum.xda-developers.com/showpost.php?p=74159245&postcount=105
The XZ1 and the XZ Premium both use the same chipset as the XZ1C, but those features don't work on T-Mobile. In trying to figure out why, @pbarrette determined the mechanism Sony uses to enable this feature. That work is covered in the following thread:
https://forum.xda-developers.com/xz-premium/help/volte-t-mobile-enabled-t3627567/
Simply, the XZ1C has additional files which are triggered to be used when a T-Mobile SIM is placed in the phone. To get the features to work on the XZ1 and XZP, you need to copy the appropriate files on to the phone. @pbarrette created a flashable zip file which does this and it works for those phones. The most important file to get the features working is the proper modem binary file (/etc/customization/modem/), tmobile_us_ims on the XZ1C. Unfortunately, there's no corresponding file on the XC.
I thought that I could just copy the binary file from the XZ1C, but the phones use different hardware so it's likely that a file from one phone won't work on another. I did a file comparison of the default (XC: amss_fsg_kugo_tar.mbn, XZ1C: amss_fsg_lilac_tar.mbn) and T-Mobile (XC: amss_fsg_kugo_tmobile_us_tar.mbn, XZ1C: amss_fsg_lilac_tmobile_us_tar.mbn) modem binary files from each phone, and they're quite different. So it seems like that option won't work.
Even if the XZ1C files did work on the XC, the problem still remains that the XZ1C doesn't work on MetroPCS. So I'd get a franken-ROM that doesn't do what I want it to.

Afaik your operator need to enable volte for your specific device. Here, my operator doesn't support xc and even if I force enable volte it still doesn't work. I contacted them and they said that they have to do some tests and then enable it to use volte.

maluus said:
Afaik your operator need to enable volte for your specific device. Here, my operator doesn't support xc and even if I force enable volte it still doesn't work. I contacted them and they said that they have to do some tests and then enable it to use volte.
Click to expand...
Click to collapse
You might be right, but some of the success stories that I've read lead me to believe that it's not device specific. I'll dig into that in a later post. I've contacted my carrier and according to them, everything is set on their end, so that just leaves the device being the issue.

Try making the XC work like the XZ1C, Part 2
Per @pbarrette, the proper files are loaded only when a SIM with the correct ID is inserted into the phone. For the XZ1C, this info is located in /overlay/com.sonymobile.customizationselector-res-305.apk in a file called configuration_selectors.xml. A file of the same name is also present in the same location on the XC. The sim_config_id can be found by entering the following command with USB debugging enabled:
Code:
adb shell getprop persist.sys.sim_config_ids
When I enter this, I get S8957.1. That value isn't in the configuration_selectors.xml list so the proper files aren't loaded and the default modem binary is used. If it were in the configuration_selectors.xml list, a config_id value of 400 would be associated with the sim_config_id (408 for XZ1C). Your config_id value can be found using the following command:
Code:
adb shell getprop ro.semc.version.cust.active
When I enter this command, I end up with a blank. I believe that this is because the default modem binary is being used, but this is just a guess. Ultimately, it means that the SIM isn't recognized and therefore the features won't work.
There's another file that's part of /overlay/com.sonymobile.customizationselector-res-305.apk, and that is service_providers.xml. I believe that this is where the proper sim_config_id is selected, based upon the MCC and MNC for the carrier. In my case, those values are 310 and 260, respectively. There are two entries which match these values:
Code:
<service_provider_sim_config sim_config_id="S8957.1">
<mcc>310</mcc>
<mnc>260</mnc>
<sim directory="7FFF" file="6F3E">6D</sim>
</service_provider_sim_config>
<service_provider_sim_config sim_config_id="S264.8">
<mcc>310</mcc>
<mnc>260</mnc>
</service_provider_sim_config>
There have been times in the past that my phone has been assigned the sim_config_id or S264.8, but most of the time it's S8957.1. I'm not sure what the sim directory tag refers to. If anyone knows what this means, please let me know as it might be helpful.
So my first strategy of trying to mimic the way the XZ1C works doesn't appear to be an option. A question for others: would it be possible to decompile the relevant files, change the xml files to reference the id's that I'm seeing, recompile and replace the APK's, all without sending my phone into a bootloop? Yes, see below.
But even if that were to work, there's no corresponding modem binary file on the XC, so probably no VoLTE. But there are other modem binary files. Could I just rename one of those? Would using the file from the XZ1C crash the modem on the XC? Yes, see below.

Try making the XC work like the XZ1C, Part 3
Alright, I've had partial success. Using some of the overlay files from the flashable zip that @pbarrette created, I was able to get the VoLTE and WiFi Calling menus to show up in settings. Here's a summary:
Flash old firmware. I used this one available on XperiFirm: F5321_34.1.A.1.198_Commercial and Journalists (1305-9054). It's not strictly necessary to flash the old firmware, but you need root, and root requires an unlocked bootloader, and unlocking the BL will delete your TA partition. I wanted to backup the TA partition for my DRM keys. In order to use the backup tool, you have to use an older version of Android so that the exploit used by the backup tool is still available.
Backup TA partition
Flash current firmware (34.4.A.2.118)
Unlock bootloader (use the Sony Mobile website for this)
Root phone (I used the method described here with the DRM fix option. The use-your-own-TA option didn't work for me.
https://forum.xda-developers.com/x-compact/how-to/stock-8-0-root-recovery-t3747479
Install the following files from the @pbarrette flashable zip:
/oem/modem-config/408/modem.conf
/oem/overlay/android-res-305.apk
/oem/overlay-408/android-res-310-408.apk
/oem/overlay-408/com.android.carrierconfig-res-310-408.apk
/oem/overlay-408/com.android.phone-res-310-408.apk
/oem/overlay-408/com.android.settings-res-310-408.apk
/oem/overlay-408/com.android.systemui-res-310-408.apk
/oem/system-properties/408/config.prop
You also need to install /oem/overlay/com.sonymobile.customizationselector-res-305.apk, but I had to modify the file from the XZ1C to get things to work. Within the APK, there's one XML file that needs to be updated to include the sim_config_id I'm seeing on MetroPCS. That is /res/xml/configuration_selectors.xml. I modified it to look like the following (with my addition in red):
Code:
<?xml version="1.0" encoding="utf-8"?>
<configurations>
<configuration config_id="408">
<sim_config_id>S264.1</sim_config_id>
<sim_config_id>S264.2</sim_config_id>
<sim_config_id>S264.3</sim_config_id>
<sim_config_id>S264.4</sim_config_id>
<sim_config_id>S264.5</sim_config_id>
<sim_config_id>S264.6</sim_config_id>
<sim_config_id>S264.7</sim_config_id>
<sim_config_id>S264.8</sim_config_id>
<sim_config_id>S264.9</sim_config_id>
<sim_config_id>S264.10</sim_config_id>
<sim_config_id>S264.11</sim_config_id>
<sim_config_id>S264.12</sim_config_id>
<sim_config_id>S264.13</sim_config_id>
<sim_config_id>S264.14</sim_config_id>
<sim_config_id>S264.15</sim_config_id>
<sim_config_id>S264.16</sim_config_id>
<sim_config_id>S264.17</sim_config_id>
<sim_config_id>S264.18</sim_config_id>
<sim_config_id>S8663.1</sim_config_id>
[COLOR="Red"]<sim_config_id>S8957.1</sim_config_id>[/COLOR]
</configuration>
</configurations>
To do this, I decompiled the Sony APK from the XZ1C, changed the file, recompiled the APK, signed the file, then placed the file in the /oem/overlay directory with Solid Explorer, and made sure the file permissions were correct.
It's worth mentioning that /oem/modem-config/408/modem.conf lists the modem binary file to be loaded when a T-Mobile SIM is detected. On the XZ1C, this is tmobile_us_ims and that's what modem.conf lists by default. You'll need to change this to one of the modem binary files contained on the XC. I tried using the tmobile_us_ims modem binary file from the XZ1C and it sent my phone into a bootloop. So it's confirmed that the XZ1C modem binary files aren't compatible with the XC. Just pick one from the /etc/customization/modem folder, like amss_fsg_kugo_a1_austria_ims_tar.mbn and list this in the file. You'll need to cut out the prefix and suffix, so just a1_austria_ims for this example. The prefix and suffix will get added by the phone when selecting the file.
Trigger a SIM check by CustomizationSelector. To do this, I deleted the file /data/data/com.sonymobile.customizationselector/shared_prefs/com.sonymobile.customizationselector_preferences.xml and rebooted (as suggested by @pbarrette here: https://forum.xda-developers.com/showpost.php?p=74560870&postcount=76 and here https://forum.xda-developers.com/showpost.php?p=74560870&postcount=77). After a couple of minutes, my phone stated that it needed to reboot to optimize for my network. Once it loaded back up, the proper overlays had been loaded and I could see the settings for VoLTE and WiFi Calling.
This is where my success stops. Without the proper modem binary file, it's a bit of a crapshoot to see if an existing file will work. To do this, just repeat steps 8 and 9 with a different modem binary file. I've tried a handful of these files, but no luck yet. There are 127 files, but I'm sticking with the ones that mention IMS or VoLTE. This reduces the total to 88, but it's still a lot of rebooting and waiting. The files I've tried so far are listed below.
amss_fsg_kugo_a1_austria_ims_tar.mbn
amss_fsg_kugo_a1_austria_volte_vowifi_tar.mbn
amss_fsg_kugo_bouygues_france_ims_tar.mbn
amss_fsg_kugo_bouygues_france_volte_vilte_tar.mbn
amss_fsg_kugo_ee_ims_tar.mbn
amss_fsg_kugo_singtel_ims_tar.mbn
amss_fsg_kugo_telefonica_uk_ims_tar.mbn
amss_fsg_kugo_telekom_germany_ims_tar.mbn
amss_fsg_kugo_tmobile_us_tar.mbn
amss_fsg_kugo_vivo_ims_tar.mbn
amss_fsg_kugo_vodafone_germany_ims_tar.mbn
amss_fsg_kugo_vodafone_spain_ims_tar.mbn
amss_fsg_kugo_vodafone_uk_ims_tar.mbn
amss_fsg_lilac_tmobile_us_ims_tar.mbn
So that's my current status. I'm not planning on doing anything else at this point, because I figured out a way to get my XZ1C working on MetroPCS with VoLTE and WiFi Calling. I'll write a bit about that over in the XZ1C forum. If anyone wants to continue looking into it, please provide an update.

Software Used
In case someone wants to work through this process on their own, here is the software that I used:
Flashtool: Used for flashing firmware to the XC via FTF files. This can also be used to extract the contents of some older SIN files.
http://www.flashtool.net/index.php
newflasher: An alternative to Flashtool. I didn't use this, but I saw it referred to a lot.
https://forum.xda-developers.com/cr...gress-newflasher-xperia-command-line-t3619426
UnSIN: This program can be used to extract the contents of more modern SIN files.
https://forum.xda-developers.com/crossdevice-dev/sony/tool-unsin-sin-v3-unpacker-t3128106
ext2explore: Tool to explore ext4 image files. Once you've used UnSIN, you end up with an ext4 file. This tool can explore the ext4 file and extract files from it.
https://sourceforge.net/projects/ext2read/files/Ext2Read ver 2.0/ext2explore 2.0 beta/
Google platform tools: This includes ADB, fastboot, etc. It comes with the Android SDK, but that file size is massive so Google conveniently packaged just the platform tools in a much smaller zip file.
https://developer.android.com/studio/releases/platform-tools
apktool: This is a tool to decompile/compile APK files. There are other tools out there, but this is the one that I used.
Tool download: https://ibotpeaches.github.io/Apktool/
Guide I used: https://forum.xda-developers.com/showthread.php?t=2213985
Flashable zip guide: I ended up editing the flashable zip from @pbarrette to include only the files I listed above. It was pretty straight forward to edit the script just looking at it, but this was a good resource for explaining things in more detail.
https://forum.xda-developers.com/an...-complete-shell-script-flashable-zip-t2934449
Dirtycow-based TA Dumper for Sony Xperia Devices: This what I used to backup my TA partition.
https://forum.xda-developers.com/crossdevice-dev/sony/universal-dirtycow-based-ta-backup-t3514236
sgs2toext4: This tool can convert an IMG file (eg. boot.img) to ext4. I used it in some of my tinkering (trying to get use-your-own-TA root option working) but I don't think you'll need it
https://forum.xda-developers.com/ga...n-zipalign-t1132724/post15333542#post15333542

Mate there is a magisk module to enable that menu options. But although enabled, neither volte nor vowifi does work without operator support. Does your operator list supported devices for volte? If so, you can risk to change the signatures of your device with a supported and identical platforms.

maluus said:
Mate there is a magisk module to enable that menu options. But although enabled, neither volte nor vowifi does work without operator support. Does your operator list supported devices for volte? If so, you can risk to change the signatures of your device with a supported and identical platforms.
Click to expand...
Click to collapse
Interesting. I've not heard of that module. MetroPCS doesn't list compatible devices as far as I know, but I know of unlocked devices that do work. Could you please provide a link to that module you mentioned?

I don't have Magisk installed but you can search volte in modules library. I think name was the volte enabler or something similar

maluus said:
I don't have Magisk installed but you can search volte in modules library. I think name was the volte enabler or something similar
Click to expand...
Click to collapse
Was it this one? If so, the module isn't doing anything that I'm not already doing. Is there a module that allows for using the Modem Switcher on Sony phones?
https://forum.xda-developers.com/apps/magisk/module-v4-volte-enabler-t3649613

camdecoster said:
Was it this one? If so, the module isn't doing anything that I'm not already doing. Is there a module that allows for using the Modem Switcher on Sony phones?
https://forum.xda-developers.com/apps/magisk/module-v4-volte-enabler-t3649613
Click to expand...
Click to collapse
Yes it is. Btw I noticed a phrase in OP which points out the problem as I stated earlier.
"My carrier supports VoLTE/VoWiFi but not on my device. I made this module to forcefully enable it to test if it worked (it hasn't so far)."
I don't know your provider but still it seems operator support is based on individual devices as it is in my case. When I first call the support center of my carrier the person told me that if my phone does support volte there shouldn't be a problem. I insisted that my phone supports volte and she said that she ll check with tech department and a few minutes later called me back saying indeed they don't support my device. long story short I can't use volte as of now. they support a device from loire platform so may be if I change identification of device to that one to trick the operator network to believe I use the supported device it may work but I have my doubts about consequences so I did not dare yet

maluus said:
Yes it is. Btw I noticed a phrase in OP which points out the problem as I stated earlier.
"My carrier supports VoLTE/VoWiFi but not on my device. I made this module to forcefully enable it to test if it worked (it hasn't so far)."
I don't know your provider but still it seems operator support is based on individual devices as it is in my case. When I first call the support center of my carrier the person told me that if my phone does support volte there shouldn't be a problem. I insisted that my phone supports volte and she said that she ll check with tech department and a few minutes later called me back saying indeed they don't support my device. long story short I can't use volte as of now. they support a device from loire platform so may be if I change identification of device to that one to trick the operator network to believe I use the supported device it may work but I have my doubts about consequences so I did not dare yet
Click to expand...
Click to collapse
My carrier does offer VoLTE and WiFi Calling and those features do work on unlocked phones, so I'm pretty sure it's a Sony problem. In fact, I recently got those features working on an XZ1C. It could work on an XC too, but I'm moving on to the XZ1C. I hope someone gets it to work. Good luck with your carrier.

Don't know if anyone interested, but I found this on a Chinese forum - http://bbs.gfan.com/forum.php?mod=v...rby=lastpost&typeid=&typeid=&orderby=lastpost Apparently, if you flash the 2 files in the link, (http://bbs.gfan.com/android-9530989-1-1.html), it will work. I was going to test it out, but you need an account with some Chinese file sharing service, and I didn't feel like trying to figure it out...

Thank you for the information.
Unfortunately, I am unable to register as the registration needs SMS code received on a Chinese phone number.
I hate when some service requests my phone number (or other irrelevant data) without any way to avoid it…

mp107 said:
Thank you for the information.
Unfortunately, I am unable to register as the registration needs SMS code received on a Chinese phone number.
I hate when some service requests my phone number (or other irrelevant data) without any way to avoid it…
Click to expand...
Click to collapse
2 files on that post (thanks [email protected] ).
Oreo flash CT_v1_xzs.zip , Pie flash CT_v2_xzp.zip .
BUT, that's for XZs and XZP, not for XC. If failed, you can flash oem.sin only (from .FTF firmware) to restore.
To enable VoLTE and Wifi Callling, we need two parts of modem configs.
1. core: *.mbn modem config of specific local carrier that locate in /system/etc/customization/modem/ .
2. guide: modem configs in /oem.
The 2nd part can be import easily from other sony models, but the KEY is 1st part config. If the specific local carrier config can't be found in /system/etc/customization/modem/ , we have to use QPST to put parameters manualy, or no way to enable VoLTE/VoWifi.

camdecoster said:
My carrier does offer VoLTE and WiFi Calling and those features do work on unlocked phones, so I'm pretty sure it's a Sony problem. In fact, I recently got those features working on an XZ1C. It could work on an XC too, but I'm moving on to the XZ1C. I hope someone gets it to work. Good luck with your carrier.
Click to expand...
Click to collapse
Yes, it's Sony's problem. To Sony, importing VoLET/VoWifi parameters of all support carriers is a piece of cake.

There's a post on a Chinese BBS about enable VoLTE:http://bbs.gfan.com/android-9543428-1-1.html

XG_Zepto said:
There's a post on a Chinese BBS about enable VoLTE:http://bbs.gfan.com/android-9543428-1-1.html
Click to expand...
Click to collapse
Has anyone here tried this for a US carrier? I tried to follow along with the translated version but my lack of fully understanding the process and the rough translations have made it very difficult.

Does anyone have experience with the X Compact on T-Mobile?
I was going to change from the iPhone SE (tired of Apple, but need a small phone), which has VoLTE and Wifi Calling out of the box. I have a Note FE which was made for Singapore and I was able to change the CSC to get VoLTE, but not Wifi Calling.
W/O VoLTE it's totally not worth it. Besides not being to use LTE while on a call, I read in the thread the OP referenced regarding the XZ1C, that getting Band 12 w/o VoLTE is also a problem.
And then there's the fingerprint sensor. If I install a European ROM to get it...
Will Rooting help any of the above?
Am I stuck with Apple? That's really depressing...

Related

Which customization should I use?

I was looking at the customizations page on XperiCheck and I was wondering which is best. I don't want to root and lose my DRM keys.
https://xpericheck.com/device/G8341
Customized GR, NOBA, IT, KR and GEL seems to be getting updates the fastest. Any disadvantage of running those in the US? I don't use VoLTE or WiFi calling.
SOLVED: The one thing I would like is to be able to turn off the NFC icon. I'm assuming there's some law or something that says that has to be on in some regions cause security or something. Is there a region where this isn't the case? Is it one of the regions I listed above?
NFC is able to be disabled in the Customized KR firmware. I also checked the XZ Premium it seems KR is the way to go.
Update:
I downloaded all carrier unspecific FTF roms and extracted their properties. When I said KR was the way to go, what I mean is KR is already updated to the latest OTA update .51. So I assume Korea gets the new software sooner most of the time. However, it seems like it has a LOT of props set. Like "ro.camera.sound.forced". So that's maybe not so good.
Update:
OK, I guess I got this totally backwards. I'm assuming if ro.nfc.icon.enable=true then I -->cannot<-- turn it off.
Here's a list of all the ones with "ro.nfc.icon.enable=true". Do not use these.
AR
BR
DE
FR
KR
UK
Here's a list of the ones that are already on .51:
GEL
GR
IT
KR
NOBA
KR is the only overlap, so avoid.
Based on what I'm looking at, NOBA seems to have the most sub configuration files, which I assume are per carrier changes? Maybe that increases the chances of VoLTE and WiFi Calling? Not sure.
IT has the least folders and settings. Maybe THAT is best since you would think MOST things are not disabled? Not sure.
dokujaryu said:
I was looking at the customizations page on XperiCheck and I was wondering which is best. I don't want to root and lose my DRM keys.
https://xpericheck.com/device/G8341
Customized GR, NOBA, IT, KR and GEL seems to be getting updates the fastest. Any disadvantage of running those in the US? I don't use VoLTE or WiFi calling.
The one thing I would like is to be able to turn off the NFC icon. I'm assuming there's some law or something that says that has to be on in some regions cause security or something. Is there a region where this isn't the case? Is it one of the regions I listed above?
Thanks!
Click to expand...
Click to collapse
If you don't use VoLTE or VoWiFi, then there's no difference. The band support is the same.
If you don't want the NFC icon, you'll have to download each firmware, extract the OEM sin file and look at the system-properties/config.prop file.
If the icon is enabled, the file with have a line with "ro.nfc.icon.enable=true" in it.
You can extract the OEM sin file with UnSIN and it will produce a ext4 image which can be opened in 7zip.
I would look for you, but I'm not all that keen on downloading multiple GB's of firmware just to check.
pbarrette said:
If you don't use VoLTE or VoWiFi, then there's no difference. The band support is the same.
If you don't want the NFC icon, you'll have to download each firmware, extract the OEM sin file and look at the system-properties/config.prop file.
If the icon is enabled, the file with have a line with "ro.nfc.icon.enable=true" in it.
You can extract the OEM sin file with UnSIN and it will produce a ext4 image which can be opened in 7zip.
I would look for you, but I'm not all that keen on downloading multiple GB's of firmware just to check.
Click to expand...
Click to collapse
Is there anywhere I can get a generalized list of differences between firms? Like, which one use 4G, 4G+, and LTE icons? That's probably the only thing I've ever noticed.
Updated main post, I downloaded many Customized XXXX firmwares and KR seems to be the way to go.
Which firmware support Volte
KumarAnup said:
Which firmware support Volte
Click to expand...
Click to collapse
Short answer: All firmwares support VoLTE for someone and no firmwares support VoLTE for everyone.
Long answer:
VoLTE support is handled by the files in the OEM sin file and is different for each carrier.
See here where I describe the bits in the OEM partition that handle VoLTE. I'm specifically talking about T-Mobile US, but it works the same way for all other carriers as well.
Basically, your MCC/MNC is looked up by the CustomizationSelector.apk and converted to a 3 digit "config_id". That config ID number is then used to select the proper modem file and to overlay the system UI to allow the VoLTE controls to be shown and used.
Each region / carrier firmware has different carrier specific configurations that are used for this.
So you would have to check your region's firmware to see if your carrier is supported.
Specifically, you would need to decompile the /oem/overlay/com.sonymobile.customizationselector-res-305.apk file, then look at its res/xml/configuration_selectors.xml file, which contains a number of "sim_config_id" values that look like "S264.1".
Then you need to find that value in the res/xml/service_providers.xml file and look at the MCC/MNC values associated with it to determine if they match the MCC/MNC values of your carrier.
If you have a match, then the "config_id" value in the res/xml/configuration_selectors.xml file will be used to set your modem to the value found in /oem/modem-config/XXX/modem.conf, where "XXX" is the 3 digit "config_id".
Finally, the overlay APK's found in /oem/overlay-XXX/ will be applied to the base applications. Specifically, the com.android.carrierconfig-res-XXX.apk should contain values in res/xml/vendor.xml such as <boolean name="carrier_volte_available_bool" value="true" />.
That's how VoLTE is handled.
EDIT:
Additionally, if the modem has a name that includes "ims" then it probably supports VoLTE for your carrier. If not, it probably doesn't. The actual modem files are found on the system partition at /system/etc/customization/modem if I remember correctly. But you still need the OEM partition bits to get that modem selected and the VoLTE controls enabled.
Updated to contain all the property files I extracted and an analysis, based purely on property files, on which ones I find most desirable (spoiler, it's IT).
Someone already found a Firmware which supports VoLTE in Germany - Deutsche Telekom?
I'm sorry to add my question, could anyone point me to a way to change my firmware using a Mac?
Sony's tool is Windows only and the other NewFlasher the same.
Also, where can I download FTF files?
Thank you in advance to anyone who will kindly help
I'm on Customized BLX (Belgium-Netherlands) and apparently I don't receive updates. Even though 374 has been out for a while, even on BLX, I'm stuck on 324.
pbarrette said:
Basically, your MCC/MNC is looked up by the CustomizationSelector.apk and converted to a 3 digit "config_id". That config ID number is then used to select the proper modem file and to overlay the system UI to allow the VoLTE controls to be shown and used.
Click to expand...
Click to collapse
Not only MCC/MNC is looked up, but the GID1 is important, too. That's my problem with German carrier "Congstar" (uses "Telekom" network) which supports VoLTE now, but the config has not changed in the firmware of course...
MCC = 262 (Both Telekom and Congstar)
MNC = 01 (Both Telekom and Congstar)
GID1 = 44 (Only Congstar! No GID1 for Telekom)

UK H850 - What's needed to make VoWifi / WiFi Calling work?

I've posted on a couple of other related threads about this but thought a fresh thread directly asking the question might help.
I have a UK G5 bought recently secondhand, it was on VM but is now unlocked and works fine on the Three SIM I've tested it on. It's been upgraded OTA by the previous owner to Oreo.
So, what's needed to make it work with WiFi calling on Three UK, or for that matter EE? I've tried the Oreo Three RoM & the Oreo Open EU RoM. I enabled WiFi calling via ADB, but no matter what I try, no menu appears giving the option to activate or use WiFi calling. There's also a setting in the 'Hidden Menu' to toggle WiFi calling but that made no difference either.
Both of the non-VM RoMs complain about being used on the wrong carrier's phone, I know that can be fixed by removing some files in root, but what this tells me is that there are files or settings on the phone that don't get erased with a factory reset. Is it possible to get these files or settings from a Three UK G5 and put them onto another G5?
I did read on another thread that someone had got an ex EE phone working with WiFi calling on a Three SIM, that was with a Nougat RoM. I'm not too sure about trying this as I've seen a couple of stories about bricking due to flashing a lower numbered Anti Rollback RoM.
Any thoughts welcome.
I've loaded a Three UK Nougat RoM and can see that all of the VoWiFi settings via ADB & the hidden menu are on but cannot see any VoWiFI menus. My phone is on Three UK, I'm not sure if there's a menu item for WiFi calling though..
I found a couple of pointers relating to OREO:
https://forum.xda-developers.com/showpost.php?p=78463793&postcount=136
And here, plus a few posts further down on the same page
https://forum.xda-developers.com/showpost.php?p=78584284&postcount=175
I've had some success in enabling WiFi calling on my G5 H850, after getting some ideas from reading these threads and thought I'd share some info, maybe there's a better way of doing this, if so, am happy to learn:
1, about the misc partition
https://forum.xda-developers.com/lg-g3/general/how-to-change-region-t2904951/page8
2, misc partition location on the G5
https://forum.xda-developers.com/lg-g5/help/little-help-misc-partition-h850-t3671068
My phone was originally sold by Virgin Media in the UK, my SIM contract is with Three.
I changed a couple of settings in the misc partition to make my phone think it was from Three.
I take no responsibility for anything that happens if anyone tries this themselves!
1, Unlock the bootloader to gain root access
https://forum.xda-developers.com/lg-g5/development/official-european-lg-g5-h850-bootloader-t3363040
2, Get a copy of the misc partition via DD (see first & second links above)
3, Make a copy of the copy, name one of them 'master' and put them in a safe place
4, Edit the second copy via a Hex Editor
At location 00014000 you will find the phone's MCC & MNC, I changed mine to 23420 (UK H3G)
At location 000D7000 you will find the Buyer Code, I changed mine to H3G_UK
5, Save the updated misc partition & copy it to the phone's internal storage. The thread that I linked at the top, shows the misc partition being saved to the 'sdcard' which on my phone turned out to be the internal storage.
6, Overwrite the phone's misc partition with the updated misc partition with DD.
7, Lock the bootloader
8, Using LGUP, flash the official Three UK OREO ROM to the phone
9, Start the phone, chances are it will not start properly due to some stuff left over from unlocking, if so you need to boot into recovery and reset to defaults
10, After going through the initial setup, check the dialler app settings and see if the WiFi calling option is there.
Does anyone know the correct NTCODE and BUYERCODE to brand an unbranded H850 to Vodafone Germany? I want to try the branded firmware because it supports VoLTE and VoWifi out of the box. I followed the instructions in the previous post but it does not work. The original NTCODE and BUYERCODE are "1","FFF,FFF,FFFFFFFF,FFFFFFFF,11" and OPEN_EU. I changed these to "1","262,02F,FFFFFFFF,FFFFFFFF,FF" and VDF_COM , flashed back the misc partition and after that I flashed the vodafone KDZ. Factory reset was also done but it still does not load the branding in the VDF_COM folder on the cust partition. The software version is reported as V30f_EUR_XX instead of V30f_VDF_COM. Is there something else I have to do? A Vodafone SIM card with MCC 262 and MNC 02 is inserted.
el-sahef said:
Does anyone know the correct NTCODE and BUYERCODE to brand an unbranded H850 to Vodafone Germany? I want to try the branded firmware because it supports VoLTE and VoWifi out of the box. I followed the instructions in the previous post but it does not work. The original NTCODE and BUYERCODE are "1","FFF,FFF,FFFFFFFF,FFFFFFFF,11" and OPEN_EU. I changed these to "1","262,02F,FFFFFFFF,FFFFFFFF,FF" and VDF_COM , flashed back the misc partition and after that I flashed the vodafone KDZ. Factory reset was also done but it still does not load the branding in the VDF_COM folder on the cust partition. The software version is reported as V30f_EUR_XX instead of V30f_VDF_COM. Is there something else I have to do? A Vodafone SIM card with MCC 262 and MNC 02 is inserted.
Click to expand...
Click to collapse
I'm not sure why your patching did not work, but I have turned off WiFI calling on my G5 because the call quality over WiFi is terrible. It may be that I did not find all of the changes that are needed.

LTE Bands Unlock

I understand that this may be considered duplicate. However due to the title of the previous thread clearly stating that the effort there is closed, I though I open this up. I would really love to get more 4g bands working as I have no LTE service in my area. Here is a post from the aforementioned thread.
-------
Maybe Possible Solution
Just found this thread after I unlock carrier locked my Hisense B16C2G phone that can't be unlocked for almost 3 years. This is just hypothesis, I suggest to try this with concern.
There are several file that determine bands capability in the devices. Most of it is in NV partition, but from the discussion I know that you guys have tried some popular ways to unlock it, but it failed. Like my phone at first i believe its hardware locked too, but i just discovered some Chinese article about unlocking oneplus device. Maybe you can try it too.
Here it is:
1. Connect to QPST and open EFS explorer
2. In policyman folder there are 3 file that most likely can be the cause of this network restiction
carrier_policy.xml
post.xml (in my phone there is none)
rat_mask (in my case this file that restrict my network even after I change NV values to support all bands)
3. Compare all three file with other phone's that most likely have same architechture (maybe MI8 or Pixel). For rat_mask, make sure it have same bits number(compare with Hex Editor)
4. replace that carrrier_policy.xml(and any file that contain this name) and rat_mask with modified files or use you can use other unrestricted phone's instead
These file originally in modem.img. Some phone replace them back with the original file when boot, you can modified init.radio.sh to prevent that.
We can modify carrier_policy.xml in modem.img and flash it to the phone but i cant find where rat_mask located
5. Reboot and hope if it solve your problem
I can't find any reference about how to generate unrestricted rat_mask and device_config so make sure you backup your original file before you make modification. Sorry I can confirm whether it will work or not because i don't own poco
NB: I solve my problem just with replacing carrier_config.xml and rat_mask. There is a file called device_config, be careful with this file because it control how the phone modem interact with qpst too, wrong modification can cause you cant connect to PC even in diag mode.
https://forum.xda-developers.com/poco-f1/help/poco-f1-lte-bands-unlock-t3835467/page22
-------
Does the above information help at all with this effort? I'm not quite savvy enough to pursue this on my own. I also found the below thread which describes a process which is apparently still working for many Qualcomm devices including Xiaomi. Has this method been attempted with the Poco F1?
http://in.c.mi.com/thread-527028-10-1.html
I sold my Poco and took over my GF's which was on 10.2.3. I had LTE at my place, confirmed with speed test and LTE app. After upgrading to 10.3.4 today I no longer have LTE. I've tried switching back and forth between APNs to no avail. Any ideas?
Any updates, did you got it working? I need to unlock B5 and 28.

Removed

No description
What is normally in a /data/vendor/modem_fdr folder? I am trying to use this on another device and it doesn't have that folder.. My device has /data/vendor/modem_config it has all the mcfg_hw, mcfg_sw nd ver_info.txt. Is that the same thing?
removed
hardplastic said:
If VoLTE is working on your device, just leave it alone. It's unnecessary but only if you find the module no longer working, delete these two folders to reset.
No, configs won't store at /data since factory reset will wipe them all. I'm not sure if it's working on other devices. You need manual editing the module by adding mbn file if your device doesn't contain your carrier's, add the path on mbn_sw.txt and sign the zip
Click to expand...
Click to collapse
Volte isn't working, that's why I'm here.
I have used efstools to write my mbn to /nv/item_files - but one file keeps on restoring it's self to default -
/nv/item_files/ims/ims_user_agent. My carrier needs the header in this file for volte to work. It worked fine on Android 10 but not 11.
My device doesn't contain the folder /data/vendor/modem_fdr.
When I delete the files in /data/vendor/radio/ they come back when I reboot - so I'm guess that's what it is meant to do.
removed
hardplastic said:
Sounds like not good.
I haven't found the path on my phone, are you using Pixel 3/XL? It's not strict for my carrier to detect header, this device has preinstalled lots of mbn files from various carriers, which also contains my carrier, so all I need is to add the path to make it work. And that's how the module working.
Can you find your carrier from /vendor/rfs/msm/mpss/readonly/vendor/mbn/mcfg_sw/generic?
Click to expand...
Click to collapse
My phone is a Xiaomi Poco F2,
Yep I can find the path, my carrier is Telstra.
The path is slightly different on this device,
It's /vendor/rfs/mdm/mpss/readonly/vendor/mbn/mcfg_sw/generic so I modified the module to that. But still the header reverts.
The actual mbn file does have the correct header in, but ims_user_agent reverts in the /nv/item_files/ims/ - where does it revert it from?
removed
hardplastic said:
Sorry, I haven't used any Xiaomi devices nor MIUI. I guess I can't help you handle this issue. MIUI is completely different from AOSP, which has many deeply modification. Go ask some experts who knows to fix that. Good luck.
Click to expand...
Click to collapse
I'm running AOSP on this device!
Can anyone tell me if this works with any Portuguese carrier?? if not, @hardplastic can you add support for the 3 portuguese carriers?!
I saw the mbn_sw.txt but think that only Vodafone Portugal it's there, it misses two more carriers, NOS and MEO
removed
hardplastic said:
It seems like there's no configuration files for carriers you said above. So it won't work. I would like to update if you can provide them(*.mbn)
Click to expand...
Click to collapse
How can one aquire that?? From other phones that are compatible with VoLTE (prob every new android phone out there except the pixels ones)
removed
what the hell happened here?!

How to enable Volte

I see lots of discussion on rooting, unlocking bootloader, etc. But I am wondering if there is guide describing how to enable volte for tmobile? That is all I am looking for and I am really not savy/technical when it comes to phones. I have the dual SIM 850 emw and I really dont want to lose use of the phone when tmobile dumps 3g next month. Thank you
Found this. Sort of cryptic.
I used the dailer code on my Samsung to verify VoLTE was enabled, otherwise it doesn't show the setting or that it's even HD.
Apparently AT&T supports this device if your carrier drops the ball. Verify this though...
armodons said:
Thanks for pointing me in the right direction! I now have VoLTE and Wifi Calling working on my LMG820QM (on T-mobile).
I have the BPT variant of the LMG820QM, for which VoLTE and Wifi Calling does not work. After bootloader unlocking and rooting, I tried the above VolteFix-v1 but wanted Wifi Calling. Forcing the option to appear via a profile in Universal Enabler in the hidden menu* did not work and instead caused LG IMS to continuously crash.
*For those interested in the hidden menu, first create an empty folder named "enable_ue" in internal storage. Then go to the dialer and type *#546368#*820#. In Field Test > Universal Enabler you can "Create New Config" and manually enable VoLTE, ViLTE, VoWIFI, and ViWIFI. However, even though these options became enabled in *#*#4636#*#* they didn't seem to actually work.
Next, I tried to crossflash partitions from the US Open kdz but was unable to due to a size mismatch of the OP partition (among other problems).
Finally, since I had already extracted the OP partition from the US Open kdz (G820QM20f_00_NAO_US_OP_0402.kdz), I extracted files that looked relevant and copied them over using a root browser into /product/OP. After setting permissions and restarting, I now have working VoLTE and Wifi Calling!
The files are cust.prop [update: apparently not needed; my existing one worked just fine], all the files in config, and a few folders in priv-app [update: these are the apps for Wifi Calling!] not present in my phone's kdz (not sure which ones if any of these apks are actually needed but since it works I'm not going to experiment more). See attached for details.
Note: Since these files are from the US Open kdz, it will likely only work for US carriers. But the process can be repeated for other regions with the right kdz.
UPDATE: Replaced the attachment, had the wrong files in Config.
** Noticed that upon factory resetting the wrong default APNs are inserted. Had to factory reset on original files, have APNs setup correctly, then copy the attached files (did not copy over cust.prop this time and still worked).
Click to expand...
Click to collapse
Hello jdapp,
I was able to get VoLTE AND VoWIFI on Mint (T-mobile) with these instructions. I also posted what I did on Post 50. The files work for firmware 20 but if you need the ones for firmware 30 let me know.
Awesome thanks. Yes if I could get the firmware 30 files that would be great.
dahveedsolorzano said:
Hello jdapp,
I was able to get VoLTE AND VoWIFI on Mint (T-mobile) with these instructions. I also posted what I did on Post 50. The files work for firmware 20 but if you need the ones for firmware 30 let me know.
Click to expand...
Click to collapse
jdapp said:
Awesome thanks. Yes if I could get the firmware 30 files that would be great.
Click to expand...
Click to collapse
No problem, let me know how it goes.
So I have tried to do the bootloader unlock and flash but every time I get a Download fail: Sahara Fail: Q SaharaServer Fail: Process fail?
Any thoughts?

Categories

Resources