[Guide] Enabling VoLTE/VoWiFi v2

KevinAce

Senior Member
Nov 25, 2017
164
21
0
-s switch not working with EFS

Preface
With this guide I can officially deprecate the other guide I wrote, as we will no longer have to hack together a solution by loading profiles for other carriers. Meaning, that this should just work provided an mbn exists for your carrier - doesn't matter from which device. This has been reported to work on TMO in the US, which did not work with my other method.

Prerequsities
* You must have working DIAG mode. See my other thread for more information on how to set that up.

Downloads
* AsusVoLTE v1.0.1
* EfsTools 0.10 modded 1.2
* EFS items
* Xiaomi Mi 9T MBNs (optional)

Step 1 - setting props
Install the AsusVoLTE app from above, make sure to upgrade if you already have it installed. Run the app and press the Enable VoLTE button; this should set some properties on the device to force-enable VoLTE after we have also done the other steps below. If you already enable VoLTE using my old method you can safely skip this step.
If you prefer to not use the app, simply run this in an adb shell:
Code:
setprop persist.vendor.dbg.ims_volte_enable 1
setprop persist.vendor.dbg.volte_avail_ovr 1
setprop persist.vendor.dbg.vt_avail_ovr 1
setprop persist.vendor.dbg.wfc_avail_ovr 1
If you are unable to set those properties for whatever reason, like if you have returned to stock after flashing the mbn and no longer have root, there is another possibility to force VoLTE/VoWiFi; There's a secret code you can use to force-enable it, but unfortunately it does not survive a reboot (not sure why ASUS didn't make it persistent).
Enter this in the dialler:
Code:
*#*#3642623344#*#*
The number will clear itself, and you shouldn't see any output if it succeeded.
When you have done this, go to (System) Settings -> Mobile network and toggle Mobile data off then on again. You should hopefully see the VoWiFi or VoLTE icon in the status bar now, but like I said above you will have to redo this if you reboot the phone - so if you can, please use the properties method instead.

Step 2 - making sure it works
Before we begin, make sure you close down QPST, otherwise EfsTools will error out because there can not be two clients connected at once.
Unzip EfsTools from above, open up a cmd window and cd to the directory where you extracted it. Depending on how you connect to diag you will need to modify EfsTools.exe.config - if you're connecting via USB you most likely won't have to do anything as it will find the port automatically, unless you have more than one port, in which case you can simply change port from Auto to the COM port of the phone (for example COM13).
If you are connected via wifi you will need to change port to 2500 (or whatever port you used in the AsusVoLTE app) and remote to true. So the efstool line should look something like this:
Code:
<efstool port="2500" remote="true" baudrate="38400" password="FFFFFFFFFFFFFFFF" spc="000000"/>
You can test the connection by running this in the cmd window:
Code:
EfsTools.exe efsInfo
This should report back some info if everything is working. If not, try rebooting the device and redo the bits from the DIAG guide.

Step 3 - disabling mcfg
Extract efs.zip from above to the same directory as EfsTools.exe, and make sure the mcfg_autoselect_by_uim file is there. Now simply run this in the cmd window, one line at a time:
Code:
EfsTools.exe writeFile -i mcfg_autoselect_by_uim -o /nv/item_files/mcfg/mcfg_autoselect_by_uim
EfsTools.exe writeFile -i mcfg_autoselect_by_uim -o /nv/item_files/mcfg/mcfg_autoselect_by_uim -s 1
If everything worked you should see no error messages.

Step 4 - writing mbn
If you are using the Xiaomi Mi 9T mbns zip from above, move it to the EfsTools directory and extract it. Now we simply need to find the mbn for your carrier.
The mbn directory structure is generally laid out like this: <region>/<carrier>/commerci/<country>/mcfg_sw.mbn. For example, the one for my carrier is eu/h3g/commerci/se/mcfg_sw.mbn. Copy the mcfg_sw.mbn file to the same directory as the EfsTools.exe, then go to the cmd window you opened and type this:
Code:
EfsTools.exe uploadDirectory -i mcfg_sw.mbn -o / -v
To get it working on the second SIM slot you will also have to run this:
Code:
EfsTools.exe uploadDirectory -i mcfg_sw.mbn -o / -s 1
If it has worked you should see a bunch of output, but no errors. Try rebooting now, and hopefully after it has booted you will have fully functional VoLTE and VoWiFi.

Source code:
AsusVoLTE - Github
EfsTools - Github

Let me know if this works for you, or if you have any questions.

Regards
Hi - Since upgrading to Android 10, I had to re-do my phone as everyone likely did. When running the 2 EFS commands, the second command errors out stating there is no "-s" switch.

Here is the command:
EfsTools.exe writeFile -i mcfg_autoselect_by_uim -o /nv/item_files/mcfg/mcfg_autoselect_by_uim -s 1

Here is the error:
C:\efs>EfsTools.exe writeFile -i mcfg_autoselect_by_uim -o /nv/item_files/mcfg/mcfg_autoselect_by_uim -s 1
EfsTools 0.11.0.11
Copyright (c) JohnBel 2019 (http://johnbel.github.io/)
ERROR(S):
Option 's' is unknown.

-i, --inComputerFilePath Required. Computer file path

-o, --outEfsFilePath Required. Output EFS path

-n, --dontCreate (Default: false) Don't create EFS file if its not exist

-t, --item (Default: false) Create Item file

--help Display this help screen.

--version Display version information.

Let me know if you have any ideas as I assume this is to get the 2nd SIM to work?

Thanks

Kevin
 
  • Like
Reactions: reg66

alen1124

New member
May 16, 2016
4
1
0
Homer...I JUST WANT TO SAY YOU ARE A LEGEND!!! (Kevin you're still OK man lol)

I just got the phone a few days ago and this was a deal breaker for me. I was going to return it before I saw this. A few hours of tinkering and it is working! Thank you so much man.
 
Last edited:

KevinAce

Senior Member
Nov 25, 2017
164
21
0
Kevin...I JUST WANT TO SAY YOU ARE A LEGEND!!!

I just got the phone a few days ago and this was a deal breaker for me. I was going to return it before I saw this. A few hours of tinkering and it is working! Thank you so much man.
Oh no - This was all Homer. Look at the first post in the thread.. He is the legend!!
 

blynnk

Member
May 18, 2011
12
2
0
I also have Verizon. The Verizon cdmaless mbn seemed to be the only one that worked. Outgoing calls work, Incoming calls work, LTE data works, sending texts work. The only thing that DOESN'T work is incoming text messages. I can send messages but can't receive them. When I pop my SIM back into my old ZTE Axon 7, the messages start rolling in. The only difference I've noticed between my Axon and the ROG, is when I go into the phone information menu (*#*#4636#*#*), and run the ping test, IPV6 returns as Failed. Also the APN's are different. I've exhausted every option I could possibly think of. Verizon just says it's an compatibility issue. Is it possible that the Verizon cdmaless mbn isn't configured correctly for sms? Or is there a way to edit the APN?
I had this exact issue on Razer Phone 2. You have to call verizon and talk to a technical rep. Just ask them to configure your phone for CDMA less SMS and they will fix it from their end. Your messages from the last 3 days should start flowing in while you are on the phone with them.
 

ariffv2

Member
Dec 7, 2019
13
2
0
I facing issue my network always on off like on off airplane mode during my temperature become hot. Please assist on how to reset default as well original mbn.
 

wreid23

Member
Jan 9, 2017
24
7
0
---------- Post added at 11:25 PM ---------- Previous post was at 11:25 PM ----------

[/COLOR]
Preface
With this guide I can officially deprecate the other guide I wrote, as we will no longer have to hack together a solution by loading profiles for other carriers. Meaning, that this should just work provided an mbn exists for your carrier - doesn't matter from which device. This has been reported to work on TMO in the US, which did not work with my other method.

Prerequsities
* You must have working DIAG mode. See my other thread for more information on how to set that up.

Downloads
* AsusVoLTE v1.0.1
* EfsTools 0.10 modded 1.2
* EFS items
* Xiaomi Mi 9T MBNs (optional)

Step 1 - setting props
Install the AsusVoLTE app from above, make sure to upgrade if you already have it installed. Run the app and press the Enable VoLTE button; this should set some properties on the device to force-enable VoLTE after we have also done the other steps below. If you already enable VoLTE using my old method you can safely skip this step.
If you prefer to not use the app, simply run this in an adb shell:
Code:
setprop persist.vendor.dbg.ims_volte_enable 1
setprop persist.vendor.dbg.volte_avail_ovr 1
setprop persist.vendor.dbg.vt_avail_ovr 1
setprop persist.vendor.dbg.wfc_avail_ovr 1
If you are unable to set those properties for whatever reason, like if you have returned to stock after flashing the mbn and no longer have root, there is another possibility to force VoLTE/VoWiFi; There's a secret code you can use to force-enable it, but unfortunately it does not survive a reboot (not sure why ASUS didn't make it persistent).
Enter this in the dialler:
Code:
*#*#3642623344#*#*
The number will clear itself, and you shouldn't see any output if it succeeded.
When you have done this, go to (System) Settings -> Mobile network and toggle Mobile data off then on again. You should hopefully see the VoWiFi or VoLTE icon in the status bar now, but like I said above you will have to redo this if you reboot the phone - so if you can, please use the properties method instead.

Step 2 - making sure it works
Before we begin, make sure you close down QPST, otherwise EfsTools will error out because there can not be two clients connected at once.
Unzip EfsTools from above, open up a cmd window and cd to the directory where you extracted it. Depending on how you connect to diag you will need to modify EfsTools.exe.config - if you're connecting via USB you most likely won't have to do anything as it will find the port automatically, unless you have more than one port, in which case you can simply change port from Auto to the COM port of the phone (for example COM13).
If you are connected via wifi you will need to change port to 2500 (or whatever port you used in the AsusVoLTE app) and remote to true. So the efstool line should look something like this:
Code:
<efstool port="2500" remote="true" baudrate="38400" password="FFFFFFFFFFFFFFFF" spc="000000"/>
You can test the connection by running this in the cmd window:
Code:
EfsTools.exe efsInfo
This should report back some info if everything is working. If not, try rebooting the device and redo the bits from the DIAG guide.

Step 3 - disabling mcfg
Extract efs.zip from above to the same directory as EfsTools.exe, and make sure the mcfg_autoselect_by_uim file is there. Now simply run this in the cmd window, one line at a time:
Code:
EfsTools.exe writeFile -i mcfg_autoselect_by_uim -o /nv/item_files/mcfg/mcfg_autoselect_by_uim
EfsTools.exe writeFile -i mcfg_autoselect_by_uim -o /nv/item_files/mcfg/mcfg_autoselect_by_uim -s 1
If everything worked you should see no error messages.

Step 4 - writing mbn
If you are using the Xiaomi Mi 9T mbns zip from above, move it to the EfsTools directory and extract it. Now we simply need to find the mbn for your carrier.
The mbn directory structure is generally laid out like this: <region>/<carrier>/commerci/<country>/mcfg_sw.mbn. For example, the one for my carrier is eu/h3g/commerci/se/mcfg_sw.mbn. Copy the mcfg_sw.mbn file to the same directory as the EfsTools.exe, then go to the cmd window you opened and type this:
Code:
EfsTools.exe uploadDirectory -i mcfg_sw.mbn -o / -v
To get it working on the second SIM slot you will also have to run this:
Code:
EfsTools.exe uploadDirectory -i mcfg_sw.mbn -o / -s 1
If it has worked you should see a bunch of output, but no errors. Try rebooting now, and hopefully after it has booted you will have fully functional VoLTE and VoWiFi.

Source code:
AsusVoLTE - Github
EfsTools - Github

Let me know if this works for you, or if you have any questions.

Regards
Zenfone 6 User Here

Add me to the USA TMO Users this works for can confirm and guide was simple and straight forward THANKS A MILLION!!!!

Can't Believe this finally works
 

sedp23

Senior Member
Jul 8, 2015
220
22
38
---------- Post added at 11:25 PM ---------- Previous post was at 11:25 PM ----------

[/COLOR]

Zenfone 6 User Here

Add me to the USA TMO Users this works for can confirm and guide was simple and straight forward THANKS A MILLION!!!!

Can't Believe this finally works
Is there a YouTube video on all this somewhere ? I don't have access to a computer at the moment can this be done without one?

Sent from my ASUS_I01WDX using Tapatalk
 

VZTech

Senior Member
Dec 31, 2019
420
53
0
Is there a YouTube video on all this somewhere ? I don't have access to a computer at the moment can this be done without one?

Sent from my ASUS_I01WDX using Tapatalk
Follow the directions. Super easy. If you have an issue following the step, by steps, you probably shouldn't do it.
 

stealthj

Senior Member
Jan 16, 2008
749
148
73
Silicon Valley, California
I used the provided tmo mbn, and rcs works. Try clearing data on messages app, and resetting it up. Give it an hour or so to connect to rcs.
I've tried everything. Clearing the carrier services, messing with the dual 4g toggle. Lasts through root, but after enabling Vlte, it goes away for some reason. I'm glad to know yours works and hopefully I could mess with it to get it working again soon
 

VZTech

Senior Member
Dec 31, 2019
420
53
0
Yeah that's what it looks like when its connected

For some reason it doesn't work whatever I do. I have my primary sim set to SIM 1 for al data and calls/messages
I would try redownloading all the files, and redo it. One time I did it, I had to do it twice for some reason.
 
Our Apps
Get our official app!
The best way to access XDA on your phone
Nav Gestures
Add swipe gestures to any Android
One Handed Mode
Eases uses one hand with your phone