[Guide][WIP][H930EU] Get VoLTE/VoWiFi functional and available - LG V30 Guides, News, & Discussion

: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 And, btw.: you should have "Allow OEM Unlock" switched off.
User @Krekos/CZ/ 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 (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:
Code:
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:
Code:
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:
Code:
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:
Code:
(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
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.
Code:
/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:
Code:
<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":
Code:
<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!​

Wow. Thank you.

yeah, I hope it's written in a way everyone understands it atm it's more like a dev thread, it will be rewritten for newbies when everything is clear and fully pointed out

.. Uploaded stuff ..
Hi - thanks for this info. I'm trying to work with it, and added my files. + a few extras stuff> actually not really sure how to do this .... any help? ... Thanks I have a US998 phone.: but want to get the Canadian settings all working ; specifically for Freedom Mobile ( aka : Wind ) --- the files are from a saved backup ( dump ) {{ the uploaded files are from a backup of the H933 canada firmware dump }} ... I'm currently using the US998 kdz firmware on the phone ....

let's start with
- do you see "MCFG Buffet" in your hiddenmenu?
- can you list all the content (the main directories) in your /OP folder pls?
- does the firmware modem config folder exist and is your provider inside?
- and where does your ro.lge.cupssgroup point to? (adb shell getprop ro.lge.cupssgroup)
I don't know the specialities of other variants, especially the offered providers. I don't even know if this is possible and which files you uploaded to your phone. can you either list them or point to them with a link eventually?

OK thanks - I'll work on this some more tomorrow -- I don't know where the files I uploaded went to! > but I uploaded >Folders>>> Carrier Config, Modem_pr, qcril_database, vendor, wifi & build.prop. All files were dumped from a working Phone loaded with the Canadian .Kdz H933. ... > ok so I actually took all those files,and overwrote the files om my current phone setup which is US998 .Kdz -- didn't even crash the phone <<< Go figure. I just had to clear the cache and dalvik cache. VoLTE may be working, but my Carrier has a very limited VoLTE service... so I cant check right now. VoWifi is not working. Every setting and menu has it turned "on" but is no working. .... tomorrow I'll follow your instructions after I do a fresh install. of the .KDZ. ..... be well

be warned: this can be time consuming and causing headaches, too stock files would be the best to start with.
is it a native us998 phone? it's the one one can "frankensteining", isn't it? you've overwritten these files and partitions, when I understand you correctly?
you should get hands on following stock partition disk dumps and folders first (kdz won't help as all these files are preloaded and can't be flashed via kdz):
- canadian OP partition (the more important one) (canadian_OP.img <= example filename)
- US998 OP partition (for being able to revert back to stock and trying to get volte/vowifi running with only some edited files on stock us998 partitions, only a few added files or maybe folders from canadian OP partition and only the .mbn file for your provider, taken out of firmware modem config folder). this one shoukd be flashed and worked with.
- stock system image (kdz flash us998)
- clean unencrypted data partition (factory reset and then completely set up with your apps and settings, no db or ither files copied).
- you've got a backup of your stock efs partition?
try to keep your phone as clean as you can as this can only be of help about not being confused. are there gsm/(w)cdma/band differences between us998 and canadian 993?
this could go an interesting way let's see, maybe we get it is wifi calling enabled on your contract? I wasn't able to determine this out of your post.

there's the possibility to edit the thresholds when wifi calling aborts and switches to cell telephony or volte. it's located in /system/etc and inside a filename called "andsf_your_provider_code.xml", for o2 de it's named "andsf_26207.xml". I've set every threshold to -90, this way wifi calling is still working with only one or two bars wifi reception. otherwise it would abort just too early and switches to other telephony bands.

US998 mbn-files

Thanks for the detailed info.
Not working for me. I managed to add my operator and enable IMS but can't figure out how to make IMS register. Might be because my operator is a little more retarded and uses IPv4 only. No idea where to set that policy, it isn't in IMS settings anymore on the V30.

sounds like setup session in IMS setting. go into gpri volte/vowifi setting and try enabling volte and vowifi only, then tap on "call" menu entry. choose "volte" and tip "use sip preconditions" there, use the same setting for "vowifi". check "subscription" in main menu and "IMPI" there: is there a connection adress inside? example:
your_imsi@ims.mncXXX.mccXXX.3gppnetwork.org
replace mnc and mcc with yours but add a zero at the first place of your mnc. for o2 de's mnc which is 07 it looks like
your_imsi@ims.mnc007.mcc262.3gppnetwork.org
then try test menu and restart ims process. or perform a reboot.
but you'll have to investigate more, for yourself. what's your exact provider and mnc mcc?
edit: can be you need an IMS apn for your provider. in it you can set the protocol versions. what's logcat telling?

Hi. Thanks for this. Is there any way that this can be applied to aosp ROMs?

Those mcfg files are found inside the modem partition and you can pull them out from any kdz.
Do you have an idea where this is located? (/nv/)
Edit: Also, added some picture showing volte working... when it's not (switching back to something else)

you're really sure about this? since I've flashed a kdz and a modem and unfortunately this didn't bring back these files on my phone maybe I did sth. wrong, this is really interesting now. thought they were on efs partition; but these nv files should be on efs. I'm not really sure about that, maybe someone other can finally confirm :good:. edit: I remember I've got carrier services installed, would be interesting if this makes a difference. I hardly believe but try it:
https://play.google.com/store/apps/details?id=com.google.android.ims
about aosp: there's much more needed, proprietary files and more config inside sources etc pp. I evtl. wanted to do compilings again in winter, I wanted to try this but I need additional ssd space before

Oh sh*t...
I guess I lost my efs partition then...
I tried a bunch of stuff from your first post... sadly, I don't have an /OP/ directory at all... and when I try to force the mcfg mbn (from my sdcard lol, cauz my carrier is not provided in the us998 modem)
Edited a bunch of stuff in my build.prop to make it look more like the canadian one.. but it still doesn't work (even lost the volte option now in the mobile setting menu..)
Also, I tried to flash my canadian modem files... sadly.. the phone boot but the modem doesn't initialize at all... (no wifi and no mobile network)

aye, sh¡t... and there's no efs backup from your phone done / available as it sounds. you lost your IMEI too??
can you check the directory
/dev/block/bootdevices/by-name
and see if there's an OP "file"? eventually only the script which mounts it is broken. if I remember correctly there was a thread about regathering the IMEI or at least fixing some stuff on efs. maybe this helps you, unfort. I don't know where it was, you have to search yourself.
k, sleeping now, it's hard for me these days after my shoulder operation... hopefully we get your phone back running! I'm optimistic flashing a efs backup and changing the imei back to your original one for example. don't know if this is possible, but how often did I think "sh¡t, now it's over, phone's bricked" and then a solution appears out of nothing. you should've seen my face in the moment volte came.up on my phone xD xD xD
see you later be optimistic!

Oh sorry! I still got my efs partition.. I thought it would get overwritten when doing the frankenstein method.. But I guess not.. Is there any way I can debug why the modem doesnt work at all when flashing the canadian one while using the us998 system?

there is but I don't have it in mind atm it's explained here at xda somewhere, logcat and dmesg is used for that :good: can be that it is bands related? so you have to unlock bands in your modem settings? edit: most likely not as wifi is dead too...

seadersn said:
sounds like setup session in IMS setting. go into gpri volte/vowifi setting and try enabling volte and vowifi only, then tap on "call" menu entry. choose "volte" and tip "use sip preconditions" there, use the same setting for "vowifi". check "subscription" in main menu and "IMPI" there: is there a connection adress inside? example:
your_imsi@ims.mncXXX.mccXXX.3gppnetwork.org
replace mnc and mcc with yours but add a zero at the first place of your mnc. for o2 de's mnc which is 07 it looks like
your_imsi@ims.mnc007.mcc262.3gppnetwork.org
then try test menu and restart ims process. or perform a reboot.
but you'll have to investigate more, for yourself. what's your exact provider and mnc mcc?
edit: can be you need an IMS apn for your provider. in it you can set the protocol versions. what's logcat telling?
Click to expand...
Click to collapse
I already tried to set IPMI with my data like [email protected] but IMS still don't register and the setting doesn't stick. it always reverts to a default like [email protected].
I also created the ims APN but it doesn't help with anything.
I'm still digging but so far I have no clue what's going on.

hmm, did you try configuring sip telephony? for o2 germany the registration looks like
country code + phone number @ telefonica.de = (for germany) [email protected]. have a look at /data/user_de/0/com.lge.ims/shared_prefs/impu_list.xml
(user_de: I don't know if this is indicating the language the rom uses? so for an english language build it can look like user_en? I don't know...).

Related

[Guide]Set the Straight Talk APN on a (rooted) Stock 4.4.2 AT&T ROM

UPDATE: There is a much simpler solution that anyone can use without learning Linux commanline or file permissions. See this thread for details:
http://forum.xda-developers.com/showpost.php?p=54462957&postcount=13
WARNING: If you do not understand every step of these low-level Linux command-line technical instructions, then do not attempt this method or you may brick your phone! These instructions are written for people who understand android developer tools, Linux command-line tools, and file permissions. If you do not understand these Android development basics, then find another walkthrough.
I got my phone up and running and text messaging, 4G LTE data connectivity, and phone calls worked just fine, however, I noticed I was unable to send and receive MMS messages (picture messaging). I tried every solution I could find on the web for changing the APNs on my rooted LG Optimus G Pro E980, and by trial and error, I discovered the following solution:
The stock Android ROM supplied by AT&T for the Optimus G Pro - Android 4.4.2 (Build E98020G), has disabled the ability to add working APN settings through the system APN settings dialog by defaulting all new APNs to have the (apn) type="default,dun". The settings screen does not let you change this value, so you have to edit the values directly in the SQLite database.
None of the free SQLite-database-editors in the Android market were able to edit the read-only /data/data/com.android.providers.telephony/databases/telephony.db file (after following instructions for editing the APN in the database in the folder where it is stored).
So, using ES File Manager (search for "com.estrongs.android.pop" on google play), I copied it to my SD-Card, copied to my computer and edited it with SQLite Database Browser (a SourceForge project identified as sqlitebrowser).
VERY IMPORTANT: The permissions change when copying the file from your computer to the SDCARD and when copying it from the SDCARD to the /data/data/com.android.providers.telephony/databases/ folder. So, I had to set the permissions back to the original telephony.db permissions & owner. The permissions should match all of the other .db files in the /data/data/com.android.providers.telephony/databases/ folder, like so:
RW-RW----
VERY IMPORTANT:Change the file owner back to "radio" from "root". Change the group back to "radio" from "root". If you do not change the owner and group back to "radio" after you copy the telephony.db file back to the /data/data/com.android.providers.telephony/databases/telephony.db path, the phone.apk process will repeatedly crash until it restarts your phone (and your phone will keep rebooting until you delete the telephony.db file that has incorrect permissions or incorrect owner). To boot, the phone.apk runs under the "radio" group and needs the critical Android OS file: telephony.db to be owned and accessible by the "radio" group.
After creating an APN per Straight Talk's instructions, changing the type field in the carriers (APNs) record stored in the telephony.db, copying over the new telephony.db (and overwriting the original), changing the permissions & owner of the copied file, and rebooting the phone, I was able to send and receive text messages and picture messages (MMS) to myself.
Note: My phone came with the correct "Service Center Address" setting, because it was an AT&T branded phone before I brought it to Straight Talk. However, you may need to change this setting if you came from another carrier with your phone. The correct setting for Straight Talk customers on the AT&T LTE network should be (the same as it is for AT&T customers on an AT&T plan):
Code:
+13123149810
Although the /system/etc/apns-config.xml file has several, misleading APN values in it, this file is not used to store the APN records in Android 4.4.*. Instead, APNs are stored in the /data/data/com.android.providers.telephony/databases/telephony.db SQLite database.
Also, there is a rumor spreading around the internet that you cannot send MMS messages when your WIFI is connected (instead of a 4G LTE connection). That is false: my phone sends and receives MMS messages while the WIFI is connected.​To make it easier for you to change your APN settings on your phone, I have attached my working telephony.db file. It contains only one APN record for Straight Talk on AT&T's LTE network. I deleted all of the other APN records from the database, per Straight Talk's APN instructions.
If you are curious, I also attached the database dump of the attached telephony.db, which was auto-generated by SQLite Database Browser. It is a text file called "telephony-dump.sql".
Hi, I tried this step by step and now my phone does nothing but crash repeatedly. Any way to fix this?
How to unbrick your phone if you missed steps in the instructions
l337m45732 said:
Hi, I tried this step by step and now my phone does nothing but crash repeatedly. Any way to fix this?
Click to expand...
Click to collapse
If you do not understand every step of the above low-level Linux command-line technical instructions, then do not attempt this method or you may brick your phone!
It sounds like a permissions issue - the android operating system is crashing because it does not have permission to read the critical OS file: telephony.db. Did you set the owner, group, and permissions on the telephony.db file correctly? If you are unable to change the permissions back on the telephony.db, then follow the instructions above to fix your problem:
ratkiley said:
VERY IMPORTANT: The permissions change both when copying it to and when copying it from the SD-Card. So, I had to set the permissions back to the original telephony.db permissions & owner, (matching the other .db files in the /data/data/com.android.providers.telephony/databases/ folder):
RW-RW----
VERY IMPORTANT:Change the file owner and group back to "radio" from "root". If you do not change the owner and group back after you copy the file back to the /data/data/com.android.providers.telephony/databases/telephony.db path, the phone.apk process will repeatedly crash until it restarts your phone (and your phone will keep rebooting until you delete the telephony.db file that is owned by "root").
Click to expand...
Click to collapse
If you don't know how to delete the telephony.db file, then you can flash the stock AT&T android Operating System image file to unbrick your phone. There are many tutorials and walkthroughs on this topic on xda developers. This walkthrough is pretty comprehensive:
http://forum.xda-developers.com/showpost.php?p=44983841&postcount=1

LG G4 WiFi Fix - Always all channels on 2.4 GHz

WiFi Fix - always all channels on 2.4 GHz
IMPORTANT:
Only for advanced users!
You are an advanced user if you know exactly what you are doing.
You are an advanced user if you know what to do if something went wrong.
You are NOT an advanced user if you know how to do copy+paste.
You can bring your smartphone into a state, so it no longer works.
I am not responsible for anything. The following instructions are only suggestions.
Hello,
I want to show you a way how you prevent your LG G4 to limit wireless channels to 1-11.
This happens when no SIM card is inserted or if the airplane mode is activated.
You get messages like:
"Some Wi-Fi networks unavailable due to unknown location" (English)
"Einige Wi-Fi-Netzwerke sind wegen des unbekannten Standorts nicht verfügbar" (German)
"Algunas redes Wi-Fi no están disponibles debido a una ubicación desconocida" (Spanish)
I studied the log entries and found a line that said "[LGE_PATCH] For Country code DC. ....".
After a long search in the code I have discovered the place that is responsible for the limitation.
It is located in the wifi-service and it sets the WifiCountryCode to "DC" if your location could not be obtained.
For me living in Germany it should be "DE".
The WifiCountryCode named "wifi_country_code" is stored in the "global" table of "/data/data/com.android.providers.settings/databases/settings.db".
Changing it has no effect as it is overwritten instantly.
So we need to modify the program code of "wifi-service".
According to this post: http://forum.xda-developers.com/showpost.php?p=64636618&postcount=8
this guide seems to work on other models from LG and newer Android versions too.
You have to search for the wifi-service.odex file and replace "DC" with your two-letter country code.
Alter the paths of the instructions if you use another phone than LG G4 with Android 5.1 Lollipop!
The following instructions show how to do it on the LG G4 with Android (5.1) Lollipop.
Prerequisites:
ROOT
USB debugging enabled
Procedere:
Connect your G4 to your computer.
Open the command promt and enter the following lines:
Code:
adb shell
mkdir /sdcard/wifi-service
cp /system/framework/arm64/wifi-service.odex /sdcard/wifi-service/64wifi-service.odex
Now a file named "64wifi-service.odex" is on your internal memory located in the folder "wifi-service".
Copy the file to your computer.
Now you have to edit the file.
Don't use the "editor" on windows, use Notepad++
With Strg+F search for "DDD".
You will find exactly one line that contains this::
"DATE_TIME DBG DC DCM DDD DDFName"
Change the value "DC" to "DE" for example (search the internet for the two-letter country code of your country (ISO 3166-1 alpha-2))
"DATE_TIME DBG DE DCM DDD DDFName"
Save the file.
Delete the file "64wifi-service.odex" on your smartphone.
Copy the edited file from your computer to the folder "wifi-service" on your smartphone.
Go back to the command prompt and type this:
Code:
su
You should see an confirmation promt on your smartphone that asks to grant root rights.
Confirm the message.
The command promt should change from $ to # now.
To verify your rights type this:
Code:
id
You should see "uid=0" etc.
Now type in the following lines (I recommend to execute each row seperately):
Code:
mount -o remount,rw /system
cd /system/framework/arm64
cp wifi-service.odex /sdcard/wifi-service/64wifi-service.odex.bak
rm wifi-service.odex
cd /sdcard/wifi-service
cp 64wifi-service.odex /system/framework/arm64/wifi-service.odex
cd /system/framework/arm64
chown 0:0 wifi-service.odex
chmod 0644 wifi-service.odex
echo "restart device"
Check the outputs. There must be no errors!
After hitting the Enter button the last line should output "restart device".
In the folder "wifi-service" on your internal storage you find the original "wifi-service.odex".
It is named "64wifi-service.odex.bak".
Restart your smartphone now.
As from now it does not matter whether a SIM card is inserted or if the airplane mode is activated.
The WiFi channels are no longer limited to 1-11. You can now always use 12 and 13.
Did the instructions help you?
Please give a "Thanks!"
Thank you
For users who speak German:
I wrote this guide in German at first. You can find it on android-hilfe.de
Title: "LG G4 WLAN Fix - immer alle Kanäle"
http://www.android-hilfe.de/thema/lg-g4-wlan-fix-immer-alle-kanaele.710265/
I am using Ultraedit. Nevertheless I only see a hex file and I can not locate a string: "DCM DDD DDFName" Any suggestions?
It is also passible with your editor.
There are two ways:
1. In HEX mode (default mode)
After hit "Strg + F" enter the string "DDD"
Activate the checkboxes "ASCII suchen" and "Groß-/Kleinschreibung beachten".
You will find excatly one result. (DC is in line 00c6e40h)
2. Deactivate HEX mode (Strg + H)
After hit "Strg + F" enter the string "DDD"
The first result is what you need. (line 10528)
Change "DC" to "DE". Don't change anything else!
Hope I could help.
You are also on V10c? Otherwise line numbers will differ.
Tip:
Make a system.img with "dd" of your current system partition.
If it don't work or you did something wrong you can simply copy it back with "dd".
dominik-p said:
It is also passible with your editor.
There are two ways:
1. In HEX mode (default mode)
After hit "Strg + F" enter the string "DDD"
Activate the checkboxes "ASCII suchen" and "Groß-/Kleinschreibung beachten".
You will find excatly one result. (DC is in line 00c6e40h)
2. Deactivate HEX mode (Strg + H)
After hit "Strg + F" enter the string "DDD"
The first result is what you need. (line 10528)
Change "DC" to "DE". Don't change anything else!
Hope I could help.
You are also on V10c? Otherwise line numbers will differ.
Tip:
Make a system.img with "dd" of your current system partition.
If it don't work or you did something wrong you can simply copy it back with "dd".
Click to expand...
Click to collapse
Thanks for all the help! I switched to notepad ++. Found the entry
Code:
DATE_CLASS DATE_KEY DATE_TIME DBG DE DCM DDD DDFName DEBUG
in line 17126 though. Changed it successfully! Copied successfully to my phone! No effect! Still no channel 13 without sim. Double checked (copy wifi-service.odex to pc) and look for
Code:
DATE_TIME DBG DE DCM
.
It IS in there. Somehow not taking effect? I had problems when doing "chown 0:0 wifi-service.odex" It tells me "read only file system". I did set the owner and permissions with ES File Explorer. TO: root, root and Read, write; read; read.
OK I think you are an advanced user. (aren't you?)
You did it right with your app, but it should be possible with the shell too.
Readonly means you are not "su" in shell or/and did not "mount -o remount,rw /system".
Check su with "id" (uid=0) and mount should output something like this:
Code:
/dev/block/bootdevice/by-name/system /system ext4 [B]rw[/B],seclabel,relatime,data=ordered 0 0
Please check that /system/framework/arm64 has only one file named wifi-service.odex in it.
While testing I got to a point where I had two "wifi-service.odex" files with different file permissions in it.
Post an "ls -l" of the folder please.
After removing the SIM card and rebooting your phone look in the "global" table of settings.db and check that "wifi_country_code" is set to "DE".
Please also use catlog to check if wpa_supplicant sets the CountryCode to DE.
PS: for me it's line 17073 in notepad++ Don't know why lines differ.
Filesize of wifi-service.odex is 3903976 bytes for me. You are also on V10c?
Thanks for this! just fixed my G3 Marshmallow,
I'm using another region rom, and i think sim country is not properly detected.
Thanks for reply.
Didn't know that the G3 has this "problem" too and that my solution works on Android M.
I guess it's not the same line "DATE_TIME DBG DC DCM DDD DDFName"
but also a line with the value "DC"?
dominik-p said:
Thanks for reply.
Didn't know that the G3 has this "problem" too and that my solution works on Android M.
I guess it's not the same line "DATE_TIME DBG DC DCM DDD DDFName"
but also a line with the value "DC"?
Click to expand...
Click to collapse
I just noticed the problem when updating to 6, its another line but very similar:
the full path for the file is /system/framework/oat/arm/wifi-service.odex
Line is 24139
values for the line are "DATE_CLASS DATE_KEY DATE_TIME DATUM_WIDTH DBG DC DCM DD DDD DDFName "
Just changed DC to BR.
Perfect.
Thank you.
dominik-p said:
Perfect.
Thank you.
Click to expand...
Click to collapse
Hello, I know that the thread is quite old, but I have a small problem with the wifi-service.odex file on my phone. Looks scrambled in n++. Is there any setting for n++ that I should use?
My phone is a Le Max2 and I don't have GSM signal at my workplace. The routers are set to automatic and they also use channels 12 and 13.
From what I understand by the commands, you are just pulling the file from system to internal storage, and copying it to the computer, changing it with n++ and copying it back to system. There is no transformation to .jar as I can see...
The file is about 4mb.
Can you provide any help please?
valy_cta said:
Hello, I know that the thread is quite old, but I have a small problem with the wifi-service.odex file on my phone. Looks scrambled in n++. Is there any setting for n++ that I should use?
My phone is a Le Max2 and I don't have GSM signal at my workplace. The routers are set to automatic and they also use channels 12 and 13.
From what I understand by the commands, you are just pulling the file from system to internal storage, and copying it to the computer, changing it with n++ and copying it back to system. There is no transformation to .jar as I can see...
The file is about 4mb.
Can you provide any help please?
Click to expand...
Click to collapse
Hi,
you already created a thread here: https://forum.xda-developers.com/le-max-2/help/wifi-channels-12-13-unable-to-t3773144
Please stay at your own thread for further discussion. This thread here is only for LG devices and the provided fix is only working on some LG devices.
You're right, the odex file looks "scrambled" in Notepad++, but that's no problem. We only had to change one or two letters.
I will answer at your thread "WiFi channels 12 and 13 - unable to see them". (https://forum.xda-developers.com/showthread.php?t=3773144)
For all other users, please read these threads to understand the problem:
WiFi regional problem on Android https://forum.xda-developers.com/wiki/WiFi_regional_problem_on_Android
[GUIDE] WiFi Country Problem Solving for AOSP, MIUI & others https://forum.xda-developers.com/showthread.php?t=2368501
Double post by mistake - slow internet connection
Worked cool on LG G4 Stylus
Just a few "logistics" to comment:
-on some devices/models seems to be that /sdcard is no possible to access. Instead, /storage/emulated/0/ or the real path /data/media/0
-when copying the modified wifi-service file to /system/... folder, step on with a "Permission Denied" message. I was Root and /system was mounted as wr. Finally continued by copying using a root explorer and then continuing in the shell.
-after i rebooted, tried to connect on a channel 13 without sucess. I had plain mode. I put off plain mode, changed the country in wpa_supplicant.conf file and rebooted again. After that, all went good
DarkBader said:
Just a few "logistics" to comment:
-on some devices/models seems to be that /sdcard is no possible to access. Instead, /storage/emulated/0/ or the real path /data/media/0
-when copying the modified wifi-service file to /system/... folder, step on with a "Permission Denied" message. I was Root and /system was mounted as wr. Finally continued by copying using a root explorer and then continuing in the shell.
-after i rebooted, tried to connect on a channel 13 without sucess. I had plain mode. I put off plain mode, changed the country in wpa_supplicant.conf file and rebooted again. After that, all went good
Click to expand...
Click to collapse
Thanks for your feedback!
Would you please share your model number and Android version of your "LG G4 Stylus"?
dominik-p said:
Thanks for your feedback!
Would you please share your model number and Android version of your "LG G4 Stylus"?
Click to expand...
Click to collapse
LG G4 Stylus H635 LL 5.0.2
Thank to you for the good work
Question!
dominik-p said:
Thanks for your feedback!
Would you please share your model number and Android version of your "LG G4 Stylus"?
Click to expand...
Click to collapse
I had a situation i yet did not solve.
Yesterday i went to some friend's house, where before i could not see their wifi network. And i still can not see it ! :0 :0
I know this method worked, because changed the channel on my router to 12 or 13 and i can see them and connect. Also country code show as i changed it in Wpa_Supplicant and in CountryCode in Android.Providers. I also know is not a hidden network, as my friends can see it and connect normally without problem. Also tried with WPS button, and nothing.
.
-As the "problematic" network is a 5G, maybe is something related with this? lack of technology as my phone model is a bit old nowadays?
But what i understood about 5 G, is that they assure backwards compability :/
.
Maybe u see something i am missing?

[Guide] Make the Korean Q Great Again [relocalise, volte, wowifi, debloat and more]

IF YOUR BOOTLOADER IS NOT ALREADY UNLOCKED, THIS GUIDE IS NOT FOR YOU.
READ EVERYTHING AT LEAST ONCE BEFORE PROCEEDING!
THIS GUIDE WORKED GREAT FOR AT LEAST 3 PERSONS, THIS DOESN'T MEAN IT WILL WORK ON YOUR PHONE.
This guide exist in case the ULM Q never released
This guide should do the following :
relocalize to your country (I'm only providing the files for canada, usa and eu)
Root and TWRP (useful if any custom roms get released)
debloating
volte/vowifi/vilte/viwifi
Very Good battery (see screenshots down below)
mute shutter camera
4k 60fps video recording (?some people said it wasn't available on the korean Q?)
wifi tethering
and more
WHAT'S NOT WORKING FOR ME :
lg smartworld : meaning no lg app update.. which can lead to the next problem
Drag down for search : working only if you do not update the google app
What you need:
1 to 2hrs of free time
Working QFIL with minimal knowledge
Working Fastboot on your pc (See spoilers)
I did NOT manage to make fastboot work on my amd ryzen pc (3600)
here's what I tried :
- multiple fastboot drivers
(fastboot was kinda working.. now it just never load any driver)
- plugged in a usb 3.0 hub
- FWUL : https://forum.xda-developers.com/an.../live-iso-adb-fastboot-driver-issues-t3526755
(the latest version as of 2020-11-25 couldn't even boot on this pc...)
- ubuntu
(crashed the phone to a gray screen)
- all my usb ports : 2, 3 and 3.1​ What I didn't try but could work for you:
- plugged in a usb 2.0 hub
- linux mint?​
Soo... what did I do? I went back to my good ol' intel pc running windows 10 worked like a charm.
Click to expand...
Click to collapse
Also, this guide assume you had working volte/vowifi on your phone at some point...
Because, you will need the carrier folder from the /oem/op/ folder.. should look like this : open_us, vrz_us, open_ca..
Or you will need to retrieve it from your working firmware...
I'll be providing :
- Android 10 - G7 - OPEN_CA (Canadian operator folder) (What I'm using on my phone right now)
- Android 9 - V35 - OPEN_US (ULM/GFi) (Confirmed working by @cmrntnnr)
- Android 10 - G7 - OPEN_EU (untested) (thanks @vlad48)
!!!!!! Before crossflashing to the korean kdz !!!!!!
------------------------------------------------------------------------
Crossflashing can break stuff sometime.. it is advised to do a full backup of your phone using https://github.com/bkerler/edl
if you're feeling lucky and do not want to do a full backup... you should still use qfil to atleast backup the following VITAL partitions : Fsg, modem, modemst1&2, ftm
STORE THOSE FILES PRECIOUSLY
------------------------------------------------------------------------
File you need to download :
To your phone SDCARD :​
OPEN_CA or OPEN_US or OPEN_EU (untested) (Decompress this file, delete the zip)
OPEN_CA is too big, I had to delete apks that weren't from my carrier. (Bell)
(open_ca/apps/ -> kept only bell apks)
debloated-priv-app-RENAME-ME.zip (Decompress this file, delete the zip)
debloated-app-RENAME-ME.zip (Decompress this file, delete the zip)
twrp-installer-v3.3.1-v35_a.zip
Disable_Dm-Verity_ForceEncrypt_11.02.2020.zip
Magisk
(OPEN_EU only) : voenabler-v1.8.zip
​To your pc:​
vbmeta.img
30b_boot_magisk.img
30b_abl.bin (shouldn't be needed, but provided as backup)
Korean Q 30b (I went with LGU_KR since the other one weren't available back then)
The V35 engineering abl you got from here : https://forum.xda-developers.com/lg-v35/development/bootloader-unlock-root-instruction-t4052145
This file was renamed to engabl.bin in this guide​
You need to use SOLID EXPLORER, not esfile or any other since I can not guaranteed it will apply the correct permission to the files and folder.
LGUP > Flash V350N30b_00_LGU_KR_OP_1015.KDZ using partition DL, select everything except FTM
Let the phone boot for the first time and reach setup screen
LGUP > refurbish phone using the kdz (this should fix potential nt error when booting the phone, it did for me)
Let the phone boot for the first time and setup the phone quickly so you can install app. (no lock or fingerprint)
Patching vbmeta to edit the operator/carrier information & patching boot for magisk/root
QFIL > partition manager > abl_a > read, store that file and name it : needed_abl.bin
How to retrieve the file: WIN+R , %AppData%/Qualcomm/QFIL , enter, pick right folder, save and rename bin file​
QFIL > partition manager > abl_a > load > engabl.bin (for fastboot)
QFIL > partition manager > abl_b > load > engabl.bin (for fastboot) (Optional)
This is useful in case you need fastboot in the future, simply boot twrp then change slot from a to b and reboot.
To switch back from fastboot : fastboot --set-active=a​
reboot the phone using vol- + power
command :
Code:
fastboot --disable-verity --disable-verification flash vbmeta_a vbmeta.img
fastboot oem edl
QFIL > partition manager > abl_a > load > needed_abl.bin
QFIL > partition manager > boot_a > load > boot_magisk.img
reboot by holding vol- + power
[*]
Click to expand...
Click to collapse
Reboot to system, Install magisk manager and solid explorer
Start magisk manager and let it reboot your phone
magisk > modules > install from storage > twrp-installer-v3.3.1-v35_a.zip
SOLID EXPLORER > copy the carrier folder to the oem/op/ partition ('OPEN_CA' in my case)
SOLID EXPLORER > edit oem/op/cust_path_mapping.cfg and replace LGU_KR with OPEN_US ('OPEN_CA' in my case)
If you're still getting nt error at boot, you'll have to fix it in order to make the phone load open_us..
try adding a second line like this :
FFFFFF,84=/oem/OP/OPEN_US
If this doesnt do it, you'll have to share your nt error in the comment.
Click to expand...
Click to collapse
SOLID EXPLORER > Rename the folder /oem/op/LGU_KR to LGU_KRori (this will make your phone lag/glitch/freeze real quick.. proceed with the next step ASAP)
Quickly go in magisk and use the reboot menu to get to twrp. (reboot to recovery)
Format data
Reboot to TWRP/recovery
Flash Magisk-v21.1.zip, if it doesn't flash, reboot using the reboot menu to TWRP/recovery again until it works. (no red text)
Flash Disable_Dm-Verity_ForceEncrypt_11.02.2020.zip
Reboot to system
if the vowifi toggle is not working for you
For OPEN_CA/OPEN_US :
SOLID EXPLORER > move debloated-priv-app-RENAME-ME to /oem/op/priv-app/
SOLID EXPLORER > Rename the new folder to OPEN_US or OPEN_CA
Reboot
Click to expand...
Click to collapse
FOR OPEN_EU : (these steps are from the v40 community telegram, Quote from Lucky)
magisk > modules > install from storage > voenabler-v1.8.zip
If you transplant the KR OP with OPEN_EU, and are based in EU, this module should add the props that enables the VoLTE and VoWifi options.
Only if this fails, do you need to tinker with the xml files.
Click to expand...
Click to collapse
Optional.
Adding back missing lg apps (I provide QMemo and LG Weather)
you can either install manually the apk from debloated-app-RENAME-ME
or
move the folder to oem/op/app/ and rename it OPEN_CA or OPEN_US
Click to expand...
Click to collapse
Enable LGMessage over Google message and add back LGFMRadio (you'll need to uninstall any sms app you might have installed.. like google message or fb messenger(if used for sms))
Solid Explorer
edit this file /oem/op/open_us/config/custom_apk_list.cfg
change the sign on the following lines (from - to + and + to -)
-com.lge.fmradio:/system/product/priv-app/LGFmRadio
-com.android.mms:/system/product/priv-app/LGMessage
-/system/app/SmartMessagingEngine
+com.google.android.apps.messaging:/system/app/Messages
Example
-/system/app/SmartMessagingEngine
to
+/system/app/SmartMessagingEngine
Reboot
Click to expand...
Click to collapse
Do not forget to enable developer option and adb AND
Plug you phone in computer, open adb shell and type su
on the phone, grant root.
It is useful to have a root shell in case the phone is stuck while booting (not boot looping)
you can also just reboot to twrp and undo your modification from there.
Click to expand...
Click to collapse
Thanks to everyone patient enough to answer my questions and who did provide most of the solution for this guide:
vlad48, Lucky, azitlies, xsavi, kaneorotar and many more..
Thanks for the guide
alonzo_ama26 said:
Thanks for the guide
Click to expand...
Click to collapse
No prob!
Added OPEN_EU files, but they are untested.. no clue if everything will work... Some people in the v40 community got it to work
Good luck everyone
I've completed all the steps (except for lg weather) and I didn't notice anything different in call features until I saw the description of the international roaming setting referenced "outside of US PR etc." instead of "outside of foreign territory or whatever" which indicates a success.
Then I Applied the vomaster.zip from somewhere else (prob the same thing as the OP's not sure) and flipped on wificalling on the settings and got the setup prompt for wificalling from my carrier and later a "wifi setup's been completed" notification, so I guess things are finally good again. Unfortunately RCS doesn't seem to want to cooperate either way =\
Not sure why I did it because korean q on its own was usable, but I did it it anyway and it is nice, performance feels better too but this could be because I went from LG firmware to open_us. Both the incoming and outgoing calls and texts feel much snappier as well and doesn't take 5 seconds to go anywhere. Also it doesn't ask me whether I want to listen to the call recording or not at the end of every phonecalls so that's nice. thank you
-edit
one question, is there any way I can use the korean AOD's? I liked the one that shows calendar and time.
issc said:
I've completed all the steps (except for lg weather) and I didn't notice anything different in call features until I saw the description of the international roaming setting referenced "outside of US PR etc." instead of "outside of foreign territory or whatever" which indicates a success.
Then I Applied the vomaster.zip from somewhere else (prob the same thing as the OP's not sure) and flipped on wificalling on the settings and got the setup prompt for wificalling from my carrier and later a "wifi setup's been completed" notification, so I guess things are finally good again. Unfortunately RCS doesn't seem to want to cooperate either way =\
Not sure why I did it because korean q on its own was usable, but I did it it anyway and it is nice, performance feels better too but this could be because I went from LG firmware to open_us. Both the incoming and outgoing calls and texts feel much snappier as well and doesn't take 5 seconds to go anywhere. Also it doesn't ask me whether I want to listen to the call recording or not at the end of every phonecalls so that's nice. thank you
-edit
one question, is there any way I can use the korean AOD's? I liked the one that shows calendar and time.
Click to expand...
Click to collapse
odd! you really shouldn't have to flash that vomaster.zip at all if you're located in the US.. honestly.. I don't even know if rcs is available in canada and I'm really not sure how to test this feature.. You might have to toggle wifi calling again if you got the wifi calling activation success notification.. it was the case on my friend phone..
Just to confirm...
volte/vowifi working?
ulm or awm?
carrier?
Looks like the calendar is available with the open_ca files... not sure for the open_us.. sorry..
[ATTACH
cloud1250000 said:
The V35 engineering abl you got from here : https://forum.xda-developers.com/lg-v35/development/bootloader-unlock-root-instruction-t4052145
This file was renamed to engabl.bin in this guide​
Click to expand...
Click to collapse
That file is a zip file with two different files in it, do you mean to rename this zip file to engabl.bin?
After step 5 I started to get some weird outputs.
fastboot.exe oem edl
FAILED (Status read failed (Too many links))
fastboot: error: Command failed
Click to expand...
Click to collapse
Seems like that output is normal because I have the rom rooted and twrped right now but I did have to change the active slot to B at this point because otherwise QFIL wasn't able to read the partitions afterwards. Oddly enough that was the only change I had to make, every other command worked as is referencing abl_a even though I changed the active slot to B (and when I flipped the steps to target slot B instead I just got bootlooped).
Everything's looking good so far. I had not been able to setup twrp on this phone so that's welcome. Hotspot wasn't working on Oreo either so that's another good improvement at least for me. Hopefully, this update ends up being a little bit more stable than Pie.
rpgdev said:
That file is a zip file with two different files in it, do you mean to rename this zip file to engabl.bin?
Click to expand...
Click to collapse
omg no, pick one of the 2 files and rename it to engabl.bin
Blad2301 said:
[ATTACH
Click to expand...
Click to collapse
??????
rpgdev said:
After step 5 I started to get some weird outputs.
Seems like that output is normal because I have the rom rooted and twrped right now but I did have to change the active slot to B at this point because otherwise QFIL wasn't able to read the partitions afterwards. Oddly enough that was the only change I had to make, every other command worked as is referencing abl_a even though I changed the active slot to B (and when I flipped the steps to target slot B instead I just got bootlooped).
Everything's looking good so far. I had not been able to setup twrp on this phone so that's welcome. Hotspot wasn't working on Oreo either so that's another good improvement at least for me. Hopefully, this update ends up being a little bit more stable than Pie.
Click to expand...
Click to collapse
sometime, with both fastboot and qfil/edl.. you need multiple try to get them working
cloud1250000 said:
omg no, pick one of the 2 files and rename it to engabl.bin
Click to expand...
Click to collapse
that's somewhat ambiguous, I ended up putting the abl_a in the a slot and the abl_b in the b slot. Not sure if they're interchangeable or if that's the reason why I experienced the issue I experienced. Shouldn't be but who knows.
I'm noticing that locking the screen takes a while using double tap. At least a second or more before the phone responds and actually locks the screen, is anyone else experiencing this?
rpgdev said:
I'm noticing that locking the screen takes a while using double tap. At least a second or more before the phone responds and actually locks the screen, is anyone else experiencing this?
Click to expand...
Click to collapse
that's odd mine is almost instantly..
cloud1250000 said:
that's odd mine is almost instantly..
Click to expand...
Click to collapse
Apparently it was due to my launcher, they're having some issues with that gesture on Android 10.
The Korean Q is solid, I'm surprised that it's performing better than Pie on this phone. Thanks for doing this guide. Anyways, I still get the camera shutter sound any idea as to why? Also, is there a way to disable the vibration for the fingerprint reader when the read is successful? I managed to do it for Oreo but haven't found a way to do it for Q
rpgdev said:
Apparently it was due to my launcher, they're having some issues with that gesture on Android 10.
The Korean Q is solid, I'm surprised that it's performing better than Pie on this phone. Thanks for doing this guide. Anyways, I still get the camera shutter sound any idea as to why? Also, is there a way to disable the vibration for the fingerprint reader when the read is successful? I managed to do it for Oreo but haven't found a way to do it for Q
Click to expand...
Click to collapse
shutter is muted when I'm on vibration mode
cloud1250000 said:
shutter is muted when I'm on vibration mode
Click to expand...
Click to collapse
Ah, I thought it disabled it on all modes. I didn't get it on vibration. Would be nice to disable it on every mode.
Right the thing with the korean firmware usually is.. it's not disabled even in silent mode lol
cloud1250000 said:
Right the thing with the korean firmware usually is.. it's not disabled even in silent mode lol
Click to expand...
Click to collapse
I see, do you happen to know where is the camera shutter sound now? It used to be \system\media\audio\ui\ but it seems that dir was removed on A10.
cloud1250000 said:
odd! you really shouldn't have to flash that vomaster.zip at all if you're located in the US.. honestly.. I don't even know if rcs is available in canada and I'm really not sure how to test this feature.. You might have to toggle wifi calling again if you got the wifi calling activation success notification.. it was the case on my friend phone..
Just to confirm...
volte/vowifi working?
ulm or awm?
carrier?
Looks like the calendar is available with the open_ca files... not sure for the open_us.. sorry..
Click to expand...
Click to collapse
I don't know how to check for volte working, but vowifi is def working at my work with ****ty at&t signals.
awm -> ulm -> korean q.
I get advanced chat features enabled but nothing works =/ maybe its fixable with googling but im reasonably happy with my phone atm, minus lgpay not being accessible for v35 and v30s outside of korea =\
Has anyone passed safetynet using this rom? Some pointers would be appreciated.

How To Guide No caller id on VOLTE/VOWifi calls

For anyone searching..
I was facing the "no caller id issue" on VOLTE/VOWifi calls
The solution for me was always this guide.
However, this wasn't a stable solution for A12, as the made changes to the modem config were gone after a reboot and defaulted back to ROW Commericial. My own network wasn’t available in the PDC list as well (NL KPN)..
Then I recently started playing with the firmware flashable img from xiaomifirmwareupdater.com (fw_alioth_miui_ALIOTHGlobal_V13.0.3.0.SKHMIXM.zip in my case).
I had extracted the modem.img , opened it with powerISO and I found that the PDC tool wasn't showing my specific network because my network wasn't listed in one of the txt files in the folder \image\modem_pr\mcfg\configs\mcfg_sw.
However, the right modem config file (mcfg_sw.mbn) was available, deeply nested in the generic folder.
(\image\modem_pr\mcfg\configs\mcfg_sw\generic\EU\KPN\Commercial\NL).
So there are a lot more (hundreds) configs available than the PDC tool shows!
Not knowing which txt file I needed to change to add my network, I boldly replaced the default ROW commercial mcfg_sw.mbn file (\image\modem_pr\mcfg\configs\mcfg_sw\generic\common\ROW\Commercial) with the one I found nested.
- Saved the image file.
- Replaced it in the firmware zip.
- Flashed the edited zip file.
- Boot into system
Success!
I now have a working VOLTE/VoWifi after each reboot!
Checking with the PDC tool afterwards. It showed that my own network was automatically chosen.
No root acces needed!
Good luck!
Hi there landgenoot,
Came across your topic. Facing the same issues overhere with KPN on a Mi10tpro.
Can you tell me how you extracted the modem.img from the firmware. I did my research but not way I could find the modem.img file in the firmware (extracted with winrar)
TY
hi there, problem solved. your solution was great and working for me too!
Thank you very much!
I guess it can easily be an universal for Xiaomi Devices
I also tried this method on a Poco F3 device, but it didn't work. I am from EU\Slovenia and my mobile operator is Mobitel. I found the settings in the file structure
\image\modem_pr\mcfg\configs\mcfg_sw\generic\EU\Mobitel\Commercial\SI\mcfg_sw.mbn
and copied them to the
\image\modem_pr\mcfg\configs\mcfg_sw\generic\common\ROW\Commercial\mcfg_sw.mbn
in the modem.img file, but I still get an unknown caller ID when using VoLTE.
I also added the path of my carrier settings to the text files (mbn_global.txt, oem_sw.txt, oem_sw_j11.txt and oem_sw_l3a_global.txt) that were missing at
\image\modem_pr\mcfg\configs\mcfg_sw
hoping that would solve my problem, but the caller id didn't work in that case either.
In order to check if the settings for my operator are correct, I also tried the process with the QPST and PDC tools. This time the caller id works, but the process is really complicated, especially with root access in the ArrowOS I'm using and I don't want to do it every time I upgrade.
Miami_T said:
I also tried this method on a Poco F3 device, but it didn't work. I am from EU\Slovenia and my mobile operator is Mobitel. I found the settings in the file structure
\image\modem_pr\mcfg\configs\mcfg_sw\generic\EU\Mobitel\Commercial\SI\mcfg_sw.mbn
and copied them to the
\image\modem_pr\mcfg\configs\mcfg_sw\generic\common\ROW\Commercial\mcfg_sw.mbn
in the modem.img file, but I still get an unknown caller ID when using VoLTE.
I also added the path of my carrier settings to the text files (mbn_global.txt, oem_sw.txt, oem_sw_j11.txt and oem_sw_l3a_global.txt) that were missing at
\image\modem_pr\mcfg\configs\mcfg_sw
hoping that would solve my problem, but the caller id didn't work in that case either.
In order to check if the settings for my operator are correct, I also tried the process with the QPST and PDC tools. This time the caller id works, but the process is really complicated, especially with root access in the ArrowOS I'm using and I don't want to do it every time I upgrade.
Click to expand...
Click to collapse
Sorry it didn't work for you. I assume that you properly replacement the edited modem IMG in the firmware zip and flashed the edited firmware?
Perhaps you can also try again using the same config you chose with the PDC tools
I did try I think three times even with different national mobile providers (A1, Telemach), but it didn't worked. For now it is working because I set it up with PDC tool. I guess I will try again on next update of ArrowOS
Do i need to unlock the bootloader to flash the firmware and how do i flash the firmware?
These instructions are for custom roms only. If you have any of the available custom roms installed for Alioth, you already have an unlocked bootloader. The firmware can be applied in recovery.
EldigoR said:
However, the right modem config file (mcfg_sw.mbn) was available, deeply nested in the generic folder.
(\image\modem_pr\mcfg\configs\mcfg_sw\generic\EU\KPN\Commercial\NL).
Click to expand...
Click to collapse
I've been searching high and low for a solution, and this one is so relatively easy.
There is an other way to do this, if you've already a working connection with PDC.
- extract the correct .mbn file from the firmware with your suggestion.
- start the PDC tool
- chose load and then chose the .mbn file
- activate it on the sub0 and sub1
- reboot your phone and check if it still works.
Thanks a lot!!! Because I used the wrong modem config, it reseted itself on reboot. Had to use PDC every time I rebooted my phone. Now with the right profile, it stays active.

Question Magisk OverlayFs /Product for replace carriersettings files ?

Hello dears.
I have been working for 5g volte vowifi since i bought the phone.
Also You know we have carrier settings files in /product/etc/carriersettings I edited one of them and now I need to replace with original one to try.
but this /product fs cannot be touched cannot be mounted R/W. But We have a option from Magisk. it is overlayfs for all R/O filesystem acting like real one.
Question is How we do this /product fs as overlayfs?
Here one guide we have but I did not excaly get it because I didnot work about building magisk models before.
https://topjohnwu.github.io/Magisk/guides.html
Also I find a module but When I try this I am getting Unzip error. (I already tried to zip again without upper folder )
GitHub - Magisk-Modules-Alt-Repo/magisk_overlayfs: Emulate read-write partition for read-only system partitions
Emulate read-write partition for read-only system partitions - GitHub - Magisk-Modules-Alt-Repo/magisk_overlayfs: Emulate read-write partition for read-only system partitions
github.com
I worked with for ex vodafone_tr.pb file I get parameters from att5g_us.pb( It has lots of parameters for 5g volte vowifi) And I add these information to my carrier file. But I have to push this file to product.
Thank you
You need to create a Magisk module. Best is to download an existing module, unzip it, then modify it, the re-zip it.
Under the directory of the Magisk module, create a subdir called 'system', create a subdir 'product' underneath and 'etc/carriersettings´ subdirs as well. Put your file in there. Re-zip the module. Use adb to push to phone and install the module with the Magisk app. Reboot phone.
Magisk will mount your (modified) file in /product/etc/carriersettings/...
Check if the file is there:
Code:
> adb shell
$ su
# cd /product/etc/carriersettings/...
# ls
Did you edit the confseq files? What exactly did you edit, they are binary blobs. I also believe they are signed in one way or another - however I do not know what happens if the phone fails to accept one. Does it fall back to a hardware level carrier policy? Does it only leave out the specific confseq that was tampered with? Does it stop the modem from booting up at all?
Theres the cfg.db file along with its cfg.sha2 signature file - that would be my first point of try for remapping and editing via magisk... no idea wether the sha2 signature matters and what happens if it doesnt match.
It is a simple sqlite database:
1) you can look at the confnames table to identify the sequences per carrier
2) refer to the confmap table to see which carrier_id from the previous table responds to the confman hash
3) there are a load of confman_* tables, each of which includes the list of confseq files from the confseq folder - these confseq files have their corresponding names in their file headers - LTE CA carrier policies, NRDC carrier policies, mobile network based carrier policies, they all get added together in a sequence and all of them share most of the confseq files (the carrier specific ones are the ones that differ)
so what you can try, is, assuming you're on a "unsupported network", refer to the wildcard profile - this has the carrier_id of 0, which uses confman_43f507494f63c42cbf1aba626685b29710cd90eb as its table - the 10th one in order corresponds to the wildcard.sim1 confseq file which you can try an replace with one from another carrier (I've made a list of them https://paste.ee/p/NVju0)
the hashes also change by every modem release
Here is the sequence for wildcard and Orange Spain as an example:
default.common
suclr_big_data_cc_num.common
lte_ca_common
lte_ca_0.common
lte_ca_1.common
endc_nr_ca_common.common
default.sim1
endc_nr_ca_common_manual.sim1
endc_nr_ca_common.sim1
wildcard.sim1
default.sim2
endc_nr_ca_common_manual.sim2
endc_nr_ca_common.sim2
wildcard.sim2
default.multislotdefault.common
suclr_big_data_cc_num.common
lte_ca_common
lte_ca_0.common
lte_ca_1.common
endc_nr_ca_common.common
eu_common.common
default.sim1
endc_nr_ca_common_manual.sim1
endc_nr_ca_common.sim1
eu_common.sim1
eu_nr_common.sim1
es_orange.sim1
default.sim2
endc_nr_ca_common_manual.sim2
endc_nr_ca_common.sim2
eu_common.sim2
eu_nr_common.sim2
es_orange.sim2
default.multislot
eu_common.multislot
es_orange.multislot
Edit: nvm, didnt read the footer of your post
tauio111 said:
Did you edit the confseq files? What exactly did you edit, they are binary blobs. I also believe they are signed in one way or another - however I do not know what happens if the phone fails to accept one. Does it fall back to a hardware level carrier policy? Does it only leave out the specific confseq that was tampered with? Does it stop the modem from booting up at all?
Theres the cfg.db file along with its cfg.sha2 signature file - that would be my first point of try for remapping and editing via magisk... no idea wether the sha2 signature matters and what happens if it doesnt match.
It is a simple sqlite database:
1) you can look at the confnames table to identify the sequences per carrier
2) refer to the confmap table to see which carrier_id from the previous table responds to the confman hash
3) there are a load of confman_* tables, each of which includes the list of confseq files from the confseq folder - these confseq files have their corresponding names in their file headers - LTE CA carrier policies, NRDC carrier policies, mobile network based carrier policies, they all get added together in a sequence and all of them share most of the confseq files (the carrier specific ones are the ones that differ)
so what you can try, is, assuming you're on a "unsupported network", refer to the wildcard profile - this has the carrier_id of 0, which uses confman_43f507494f63c42cbf1aba626685b29710cd90eb as its table - the 10th one in order corresponds to the wildcard.sim1 confseq file which you can try an replace with one from another carrier (I've made a list of them https://paste.ee/p/NVju0)
the hashes also change by every modem release
Here is the sequence for wildcard and Orange Spain as an example:
default.common
suclr_big_data_cc_num.common
lte_ca_common
lte_ca_0.common
lte_ca_1.common
endc_nr_ca_common.common
default.sim1
endc_nr_ca_common_manual.sim1
endc_nr_ca_common.sim1
wildcard.sim1
default.sim2
endc_nr_ca_common_manual.sim2
endc_nr_ca_common.sim2
wildcard.sim2
default.multislotdefault.common
suclr_big_data_cc_num.common
lte_ca_common
lte_ca_0.common
lte_ca_1.common
endc_nr_ca_common.common
eu_common.common
default.sim1
endc_nr_ca_common_manual.sim1
endc_nr_ca_common.sim1
eu_common.sim1
eu_nr_common.sim1
es_orange.sim1
default.sim2
endc_nr_ca_common_manual.sim2
endc_nr_ca_common.sim2
eu_common.sim2
eu_nr_common.sim2
es_orange.sim2
default.multislot
eu_common.multislot
es_orange.multislot
Edit: nvm, didnt read the footer of your post
Click to expand...
Click to collapse
Woow you started middle of the book.
These carrierconfig part another story in the /vendor.
I didn't touch this confseq files because as you say these look like certificated. Also yes they are binary.
First /product/carriersettings section seems easy to touch for me.
Why I started this part you know some files coming in /data/user_de/0/com.android.phone/files when insert a sim card it's name like carrierconfig-com.google.android.carrier-899002....xml this is simple xml file that contains carrier parameters.
I started to try edit this file for a while. And Really ıf I change some thing wrong It directly affects the modem operation.
Seeing the same parameters in pb files in carriersettings, I thought I could edit them.
This is the story.
The next first I will try build a magisk module I will try to mount in hex base edited pb file
After that I will start to dig into these confseq binaries. Thank you for respond.
furkanosman said:
Why I started this part you know some files coming in /data/user_de/0/com.android.phone/files when insert a sim card it's name like carrierconfig-com.google.android.carrier-899002....xml this is simple xml file that contains carrier parameters.
I started to try edit this file for a while. And Really ıf I change some thing wrong It directly affects the modem operation.
Click to expand...
Click to collapse
I just copy and paste the xml values every time, its persistent until you enter a different sim or update android.
I think it would be more viable to make a magisk script that adds the part you want to the front of the xml instead of replacing the bp files.
furkanosman said:
Woow you started middle of the book.
These carrierconfig part another story in the /vendor.
I didn't touch this confseq files because as you say these look like certificated. Also yes they are binary.
First /product/carriersettings section seems easy to touch for me.
Why I started this part you know some files coming in /data/user_de/0/com.android.phone/files when insert a sim card it's name like carrierconfig-com.google.android.carrier-899002....xml this is simple xml file that contains carrier parameters.
I started to try edit this file for a while. And Really ıf I change some thing wrong It directly affects the modem operation.
Seeing the same parameters in pb files in carriersettings, I thought I could edit them.
This is the story.
The next first I will try build a magisk module I will try to mount in hex base edited pb file
After that I will start to dig into these confseq binaries. Thank you for respond.
Click to expand...
Click to collapse
Hi
Did u manage to work on the pb files in /product
I tried the cfg method but my ims registration isn't changing

Categories

Resources