[Sony Xperia 1 III] Forbesii:
I live in Canada and I have a BC72 (Asian version). I am struggling to get VoLTE and VoWiFi working. I know that mbn file is the key to getting IMS support and sony seems to block some carrier mbn files (only mbn in sales areas are available). So recently I have been working on flashing mbn files to my phone.

UPDATE:

Everything works fine now. Here's the guide:

FIRST THING FIRST: Data is priceless. Always backup before you modify your phone software.

Disclaimer: Not every carrier in the world support VoLTE or VoWiFi. Please ask your carrier first to get more info if you don't know if they provide support to VoLTE or VoWiFi.

Things you need:

1. PC with windows or bootcamp (virtual machines won't work)

2. An Xperia 1 III with magisk installed (see guide here)

3. A reliable USB-C cable

Software you need:

1. EfsTools (from github)

2. Platform tools (from Google)

3. Qualcomm USB diagnostic port driver

4. QPST (from qpsttool.com)

3. mbn files (extract from your phone)

1. Open command line in the platform tools folder, type

./adb.exe shell

and press enter, you should see a linux shell on your command line starting with $. Then Type

su

and a super user window should pop up on your phone screen, after you allowing the permission, the $ should change into #, then type

setprop persist.usb.eng 1

. If your phone asks "Allow access?", press deny; if it doesn't, go to notification centre, find USB options, and select "No data transfer".

2. Go to your device manage on windows, there should be three "Xperia 1 III"s listed. Choose one, right click, and select "Update driver". In the pop up window, select "Browse my computer" and then "Select one from the available drivers". Find Qualcomm USB diagnostic 9091 and select next. Do the same thing for the rest two. For more details, please check this post and there's a Youtube video demonstration.

3. Open QPST Configurator, check the list and find which COM port corresponds to "LAHAINA". Go to the device manager and disable the rest, ONLY KEEP THE PORT FOR LAHAINA. Quit any QPST tools after this.

4. Open command line in the EfsTools folder, type

./EfsTools.exe efsInfo

and press enter. No error should occur if you configured correctly, and the COM port in step 3 should be shown.

5. Type

./EfsTools.exe writeFile -i mcfg_autoselect_by_uim -o /nv/item_files/mcfg/mcfg_autoselect_by_uim

and press enter. There is no expected output so that if there's no error message, you are good.

6. Select the mbn file from the mbn folder. Find the mbn file for your carrier. If you're using a secondary operator, please use the mbn file for the main operator (e.g. Koodo -> use Telus mbn). Copy the mcfg_sw.mbn to the root of the EfsTools folder, then type

./EfsTools.exe uploadDirectory -i mcfg_sw.mbn -o / -v

and press enter.

7. After the command line done it's magic, reboot your phone. Type

*#*#4636#*#*

in the phone original dialler. Select Phone Information, press the dots at the upper-right corner and select IMS Status, you can check if the IMS status is registered.

Now, you can enjoy VoLTE, VoWiFi, and even 5G (depends on your carrier's support). If you don't see VoLTE or VoWiFi toggle in your phone settings, try install VoEnabler in magisk or run these in adb shell:

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

Sorry for the late posting. I've been finding mbn files for other carriers but it seems there's no specific carrier's mbn files available on Snapdragon 888 (or I haven't found one). I'll update if there's any progress.

View attachment 5658277View attachment 5658281

IMS Status when Wifi is disconnected and connected.

Additional link: Buy me a coffee : )