General [NO ROOT]SercrtCode to unlock all country 5G and VoLTE!!!

Search This thread

hubono

Senior Member
Oct 22, 2005
216
38
42
Muscat
Google Pixel 7 Pro
I found some other stuff. But it's not for the fainth of heart ;-)

In /product/etc/CarrierSettings directory you have .pb (protobuf) files which contain carrier info (read: https://source.android.com/devices/tech/config/carrierid). For example there are specific files for US networks (e.g. sprint_us.pb), networks in France (e.g. bouygues_fr.pb), networks in UK (e.g. ee_gb.pb). I would say these will be "fully" supported by Google. There are 130 files there.

Just as an example, here is the config for the bouygues_fr.pb (Bouygues network in France):

Code:
canonicalName: "bouygues_fr"
version: 30000000317
apns {
  apn {
    name: "Bouygues Telecom"
    value: "mmsbouygtel.com"
    type: DEFAULT
    type: SUPL
    type: MMS
    authtype: 1
    mmsc: "http://mms.bouyguestelecom.fr/mms/wapenc"
    protocol: IPV6
  }
  apn {
    name: "Bouygues Telecom IMS"
    value: "ims"
    type: IMS
    protocol: IPV4V6
    userVisible: false
  }
  apn {
    name: "Bouygues XCAP"
    value: "mmsbouygtel.com"
    type: XCAP
    bearerBitmask: "3|9|10|11|14|15|20"
    authtype: 1
    protocol: IPV6
  }
}
configs {
  config {
    key: "carrier_certificate_string_array"
    textArray {
      item: "A0058F6467628EA2031C4C9D8519ABECB2671F6A1752B15A89369CDCB8D2952B"
    }
  }
  config {
    key: "carrier_cross_sim_ims_available_bool"
    boolValue: false
  }
  config {
    key: "carrier_default_wfc_ims_mode_int"
    intValue: 1
  }
  config {
    key: "carrier_supports_ss_over_ut_bool"
    boolValue: true
  }
  config {
    key: "carrier_ussd_method_int"
    intValue: 2
  }
  config {
    key: "carrier_volte_available_bool"
    boolValue: true
  }
  config {
    key: "carrier_wfc_ims_available_bool"
    boolValue: true
  }
  config {
    key: "editable_wfc_mode_bool"
    boolValue: false
  }
  config {
    key: "iwlan.child_sa_rekey_hard_timer_sec_int"
    intValue: 7400
  }
  config {
    key: "iwlan.child_sa_rekey_soft_timer_sec_int"
    intValue: 7300
  }
  config {
    key: "iwlan.diffie_hellman_groups_int_array"
    intArray {
      item: 14
    }
  }
  config {
    key: "iwlan.ike_rekey_hard_timer_in_sec"
    intValue: 14800
  }
  config {
    key: "iwlan.ike_rekey_soft_timer_sec_int"
    intValue: 14700
  }
  config {
    key: "iwlan.key_error_policy_config_string"
    textValue: "[{\"ApnName\": \"*\",\"ErrorTypes\": [{\"ErrorType\": \"IKE_PROTOCOL_ERROR_TYPE\",\"ErrorDetails\": [\"9000\", \"10000\"],\"RetryArray\": [\"0\", \"0\"],\"UnthrottlingEv
ents\": [\"APM_ENABLE_EVENT\", \"WIFI_DISABLE_EVENT\", \"WIFI_AP_CHANGED_EVENT\", \"WIFI_CALLING_DISABLE_EVENT\"]}, {\"ErrorType\": \"IKE_PROTOCOL_ERROR_TYPE\",\"ErrorDetails\": [\"1050
0\"],\"RetryArray\": [\"3600\", \"-1\"],\"UnthrottlingEvents\": [\"APM_ENABLE_EVENT\", \"WIFI_DISABLE_EVENT\", \"WIFI_AP_CHANGED_EVENT\", \"WIFI_CALLING_DISABLE_EVENT\"]}, {\"ErrorType\
": \"IKE_PROTOCOL_ERROR_TYPE\",\"ErrorDetails\": [\"11002\", \"11003\"],\"RetryArray\": [],\"UnthrottlingEvents\": [\"APM_ENABLE_EVENT\", \"WIFI_DISABLE_EVENT\", \"WIFI_AP_CHANGED_EVENT
\", \"WIFI_CALLING_DISABLE_EVENT\"]}]}]"
  }
  config {
    key: "maxImageHeight"
    intValue: 1944
  }
  config {
    key: "maxImageWidth"
    intValue: 2592
  }
  config {
    key: "maxMessageSize"
    intValue: 614400
  }
  config {
    key: "show_4g_for_lte_data_icon_bool"
    boolValue: true
  }
  config {
    key: "supportHttpCharsetHeader"
    boolValue: false
  }
}

As you can see in the config part, it has an indication that VoLTE is available. And when it is available, it will show the 4G icon in the status bar (instead of the LTE icon). I know that this works, because I tested with my brother's SIM card which is on that exact network.

There is one file, called '/product/etc/CarrierSettings/others.pb' (on the phone) which has carrier specs for ALL other networks in the world. However, these specs seem to be rather minimal. Not all networks are even there (I am currently on Belgian Youfone which is missing from that file). I checked, for example, for the Proximus network in Belgium and there very little configuration, e.g. no indication of VoLTE (which I know is there).

Maybe - but I'm not 100% sure - network info can be added via these files.

I fiddled around with this others.pb file. First, decompile the .pb (protobuf) into text, then modify test, then recompile the text into pb (protobuf) format, then (using a Magisk bind mount) overwrite /etc/product/CarrierSettings/others.pb on the phone.

And tada, when I refreshed the APN info, my Youfone network and APN spec were there, automatically selected by the phone.

I'm not 100% sure, but maybe VoLTE/5G can be added as well through these files.

You need to do some research. First read the article: https://source.android.com/devices/tech/config/carrierid, this explains a bit how the Carrier pb files are

You will need the protoc tool (see https://github.com/protocolbuffers/protobuf). I downloaded the source and built it from source. It allows you to decompile/recompile the pb files, e.g. on Linux:

Code:
Decompile pb file into text:

> protoc -I. --decode=MultiCarrierSettings carriersettings.proto < ~/pixel/raven-sd1a.210817.037/mnt/product/etc/CarrierSettings/others.pb > out.txt

The carriersettings.proto file can be downloaded from: https://github.com/daradib/carriersettings-extractor

Then edit the out.txt file, modify/add your network details, remove the last 3 lines of the file (some sort of version indicator I'm guessing), finally recompile into protobuf using:

Code:
Recompile text file into protobuf:

> cat out.txt | protoc --encode=MultiCarrierSettings carriersettings.proto > others.pb

You will need a Magisk module to 'replace' the others.pb file on your phone. Module is attached, download it (the original phone's 'other.pb' file is in there).

First, unzip it, then copy YOUR modified pb file, then re-zip it.

Code:
> cd temp
> unzip ~/replaceotherspb.zip
> cp mymodifiedpbfile.pb system/product/etc/CarrierSettings/others.pb
> zip -r ~/mymagisk.zip .
> adb push ~/mymagisk.zip /sdcard/

Then install the module mymagisk.zip using the Magisk app. Go to settings > network > your SIM > access points, tap the 3 dots and 'refresh'. Your modified carrier details should be loaded now.

Again, I'm absolutely not an expert in this ... so can't really support ... I'm not even sure if this will allow you to activate VoLTE/5G, but worth a try. Good luck.
Hi
On my oneplus 7 pro i changed the mbn file and used the one from maxiz Malaysia and it worked. Im on Omantel network.
I checked the directory u pointed to and got wondering if we can somehow change the name of one of the existing operators files and point it to Omantel.
What i mean to say, i was thinking to use the values of for example yes_my.pb by changing it to omantel and letting the phone to refer to it instead referring others.pb

I don't have that much experience in decompiling and recompiling but from my expertise, can a magisk module be made to help change the names of the current existing files and make new files perhaps or rename the current files.

This was maybe can quickly try other operators settings.

Im currently using pixel 7 pro
 

foobar66

Senior Member
Jan 8, 2011
2,136
2,221
Brussels
Google Pixel 6 Pro
Hi
On my oneplus 7 pro i changed the mbn file and used the one from maxiz Malaysia and it worked. Im on Omantel network.
I checked the directory u pointed to and got wondering if we can somehow change the name of one of the existing operators files and point it to Omantel.
What i mean to say, i was thinking to use the values of for example yes_my.pb by changing it to omantel and letting the phone to refer to it instead referring others.pb

I don't have that much experience in decompiling and recompiling but from my expertise, can a magisk module be made to help change the names of the current existing files and make new files perhaps or rename the current files.

This was maybe can quickly try other operators settings.

Im currently using pixel 7 pro
Pixel does not have mbn files (for your info).
Magisk is not able to 'rename' files. It can mount a new file over another one (keeping the same name) or 'add' files into a directory. Rename/delete of files is not possible with Magisk.
 

spajk1990

Member
Mar 21, 2022
8
4
Pixel does not have mbn files (for your info).
Magisk is not able to 'rename' files. It can mount a new file over another one (keeping the same name) or 'add' files into a directory. Rename/delete of files is not possible with Magisk.
Is there a way to permanently edit the "others" file. So it stays the same, even after unroot?
 

hubono

Senior Member
Oct 22, 2005
216
38
42
Muscat
Google Pixel 7 Pro
Pixel does not have mbn files (for your info).
Magisk is not able to 'rename' files. It can mount a new file over another one (keeping the same name) or 'add' files into a directory. Rename/delete of files is not possible with Magisk.
Yes I came to know a while back from other threads that pixels are using samsung and mbn is Qualcomm.


let me know if it worked

credits to foobar66 for the script

reuploaded the file had to delete garbage files sorry for that
So i tried this.
I extracted the zip file, renamed csl_hk.pb to omantel_om.pb and rezipped and flashed the module.

Here is what i noticed,
Sim 1 can't connect to data at all, when i go into 4636 menu, it shows me that my voice network is umts
Sim 2 gets data as before, 5g, lte and the voice network is lte

Is my memory serves me correctly, i have never seen umts bring used on any of my old phone in my country

Mind you that both these are from the same operator but sim 1 is physical and sim 2 is an esim

I uninstalled the module but the same problem persisted.
I went into the /product directory but didn't see the omantel_om.pb file i made and flashed.

I then proceeded to delete the xml files in com.android.phone
Rebooted but same, no data on sim 1

I'm wondering about the umts part, it seems the file changed something but because I'm using Hong Kong settings that's why

Ims service still shows not registered
 
Last edited:

Hassnii

Member
Aug 31, 2022
14
2
Now there is actually a way to enable VoLTE without root.
So through this way, is there a chance to unlock pixel 6 pro verizon permanently?
I have a paid task if anyone can do it. I want my VERIZON GOOGLE PIXEL 6 PRO to be unlocked permanently
 
Last edited:
For me this guide is useless.

I have VoLTE activated in my Pixel... But I needed root access....
I am from Spain, with Movistar carrier (or O2, it is the same company).

It is necessary to modify the "Carrier file" storaged in:
/data/user_de/0/com.android.phone/files/carrierconfig-com.google.android.carrier-xxxxxxxxxxxxxxxxxxx.xml

I changed this line:
<boolean name="hide_enhanced_4g_lte_bool" value="false" />

And I added this lines (because in my carrier file don't exists):
<boolean name="lte_enabled_bool" value="true" />
<boolean name="editable_enhanced_4g_lte_bool" value="true" />
<boolean name="enhanced_4g_lte_on_by_default_bool" value="true" />


With this changes, I restarted my Pixel and now VoLTE is enabled and working.

There is more information about all the XML tags on this Google's page:
Carrier config manager

I hope it is useful to other people.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 14
    What should we do with this file?

    Seeing that this user has only posted 12 messages, I'm guessing this was among their first 10. Last I remember, XDA requires 10 messages to be posted by a user in order to get some kind of further permissions, although I don't remember what, although that was back on the old forum software. These days there are also achievements to get "XP" and "levels", and that might've been one.

    Long story medium, the user likely posted nearly useless information to get their post-count up to 10. As his only useful comment says in the OP "no thanks". :) I'm not even downloading something that I don't know what I'm expecting, much less looking in the zip or doing anything else, and some of the settings accessible via the dialer code are likely dangerous unless you know exactly what you're doing, so without actual instructions detailing what the code has to do with the title of the thread, I wouldn't bother.

    I'm tempted to report the thread. Normally I wouldn't bother as this kind of thread from new users is a dime a dozen but it's pretty blatantly a misleading thread title without more information, and with no description of what the file is supposed to be, and the only words in the OP being "no thanks" just screams "what the bloody hell" to me.

    [/rant] :D

    *#*#0702#*#*

    no thanks
    11
    I found some other stuff. But it's not for the fainth of heart ;-)

    In /product/etc/CarrierSettings directory you have .pb (protobuf) files which contain carrier info (read: https://source.android.com/devices/tech/config/carrierid). For example there are specific files for US networks (e.g. sprint_us.pb), networks in France (e.g. bouygues_fr.pb), networks in UK (e.g. ee_gb.pb). I would say these will be "fully" supported by Google. There are 130 files there.

    Just as an example, here is the config for the bouygues_fr.pb (Bouygues network in France):

    Code:
    canonicalName: "bouygues_fr"
    version: 30000000317
    apns {
      apn {
        name: "Bouygues Telecom"
        value: "mmsbouygtel.com"
        type: DEFAULT
        type: SUPL
        type: MMS
        authtype: 1
        mmsc: "http://mms.bouyguestelecom.fr/mms/wapenc"
        protocol: IPV6
      }
      apn {
        name: "Bouygues Telecom IMS"
        value: "ims"
        type: IMS
        protocol: IPV4V6
        userVisible: false
      }
      apn {
        name: "Bouygues XCAP"
        value: "mmsbouygtel.com"
        type: XCAP
        bearerBitmask: "3|9|10|11|14|15|20"
        authtype: 1
        protocol: IPV6
      }
    }
    configs {
      config {
        key: "carrier_certificate_string_array"
        textArray {
          item: "A0058F6467628EA2031C4C9D8519ABECB2671F6A1752B15A89369CDCB8D2952B"
        }
      }
      config {
        key: "carrier_cross_sim_ims_available_bool"
        boolValue: false
      }
      config {
        key: "carrier_default_wfc_ims_mode_int"
        intValue: 1
      }
      config {
        key: "carrier_supports_ss_over_ut_bool"
        boolValue: true
      }
      config {
        key: "carrier_ussd_method_int"
        intValue: 2
      }
      config {
        key: "carrier_volte_available_bool"
        boolValue: true
      }
      config {
        key: "carrier_wfc_ims_available_bool"
        boolValue: true
      }
      config {
        key: "editable_wfc_mode_bool"
        boolValue: false
      }
      config {
        key: "iwlan.child_sa_rekey_hard_timer_sec_int"
        intValue: 7400
      }
      config {
        key: "iwlan.child_sa_rekey_soft_timer_sec_int"
        intValue: 7300
      }
      config {
        key: "iwlan.diffie_hellman_groups_int_array"
        intArray {
          item: 14
        }
      }
      config {
        key: "iwlan.ike_rekey_hard_timer_in_sec"
        intValue: 14800
      }
      config {
        key: "iwlan.ike_rekey_soft_timer_sec_int"
        intValue: 14700
      }
      config {
        key: "iwlan.key_error_policy_config_string"
        textValue: "[{\"ApnName\": \"*\",\"ErrorTypes\": [{\"ErrorType\": \"IKE_PROTOCOL_ERROR_TYPE\",\"ErrorDetails\": [\"9000\", \"10000\"],\"RetryArray\": [\"0\", \"0\"],\"UnthrottlingEv
    ents\": [\"APM_ENABLE_EVENT\", \"WIFI_DISABLE_EVENT\", \"WIFI_AP_CHANGED_EVENT\", \"WIFI_CALLING_DISABLE_EVENT\"]}, {\"ErrorType\": \"IKE_PROTOCOL_ERROR_TYPE\",\"ErrorDetails\": [\"1050
    0\"],\"RetryArray\": [\"3600\", \"-1\"],\"UnthrottlingEvents\": [\"APM_ENABLE_EVENT\", \"WIFI_DISABLE_EVENT\", \"WIFI_AP_CHANGED_EVENT\", \"WIFI_CALLING_DISABLE_EVENT\"]}, {\"ErrorType\
    ": \"IKE_PROTOCOL_ERROR_TYPE\",\"ErrorDetails\": [\"11002\", \"11003\"],\"RetryArray\": [],\"UnthrottlingEvents\": [\"APM_ENABLE_EVENT\", \"WIFI_DISABLE_EVENT\", \"WIFI_AP_CHANGED_EVENT
    \", \"WIFI_CALLING_DISABLE_EVENT\"]}]}]"
      }
      config {
        key: "maxImageHeight"
        intValue: 1944
      }
      config {
        key: "maxImageWidth"
        intValue: 2592
      }
      config {
        key: "maxMessageSize"
        intValue: 614400
      }
      config {
        key: "show_4g_for_lte_data_icon_bool"
        boolValue: true
      }
      config {
        key: "supportHttpCharsetHeader"
        boolValue: false
      }
    }

    As you can see in the config part, it has an indication that VoLTE is available. And when it is available, it will show the 4G icon in the status bar (instead of the LTE icon). I know that this works, because I tested with my brother's SIM card which is on that exact network.

    There is one file, called '/product/etc/CarrierSettings/others.pb' (on the phone) which has carrier specs for ALL other networks in the world. However, these specs seem to be rather minimal. Not all networks are even there (I am currently on Belgian Youfone which is missing from that file). I checked, for example, for the Proximus network in Belgium and there very little configuration, e.g. no indication of VoLTE (which I know is there).

    Maybe - but I'm not 100% sure - network info can be added via these files.

    I fiddled around with this others.pb file. First, decompile the .pb (protobuf) into text, then modify test, then recompile the text into pb (protobuf) format, then (using a Magisk bind mount) overwrite /etc/product/CarrierSettings/others.pb on the phone.

    And tada, when I refreshed the APN info, my Youfone network and APN spec were there, automatically selected by the phone.

    I'm not 100% sure, but maybe VoLTE/5G can be added as well through these files.

    You need to do some research. First read the article: https://source.android.com/devices/tech/config/carrierid, this explains a bit how the Carrier pb files are

    You will need the protoc tool (see https://github.com/protocolbuffers/protobuf). I downloaded the source and built it from source. It allows you to decompile/recompile the pb files, e.g. on Linux:

    Code:
    Decompile pb file into text:
    
    > protoc -I. --decode=MultiCarrierSettings carriersettings.proto < ~/pixel/raven-sd1a.210817.037/mnt/product/etc/CarrierSettings/others.pb > out.txt

    The carriersettings.proto file can be downloaded from: https://github.com/daradib/carriersettings-extractor

    Then edit the out.txt file, modify/add your network details, remove the last 3 lines of the file (some sort of version indicator I'm guessing), finally recompile into protobuf using:

    Code:
    Recompile text file into protobuf:
    
    > cat out.txt | protoc --encode=MultiCarrierSettings carriersettings.proto > others.pb

    You will need a Magisk module to 'replace' the others.pb file on your phone. Module is attached, download it (the original phone's 'other.pb' file is in there).

    First, unzip it, then copy YOUR modified pb file, then re-zip it.

    Code:
    > cd temp
    > unzip ~/replaceotherspb.zip
    > cp mymodifiedpbfile.pb system/product/etc/CarrierSettings/others.pb
    > zip -r ~/mymagisk.zip .
    > adb push ~/mymagisk.zip /sdcard/

    Then install the module mymagisk.zip using the Magisk app. Go to settings > network > your SIM > access points, tap the 3 dots and 'refresh'. Your modified carrier details should be loaded now.

    Again, I'm absolutely not an expert in this ... so can't really support ... I'm not even sure if this will allow you to activate VoLTE/5G, but worth a try. Good luck.
    10
    *#*#0702#*#*

    no thanks
    8
    If someone manages to unlock VoLTE/VoWifi via this method it will trully be a game changer. There are a lot of people owning this phone outside of the supported countries that are flooding the Pixel Support forums regarding this issue.

    I, for one, am willing to also donate for the person who manages this. Let's hope it can be done, thanks!
    6
    Hey,

    I've made some tests and...

    Go to *#*#0702#*#* -> Common settings. There is UPDATE_IMSCONFIG_BY_CARRIERCONFIG value with default value 1. After changing it to 0, it stays same after reboot.

    So I copied two xml files to local directory and then changed values of:
    1. CONFIG_XML to local path /storage/emulated/0/imssetting/sim_configuration.xml
    2. UT_XML to local path /storage/emulated/0/imssetting/ut_default_setting.xml
    It also stays after reboot.

    But... nothing happens. SIM 2 Provisioned and SIM 2 Policy (testing it on my SIM2) settings are diffrent than these in xml files. It's weird that it correctly sets XCAP_APN_NAME to T-Mobile XCAP (my carrier is T-Mobile PL), but a few of settings are diffrent...

    Additionaly, Setting VOWIFI_ENABLED_BY_PLATFORM to 1 in sim_configuration.xml doesn't sets it in ImsSetting app. Also, Provisioned and Policy setting always returns to default after reboot. Only Common settings are saved and surviving device reboot.

    I think that it can somehow work, but we need find out how :cool: