I have finally been able to get VoLTE working on my X Performance despite my carrier never having 'supported' my handset (they never sold it here).
What you will need?
To unlock Bootloader, TWRP, and ROOT follow this guide
I will first describe how I did it and then how anyone else should be able to achieve the same outcome. Now includes a less convoluted way to do this allowing you to keep all data thanks to those who tested
1) First using a root file browser - I recommend this one browse to /system/etc/customisations/modem/
2) Check to see if there is any reference to your operator's modem in your model firmware. They are all in the format of amss_fsg_dora_xxx_tar.mbn
3) Once you have a spotted your operator you need to take note of what's in between 'dora_' and '_tar' so for example if I use china mobile - I would find amss_fsg_dora_china_mobile_hk_ims_tar.mbn I would need to take note of china_mobile_hk_ims
4) Once you have this you need to connect your phone via ADB to your PC (I found this much easier on a computer).
5) Enter the following commands adb root then adb shell
6) mount -o rw,remount /oem
7) vi /oem/modem-config/modem.conf
8) press 'i' on your keyboard to enter edit mode and delete whatever is in the file and replace it with your operator modem from step 3 - (china_mobile_hk_ims in this example) then press 'ESC' and then ':wq'
9) make a backup of your important data
10) Turn off your phone, connect it into Flashmode to your PC (hold vol- while plugging in to the PC)
11) Flash your firmware with these options - do a wipe of all partitions. Tick the OEM box in the 'Exclude SIN' section. Alternatively follow this and avoid factory reset as per @pbarrette and @SGH-i200
12) Once you have completed reboot your phone and you should pickup VoLTE settings at setup.
IF you don't have root follow the guide earlier on how to backup TA, unlock bootoader
Flash a VoLTE enabled firmware. Install TWRP. Enter recovery (hold Vol- and power to start phone) install your preferred root option. Then connect your phone via ADB (step 5) to find your operator modem per step 3. Continue with Step 6&7. Start your phone.
I have tested this using existenZ 5.5. Theoretically should work for any Xperia phones with an OEM partition, however each phone might have a different modem name for the same operator ( I know this to be the case between the XZP and the XXP), however if you get the bit in between 'modelname_' and '_tar' and follow the same process for editing the modem.conf file you should get the same results.
Credit to
@sdugoten for Unlock, TWRP and ROOT guide
@akshay2shah for informing me of the modem selector tool for other Xperias
@VeixES for informing me of the oem.sin partition and modem.conf files
@niaboc79 for existenZ ROM (highly recommended)
@SGH-i200 and @pbarrette for testing and coming up with an easier way to use this (step 11)
What you will need?
- Windows Computer with Flashtool and minimal ADB and fastboot (if you have already downloaded fimrware as below you can use flashtool on whatever platform your prefer)
- Bootloader Unlocked
- TWRP
- ROOT (Magisk Preferred)
- VoLTE enabled firmware (not sure about this one I think you can edit build.prop appropriately)
To unlock Bootloader, TWRP, and ROOT follow this guide
I will first describe how I did it and then how anyone else should be able to achieve the same outcome. Now includes a less convoluted way to do this allowing you to keep all data thanks to those who tested
1) First using a root file browser - I recommend this one browse to /system/etc/customisations/modem/
2) Check to see if there is any reference to your operator's modem in your model firmware. They are all in the format of amss_fsg_dora_xxx_tar.mbn
3) Once you have a spotted your operator you need to take note of what's in between 'dora_' and '_tar' so for example if I use china mobile - I would find amss_fsg_dora_china_mobile_hk_ims_tar.mbn I would need to take note of china_mobile_hk_ims
4) Once you have this you need to connect your phone via ADB to your PC (I found this much easier on a computer).
5) Enter the following commands adb root then adb shell
6) mount -o rw,remount /oem
7) vi /oem/modem-config/modem.conf
8) press 'i' on your keyboard to enter edit mode and delete whatever is in the file and replace it with your operator modem from step 3 - (china_mobile_hk_ims in this example) then press 'ESC' and then ':wq'
9) make a backup of your important data
10) Turn off your phone, connect it into Flashmode to your PC (hold vol- while plugging in to the PC)
11) Flash your firmware with these options - do a wipe of all partitions. Tick the OEM box in the 'Exclude SIN' section. Alternatively follow this and avoid factory reset as per @pbarrette and @SGH-i200
12) Once you have completed reboot your phone and you should pickup VoLTE settings at setup.
IF you don't have root follow the guide earlier on how to backup TA, unlock bootoader
Flash a VoLTE enabled firmware. Install TWRP. Enter recovery (hold Vol- and power to start phone) install your preferred root option. Then connect your phone via ADB (step 5) to find your operator modem per step 3. Continue with Step 6&7. Start your phone.
I have tested this using existenZ 5.5. Theoretically should work for any Xperia phones with an OEM partition, however each phone might have a different modem name for the same operator ( I know this to be the case between the XZP and the XXP), however if you get the bit in between 'modelname_' and '_tar' and follow the same process for editing the modem.conf file you should get the same results.
Credit to
@sdugoten for Unlock, TWRP and ROOT guide
@akshay2shah for informing me of the modem selector tool for other Xperias
@VeixES for informing me of the oem.sin partition and modem.conf files
@niaboc79 for existenZ ROM (highly recommended)
@SGH-i200 and @pbarrette for testing and coming up with an easier way to use this (step 11)
Last edited: