[LG V30 Guides, News, & Discussion] seadersn:
:INTRO:

OK: here's the thread we are talking about and working on getting VoLTE & VoWiFi to work :good:. For now this is for the H930 Open EU variant only, it worked for two peoples incl. me, but I think this is applicable on other variants of V30, with respective edits (/OP, you'll read later), too. Maybe even to other phones? I don't know, LG is sth (=something) special ;) This thread will rise with time I think, with different edits or ways to reach the goal: we want VoLTE/VoWiFi, sth, LG imho should've taken more care of...

I hope, my english is sufficient so everyone understands what's to do :D

And, btw.: you should have "Allow OEM Unlock" switched off.

User [MENTION=8036169]Krekos/CZ/[/MENTION] did help me in a special way: he zipped his modem config files I by accident deleted from my phone and uploaded them :good: Without them I would've not being able to complete this work, and therefore I wanted to say thanks again to him at this point :D (I think you can't hear this anymore, hm? ;)). He's btw. the second person for whom this worked, he's got VoLTE&VoWiFi now.

These files should work on other SD835 phones too, I link them here for archival. Eventually we can get a collection from every variant, this way we might be able to activate VoLTE etc. for a carrier on a phone which was not intended to being used with other operators. So a call to other variant users: can you please tar and upload these files to XDA? Procedere is:

Connect your phone via ADB and open a command prompt

type:

adb shell tar -czf /sdcard/mbn-files.tar.gz /firmware/image/modem_pr/mcfg/configs

Upload this file to your post here in this thread. I'll add it to the list then.

Links to modem cfg files (mcfg_sw.mbn):

H930 EU Open

US998 Open

These files need special permissions, of course... Otherwise it would be boring ;)

The path (on a LG phone) for oreo firmware is as follows:

/firmware/image/modem_pr/mcfg/configs

For pie it's not /firmware/, but /vendor/firmware_mnt/: pls remember to change path in the following process accordingly when using pie.

Permissions are:

files 0440 system:system

folders 0550 system:system

Apply them via terminal emulator or adb:

cd /firmware/image/modem_pr/mcfg/configs
chown -R system:system * {apply to everything in this folder and subfolders correct user and group}
chmod -R 0550 * {apply to everything in this folder and subfolders permissions}
find . -type f -print0 | xargs -0 chmod 0440 {apply to files only (not directories) in every (sub)folder permissions}

:MAIN PART:

Prerequisites:

- H930 (or variant, later)

- rooted

- File Manager with root privileges

- eventually a decent editor of your choice

- and a little bit knowledge about giving permissions and changing owners/groups, if needed

I won't give help about e.g. files not editable because of problems with filemanagers or root, do the search work for infos and parameters you need, or anything else, sry :) You have to prepare and maybe investigate some time to find some infos. You have to know, that this can lead to a brick, if you're doing weird stuff :)

Let's begin with backing up your complete ROM via TWRP, incl. efs, data and all you need. Backup your OP partition too:

dd if=/dev/block/bootdevice/by-name/OP of=/sdcard/OP.img

It's about 344mb in size and can be restored in recovery or ROM, adb or terminal emulator:

(adb shell) dd if=/sdcard/OP.img of=/dev/block/bootdevice/by-name/OP

Then gather some infos, for now it looks we only need MNC and MCC, which identifies your operator. Maybe it later turns out that you need parts of your IMSI too. You'll find it in LG's hiddenmenu:

*#546368#*930#

Field Test => SIM Info

You can check, if the IMS Settings are available already. If yes, then there's a high chance you don't need the "some more config" part.

Write it down and have it prepared. Now the editing session begins :D

First we will load our modem config for our operator. The corresponding script somehow seems broken as it should do its work with files in /data/shared folder, which isn't.

These configs can give some extra parameters and contain infos about your operator / SIM provider etc.: Open your filemanager (and/or maybe editor, if isn't integrated in fm) and open the file "/firmware/image/modem_pr/mcfg/configs/mcfg_sw/mbn_sw.txt". Here find the path for your provider. O2 Germany would be "mcfg_sw/generic_/joan_glo/eu/o2d/o2d/germany/mcfg_sw.mbn". Append these = the complete path for your config file.

/firmware/image/modem_pr/mcfg/configs/mcfg_sw/generic_/joan_glo/eu/o2d/o2d/germany

Copy your op config path, you need this for one of the following edits.

Now navigate to the folder "/data/property". There should be three files we need. If they are not there, create them with root:root, 0600 and following content pls:

persist.radio.buffet_mbn_file => the long path you copied before

persist.radio.buffet_enable => enable

persist.radio.sw_mbn_update => 1

Otherwise just edit and save them afterwards. Perform a reboot and then check in hiddenmenu => Field Test = MCFG Buffet, if this file is loaded. Should :)

Some more config is needed. We now need the before told MNC and MCC and maybe the IMSI. We need to point your ROM in the right direction (modem itself is done): localizing it and giving the exact operator infos. Have a check of following files and a look, if they are configured already correctly for your operator, or you have to edit them.

/OP/client_id.xml:

Is your MNC & MCC inside? If not, copy and paste an example line, edit this one so it suits both.

/OP/OPEN_EU/config/carrier_code.xml:

Same as above, but a little more complicated. Explanation with an example line:

<profile carrier="O2D" suffix="O2D" carrier_code_fast="" carrier_code_late="TLF" country="DE" mcc="262" mnc="07" mvno_type="imsi" mvno_match_data="26207200xxxxxxx" />

"Profile carrier": you find this in the long path to your .mbn file you copied before ;) O2D is O2 Germany, edit this to fit your sim provider.

"suffix": same

"mvno_match_data": this is part of your IMSI. When your provider is already listed, compare the five numbers after your operatorcode: 26207200xx. This all together has to be the same as the first ten numbers of your IMSI. If not, edit it. This is one of the reasons for VoLTE chaos on O2D, but that's another story.

/OP/OPEN_EU/config/com.lge.ims.rcs.xml

Same as above: copy and paste a line of simoperator section and edit with your operator details. "prefix" is your country calling code.

/OP/OPEN_EU/config/featureset.xml:

Change every item which is "false" to "true"

/OP/OPEN_EU/config/vo_config.xml:

Most likely you need to create an entry for your operator with mnc and mcc. do this and change both variables to "1":

<info mcc="262" mnc="07"><!-- O2D (you can write anything here or leave it, it's commented out)-->
<prop
support_volte="1"
support_vt="1"
/>
</info>
[b][i]Maybe[/i][/b] for some rare cases this is the only edit you need to do to get VoLTE & VoWiFi running :D

Reboot now, then continue. If sth in custom.prop or build.prop is edited the wrong way, this can cause bootloops, so you don't have to do the beforedone work again. And: when something in general went wrong in /OP directories edits, you can dd your OP partition back.

/OP/OPEN_EU/cust.prop (they're all case sensitive):

ro.lge.capp_cupss.rootdir=/OP/OPEN_EU

ro.build.target_operator=OPEN

ro.build.target_country=EU

ro.build.target_region=EU

ro.product.locale.region=your region, e.g. "DE" for Germany

ro.product.locale.language=your language, e.g. "de" for Germany

ro.lge.cupssgroup=GLOBAL-COM

ro.lge.opensw=EUR-XX

ro.lge.radio_mcfg=1

persist.lg.ims.volte_open=1

Reboot.

/system/build.prop:

ro.product.locale: change to match your language

ro.lge.capp_cupss.rootdir=/OP

ro.lge.capp_cupss.op.dir=/OP

Reboot again :).

:0UTR0:

The VoLTE and VoWiFi switches should be present now, a) in Phone Settings (both) and b) in Network Settings (VoLTE). We should now be able to hop into IMS Settings. You find it in LG's hiddenmenu => Field Test => IMS Setting.

First we let the IMS setting show an icon in statusbar, this way we don't need to dial the hiddenmenu code everytime we need the settings. A nice sideeffect: it shows if you're connected or not ;) To do this tip on "Test" and activate "Show Icon". After that go back to the main screen and scroll down to "GPRI VoLTE/VoWiFi". Here you can activate VoLTE/ViLTE/VoWiFi/ViWiFi, depending on what your provider offers in your contract. Go back again to main screen, go into "Test" menu, then "Load Preset Configuration" => "Initialize configuration". Now you can do a reboot and press a thumb: maybe this was it and everything is up and running! Maybe...

For seeing if VoLTE is up you can check "Debug Screen" => "VoLTE Debug Screen" inside IMS setting.

You can also turn on VoLTE and VoWiFi indicators/symbols, which are then on the right side of your statusbar near the clock. In IMS settings: => "GPRI VoLTE/VoWiFi" => "Registration" => "VoLTE" => "Indicate VoLTE", and the same for VoWiFi. To be able to place a call in flight mode but with WiFi calling on, enable "Airplane Mode" in VoWiFi menu.

In case you experiment with IMS Setting and suddenly a com.android.phone (or other) fc occurs, you can boot into TWRP, mount data and delete the directory "/data/user_de/0/com.lge.ims" with its integrated filemanager.

K, you're done :cyclops: :) Pls give feedback how it went for you!​