466

General - [NO ROOT]SercrtCode to unlock all country 5G and VoLTE!!! | Page 5 | X...

 3 years ago
source link: https://forum.xda-developers.com/t/no-root-sercrtcode-to-unlock-all-country-5g-and-volte.4355759/page-5#post-86079529
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Top Liked Posts

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.
Ouch. Thanks for the confirmation, let's hope some genius mind figures out the 5g someday to start working or Google goes generous on pixel globally
Try the following (while rebooting the phone):
Code:
adb logcat | grep LTE
In my case it gives:
Code:
11-13 12:48:42.939   879   914 I LibSITRil-Gps: SITRilClient__OnUnsolicitedResponse() RILC_UNSOL_GPS_CAMPING_ON_LTE = 4022
11-13 12:48:46.215  1646  3297 D ConnectivityService: registerNetworkAgent NetworkAgentInfo{network{101}  handle{437197393933}  ni{MOBILE[LTE] CONNECTING extra: internet.bmbpartner.be} Score(50 ; KeepConnected : 0 ; Policies : )   lp{{InterfaceName: rmnet1 LinkAddresses: [ 100.88.240.252/32 ] DnsAddresses: [ /80.201.237.238,/80.201.237.239 ] PcscfAddresses: [ /10.1.15.169,/10.1.15.173 ] Domains: null MTU: 1500 TcpBufferSizes: 524288,6291456,12582912,262144,1048576,2097152 Routes: [ 0.0.0.0/0 -> 0.0.0.0 rmnet1 mtu 1500,100.88.240.252/32 -> 0.0.0.0 rmnet1 mtu 0 ]}}  nc{[ Transports: CELLULAR Capabilities: MMS&SUPL&FOTA&IMS&CBS&XCAP&INTERNET&NOT_RESTRICTED&TRUSTED&NOT_VPN&NOT_ROAMING&FOREGROUND&NOT_CONGESTED&NOT_SUSPENDED&NOT_VCN_MANAGED LinkUpBandwidth>=15000Kbps LinkDnBandwidth>=30000Kbps Specifier: <TelephonyNetworkSpecifier [mSubId = 1]> SubscriptionIds: {1}]}}
11-13 12:48:46.353  3416  6672 I SHANNON_IMS: 0267 [FEAT] #:BLUE:# Disable Capability VOICE_OVER_LTE  [com.shannon.imsservice.feature.ShannonMmTelFeatureS@c44cce2] (ShannonMmTelFeature%setCapabilities:130)
11-13 12:48:46.374  3416  6672 I SHANNON_IMS: 0297 [FEAT] #:BLUE:# Disable Capability VIDEO_OVER_LTE  [com.shannon.imsservice.feature.ShannonMmTelFeatureS@c44cce2] (ShannonMmTelFeature%setCapabilities:130)
11-13 12:48:46.390  3416  6672 I SHANNON_IMS: 0317 [FEAT] #:BLUE:# Disable Capability UT_OVER_LTE  [com.shannon.imsservice.feature.ShannonMmTelFeatureS@c44cce2] (ShannonMmTelFeature%setCapabilities:130)
11-13 12:48:46.502  3416  3416 I SHANNON_IMS: 0408 [PROX] onPreciseDataConnectionStateChanged [ ApnName:internet.bmbpartner.be, ConnectionState:DATA_CONNECTING, NetworkType: LTE, ApnType: APN_INTERNET, failCause: PDN_FAIL_NONE] [SLID:0 APM:false] (ImsConnectivityProxyListener$ImsPhoneStateListener%onPreciseDataConnectionStateChanged:322)
11-13 12:48:46.515  3416  3416 I SHANNON_IMS: 0430 [PROX] onPreciseDataConnectionStateChanged [ ApnName:internet.bmbpartner.be, ConnectionState:DATA_CONNECTED, NetworkType: LTE, ApnType: APN_INTERNET, failCause: PDN_FAIL_NONE] [SLID:0 APM:false] (ImsConnectivityProxyListener$ImsPhoneStateListener%onPreciseDataConnectionStateChanged:322)
11-13 12:49:05.200  3926  8036 D ConnectivityMonitorVoImsOptInHandler: Trying enable VoIMS Opt-In. isVoImsOptInEnabled: false, isVoLTEEnabledByCarrierConfig: false, isVoLTEEnabledByUser: true, isMccMncInAllowedList: false, isNotificationShownRecently: false
You can see that it disables VOICE_OVER_LTE.
At the end (last line of the log) you can see why: isVoLTEEnabledByCarrierConfig: false, isVoLTEEnabledByUser: true, isMccMncInAllowedList: false

Maybe this helps someone in resolving the issue.

Recommend

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK