How To Guide [howto] (root) Display correct 4G(+) icons in statusbar on LTE network with missing config

Search This thread

foobar66

Senior Member
Jan 8, 2011
2,084
2,146
Brussels
Google Pixel 6 Pro
Took me a while to figure out ...
I'm on a 4G(+) network but out-of-the box the P6P did not have the correct config (unfortunately).
It was displaying 'LTE' in the status bar.
I found out how to have correct 4G or 4G+ symbols in the status bar and 4G 'settings' entry in Settings app.
But you must have root.
Code:
> adb shell
$ su
# cd /data/user_de/0/com.android.phone
# ls -l
There will be an XML file in that directory named:
Code:
carrierconfig-com.google.android.carrier-8932002100401134483-1365.xml
In your case the file name WILL BE DIFFERENT as it is dependent on the network you are on.
Then, edit the file using:
Code:
# busybox vi carrierconfig-com.google.android.carrier-8932002100401134483-1365.xml
If you don't know what 'vi' is, its a linux text editor. Google it and learn the basic commands.

The top of the file will have a line:
Code:
<bundle>
Below that line, add the following lines:
Code:
<boolean name="show_4g_for_lte_data_icon_bool" value="true" />
<boolean name="enhanced_4g_lte_on_by_default_bool" value="true" />
<boolean name="carrier_volte_available_bool" value="true" />
<boolean name="vendor_hide_volte_settng_ui" value="false" />
<boolean name="hide_lte_plus_data_icon_bool" value="false" />
What do these mean?
1) Show 4G icon instead of LTE
2) Enhanced 4G (if available) is ON
3) VoLTE is available
4) Don't hide VoLTE setting in Settings app
5) Display 4G+ icon when you'r on enhanced 4G

See my screenshot attached showing 4G+ icon in status bar and Quick Setting tile.
Other screenshot shows Settings app with 'Call using 4G' (VoLTE) and preferred network = 4G (text is in Dutch).

Note that my 4G icon is 'small' (due to another MOD which I have running; check out https://forum.xda-developers.com/t/adb-magisk-module-mod-maker.4354189/page-7#post-86000045)

Check out: https://android.googlesource.com/pl...a/android/telephony/CarrierConfigManager.java
On that page you can find additional carrierconfig settings for that XML file.

Play and enjoy.
 

Attachments

  • Screenshot_20211126-202922.png
    Screenshot_20211126-202922.png
    117.6 KB · Views: 786
  • Screenshot_20211126-202841.png
    Screenshot_20211126-202841.png
    57.2 KB · Views: 786

Blade22222

Senior Member
Oct 12, 2012
195
73
If I'm not mistaken 4g is lte. Just another was of saying it. But nice work changing the icon.
 

Morgrain

Senior Member
Aug 4, 2015
902
984
If I'm not mistaken 4g is lte. Just another was of saying it. But nice work changing the icon.
To be more precise, LTE is also named 3.9G. It's third generation.

An extension to that is called LTE-Advanced, or 4G. That's fourth generation.

There is an extension to LTE-Advanced called LTE Advanced Pro, also called 4,5G.

Some companies marketed LTE as 4G, but that's bogus. Because of that, we now also have "4G+" as the alleged NEXT progress step, even though its two steps higher.

If you want to study a bit on the matter:

 
Last edited:

tanipat

Senior Member
Nov 22, 2011
341
103
my carrier config is in data/user_de/0/com.android.phone/files
but i type busybox and it report error cannot find file. what should i do
 

Bofahad

Senior Member
Nov 14, 2013
510
87
OnePlus 10 Pro
Took me a while to figure out ...
I'm on a 4G(+) network but out-of-the box the P6P did not have the correct config (unfortunately).
It was displaying 'LTE' in the status bar.
I found out how to have correct 4G or 4G+ symbols in the status bar and 4G 'settings' entry in Settings app.
But you must have root.
Code:
> adb shell
$ su
# cd /data/user_de/0/com.android.phone
# ls -l
There will be an XML file in that directory named:
Code:
carrierconfig-com.google.android.carrier-8932002100401134483-1365.xml
In your case the file name WILL BE DIFFERENT as it is dependent on the network you are on.
Then, edit the file using:
Code:
# busybox vi carrierconfig-com.google.android.carrier-8932002100401134483-1365.xml
If you don't know what 'vi' is, its a linux text editor. Google it and learn the basic commands.

The top of the file will have a line:
Code:
<bundle>
Below that line, add the following lines:
Code:
<boolean name="show_4g_for_lte_data_icon_bool" value="true" />
<boolean name="enhanced_4g_lte_on_by_default_bool" value="true" />
<boolean name="carrier_volte_available_bool" value="true" />
<boolean name="vendor_hide_volte_settng_ui" value="false" />
<boolean name="hide_lte_plus_data_icon_bool" value="false" />
What do these mean?
1) Show 4G icon instead of LTE
2) Enhanced 4G (if available) is ON
3) VoLTE is available
4) Don't hide VoLTE setting in Settings app
5) Display 4G+ icon when you'r on enhanced 4G

See my screenshot attached showing 4G+ icon in status bar and Quick Setting tile.
Other screenshot shows Settings app with 'Call using 4G' (VoLTE) and preferred network = 4G (text is in Dutch).

Note that my 4G icon is 'small' (due to another MOD which I have running; check out https://forum.xda-developers.com/t/adb-magisk-module-mod-maker.4354189/page-7#post-86000045)

Check out: https://android.googlesource.com/pl...a/android/telephony/CarrierConfigManager.java
On that page you can find additional carrierconfig settings for that XML file.

Play and enjoy.
GOOD JOP
 

Attachments

  • Screenshot_20211128-135846.png
    Screenshot_20211128-135846.png
    97.7 KB · Views: 231
Last edited:
  • Like
Reactions: foobar66

foobar66

Senior Member
Jan 8, 2011
2,084
2,146
Brussels
Google Pixel 6 Pro
Oh ok ... Maybe the 4G+ signal isn't as good in your area ... I'm not an expert in these different types of networks, so not sure that might the the case ... or you are/were in a different location where the signal is stronger/weaker?
 

foobar66

Senior Member
Jan 8, 2011
2,084
2,146
Brussels
Google Pixel 6 Pro
my carrier config is in data/user_de/0/com.android.phone/files
but i type busybox and it report error cannot find file. what should i do
Oh yes ... I did not realize that some people do not have busybox ...

Alternatively, copy the file to /sdcard using:
Code:
# cp carrierconfig-XYZ.xml /sdcard/
Get file on your PC:
Code:
> adb pull /sdcard/carrierconfig-XYZ.xml
Edit the file ... hmm ... I guess on Windows you have to use Notepad (I don't use Windows).
Then push the file back onto your phone.
Code:
> adb push carrierconfig-XYZ.xml
And copy the file back on your phone:
Code:
> adb shell
$ su
# cp /sdcard/carrierconfig-XYZ.xml /data/user_de/0/com.android.phone/files/
And finally reboot.
 
  • Like
Reactions: roirraW "edor" ehT

Bofahad

Senior Member
Nov 14, 2013
510
87
OnePlus 10 Pro
Oh yes ... I did not realize that some people do not have busybox ...

Alternatively, copy the file to /sdcard using:
Code:
# cp carrierconfig-XYZ.xml /sdcard/
Get file on your PC:
Code:
> adb pull /sdcard/carrierconfig-XYZ.xml
Edit the file ... hmm ... I guess on Windows you have to use Notepad (I don't use Windows).
Then push the file back onto your phone.
Code:
> adb push carrierconfig-XYZ.xml
And copy the file back on your phone:
Code:
> adb shell
$ su
# cp /sdcard/carrierconfig-XYZ.xml /data/user_de/0/com.android.phone/files/
And finally reboot.
Why is that , just edit it on the pixel using file explorer , no need for computer then restart
 
  • Like
Reactions: galaxys

Top Liked Posts

  • There are no posts matching your filters.
  • 8
    Took me a while to figure out ...
    I'm on a 4G(+) network but out-of-the box the P6P did not have the correct config (unfortunately).
    It was displaying 'LTE' in the status bar.
    I found out how to have correct 4G or 4G+ symbols in the status bar and 4G 'settings' entry in Settings app.
    But you must have root.
    Code:
    > adb shell
    $ su
    # cd /data/user_de/0/com.android.phone
    # ls -l
    There will be an XML file in that directory named:
    Code:
    carrierconfig-com.google.android.carrier-8932002100401134483-1365.xml
    In your case the file name WILL BE DIFFERENT as it is dependent on the network you are on.
    Then, edit the file using:
    Code:
    # busybox vi carrierconfig-com.google.android.carrier-8932002100401134483-1365.xml
    If you don't know what 'vi' is, its a linux text editor. Google it and learn the basic commands.

    The top of the file will have a line:
    Code:
    <bundle>
    Below that line, add the following lines:
    Code:
    <boolean name="show_4g_for_lte_data_icon_bool" value="true" />
    <boolean name="enhanced_4g_lte_on_by_default_bool" value="true" />
    <boolean name="carrier_volte_available_bool" value="true" />
    <boolean name="vendor_hide_volte_settng_ui" value="false" />
    <boolean name="hide_lte_plus_data_icon_bool" value="false" />
    What do these mean?
    1) Show 4G icon instead of LTE
    2) Enhanced 4G (if available) is ON
    3) VoLTE is available
    4) Don't hide VoLTE setting in Settings app
    5) Display 4G+ icon when you'r on enhanced 4G

    See my screenshot attached showing 4G+ icon in status bar and Quick Setting tile.
    Other screenshot shows Settings app with 'Call using 4G' (VoLTE) and preferred network = 4G (text is in Dutch).

    Note that my 4G icon is 'small' (due to another MOD which I have running; check out https://forum.xda-developers.com/t/adb-magisk-module-mod-maker.4354189/page-7#post-86000045)

    Check out: https://android.googlesource.com/pl...a/android/telephony/CarrierConfigManager.java
    On that page you can find additional carrierconfig settings for that XML file.

    Play and enjoy.
    3
    If I'm not mistaken 4g is lte. Just another was of saying it. But nice work changing the icon.
    To be more precise, LTE is also named 3.9G. It's third generation.

    An extension to that is called LTE-Advanced, or 4G. That's fourth generation.

    There is an extension to LTE-Advanced called LTE Advanced Pro, also called 4,5G.

    Some companies marketed LTE as 4G, but that's bogus. Because of that, we now also have "4G+" as the alleged NEXT progress step, even though its two steps higher.

    If you want to study a bit on the matter:

    2
    Hello, could you please chare your carrierconfig-com.google.android.carrier-<nnn>-<mmm>.xml file ?
    I know its carrier specific, but the file I get on my phone does not have any of the properties you mentioned,
    I think because my carrier does not have any valid config in the Google packages.
    I want to see how the file of a more advanced carrier looks like so I can adapt mine.
    Thank you!
    Code:
    <bundle>
    <boolean name="show_4g_for_lte_data_icon_bool" value="true" />
    <boolean name="enhanced_4g_lte_on_by_default_bool" value="true" />
    <boolean name="editable_voicemail_number_setting_bool" value="false" />
    <boolean name="carrier_volte_available_bool" value="true" />
    <boolean name="vendor_hide_volte_settng_ui" value="false" />
    <boolean name="hide_lte_plus_data_icon_bool" value="false" />
    <boolean name="editable_enhanced_4g_lte_bool" value="true" />
    
    <boolean name="support_cdma_1x_voice_calls_bool" value="false" />
    <boolean name="support_tdscdma_bool" value="false" />
    <boolean name="disable_cdma_activation_code_bool" value="false" />
    <string-array name="support_tdscdma_roaming_networks_string_array" num="0" />
    <string name="gps.lpp_profile">2</string>
    <string name="__carrier_config_package_version__">25</string>
    <boolean name="force_home_network_bool" value="false" />
    <int-array name="cdma_enhanced_roaming_indicator_for_home_network_int_array" num="1">
    <item value="1" />
    </int-array>
    <boolean name="show_apn_setting_cdma_bool" value="false" />
    <string name="gps.normal_psds_server">https://agnss.goog/rto.dat</string>
    <boolean name="use_usim_bool" value="false" />
    <string name="gps.a_glonass_pos_protocol_select">6</string>
    <boolean name="cdma_home_registered_plmn_name_override_bool" value="false" />
    <boolean name="support_swap_after_merge_bool" value="true" />
    <int name="carrier_data_call_retry_network_requested_max_count_int" value="20" />
    <int name="cdma_3waycall_flash_delay_int" value="0" />
    <boolean name="force_imei_bool" value="false" />
    <boolean name="world_mode_enabled_bool" value="false" />
    <string name="gps.longterm_psds_server_1">https://agnss.goog/lto2.dat</string>
    <boolean name="carrier_volte_tty_supported_bool" value="false" />
    <boolean name="carrier_cross_sim_ims_available_bool" value="true" />
    <boolean name="show_cdma_choices_bool" value="false" />
    <string name="cdma_home_registered_plmn_name_string"></string>
    <int name="emergency_sms_mode_timer_ms_int" value="300000" />
    <string name="carrier_eri_file_name_string">eri.xml</string>
    <string name="gps.nfw_proxy_apps">com.google.android.carrierlocation</string>
    <string name="config_ims_rcs_package_override_string">com.google.android.ims</string>
    <boolean name="show_iccid_in_sim_status_bool" value="true" />
    <boolean name="carrier_promote_wfc_on_call_fail_bool" value="true" />
    <string name="gps.realtime_psds_server">https://agnss.goog/rtistatus.dat</string>
    </bundle>
    2
    I went ahead and just tried this anyway. My volte works like magic! Lol. Anyway i can make it work for vowifi? I tried almost all magisk module for them volte/vowifi but my 4g speed went down to below 20mbps.

    With your method i can have volte and normal speed at 30-120mbps. Thanks so much for your work.
    2
    Before I got only 30mbs, after setting to false, I get 76mbs
    112 when true , 37 when false