Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[As of v300.l/non-Verizon] IMS still needs some manual intervention to re-enable after reboot. #1681

Closed
lss4 opened this issue Jan 17, 2021 · 15 comments

Comments

@lss4
Copy link

lss4 commented Jan 17, 2021

While AOSP 11 GSI has made IMS installation easier, it still cannot re-enable on its own after reboot. However, after some testing it seems to be able to recover from an Airplane Mode toggle.

To make IMS* working again after reboot I need to do the following steps.

  1. In Mobile Network, toggle VoLTE off then on.
  2. In Access Point Names**, choose PHH IMS if not already chosen (EDIT: Using ims APN may be optional. VoLTE works for me without it).
  3. Open Phone app and dial *#*#4636#*#* to enter the hidden menu and choose Phone Information.
  4. In "Set Preferred Network Type***", choose another mode that includes LTE, wait for at least 1 second, then choose the mode you want.

*. I'm not on Verizon so I cannot be sure if the same applies to Verizon. However, this applies to most Android 11 GSIs including vanilla phh-AOSP 11.
**. APN changes don't survive across SIM changes, including but not limited to reboot, reinsert, Airplane Mode toggles and intermittent signal losses.
***. At some point with Android 10 GSIs Preferred Network Type changes in the hidden menu survives across reboots. However, the step itself remains mandatory to re-enable IMS and is recommended to be performed last. (NOTE: It seems both steps 1 and 4 are mandatory but the order may or may not matter. In Android 10 GSI, step 1 alone is enough).

If done correctly, IMS will register and VoLTE will function. You should be able to see the VoLTE icon, if the GSI you use supports displaying the VoLTE icon (phh-AOSP 11 GSI doesn't have this icon).

@phhusson
Copy link
Owner

phhusson commented Jan 18, 2021 via email

@lss4
Copy link
Author

lss4 commented Jan 19, 2021

You realize you didn't even mention your device right?

This is on Razer Phone 2, which is the same device I reported some other issues with... sorry if that might be related, but I originally thought it was probably due to something happening during boot phase not really specific to a device so I didn't explicitly mention it. The IMS itself can be made work so it's mainly some inconvenience not really a major issue.

Will change the title.

EDIT: Looked into the logcat for a bit but found nothing really out of ordinary... I might need to filter the contents...

@lss4 lss4 changed the title [As of v300.l/non-Verizon] IMS still needs some manual intervention to re-enable after reboot. [Razer Phone 2/as of v300.l/non-Verizon] IMS still needs some manual intervention to re-enable after reboot. Jan 19, 2021
@scottyrick
Copy link

scottyrick commented Feb 15, 2021

For phusson AOSP 11.0 v300.m Rom for Motorola E6 (note: use vnkdlite version of Rom)

Initial Step with new GSI Rom

  1. install ims-q and check all menu boxes
  2. using root browser, search for and then copy com.google.android.ims and org.codeaurora.ims folders from /data/app to /system_ext/app

Ongoing Steps after Reboot

  1. dial up "Phone Information", pick "Set Preferred Network Type" LTE-only, wait 5 seconds, and pick LTE/WCDMA
  2. pick SMSC and press REFRESH, then UPDATE
  3. check back to "Mobile Settings", set APN to "PHH IMS" or "T-Mobile IMS"
  4. turn VoLTE off then on

The phone will work fine now.

@lss4
Copy link
Author

lss4 commented Feb 21, 2021

For phusson AOSP 11.0 v300.m Rom for Motorola E6 (note: use vnkdlite version of Rom)

Initial Step with new GSI Rom

  1. install ims-q and check all menu boxes
  2. using root browser, search for and then copy com.google.android.ims and org.codeaurora.ims folders from /data/app to /system_ext/app

Ongoing Steps after Reboot

  1. dial up "Phone Information", pick "Set Preferred Network Type" LTE-only, wait 5 seconds, and pick LTE/WCDMA
  2. pick SMSC and press REFRESH, then UPDATE
  3. check back to "Mobile Settings", set APN to "PHH IMS" or "T-Mobile IMS"
  4. turn VoLTE off then on

The phone will work fine now.

Guess your case is similar despite being a different device. I'll remove my device name from the issue as it's possible this is also applicable to some other devices.

  1. You don't need to use ims-q and move the app to system, because you can simply install the apk from phh settings and that'll work.
  2. Switching "Set Preferred Network Type" back and forth, and toggling VoLTE off then on, are both mandatory steps.
  3. APN settings do not survive across reboots, and for my carrier this is not required. Not sure if T-Mobile requires this, though.

@lss4 lss4 changed the title [Razer Phone 2/as of v300.l/non-Verizon] IMS still needs some manual intervention to re-enable after reboot. [As of v300.l/non-Verizon] IMS still needs some manual intervention to re-enable after reboot. Feb 21, 2021
@scottyrick
Copy link

After some more use time on my T-Mobile version of the Moto E6, it is clear that VoLTE/IMS stops working by itself after about an hour or so. SMS sends and VoLTE calls stop working. If you toggle Airplane mode they come back. Toggling mobile data or VoLTE does not bring them back. This is very frustrating.

I don't know the answer, but I have tried all of the suggested options, without success. What is clear is that IMS APN's don't work correctly. I believe that there are settings in the IMS APN that are incorrect, whether we are talking about PHH IMS or T-Mobile IMS. No luck finding those settings, however.

I hope this can be fixed. Otherwise the phone is useless. Thanks for your help.

@phhusson
Copy link
Owner

phhusson commented Mar 6, 2021 via email

@scottyrick
Copy link

scottyrick commented Mar 6, 2021 via email

@phhusson
Copy link
Owner

phhusson commented Mar 6, 2021

Are you saying that IMS works only if "PHH IMS" APN is selected as current APN?
That's not how this is supposed to work, IMS APN are not meant to be selectable, it is merely a bug of Android that it is selectable. IMS works with PHH IMS apn NOT selected.
If you're telling me that's not the case, there is indeed an issue there.

Give the result of ip addr when IMS works, give the result of ip addr when ims doesn't work. Once it doesn't work, go in Treble settings/IMS settings, select "request IMS network", and give again the result of ip addr

@scottyrick
Copy link

scottyrick commented Mar 6, 2021 via email

@scottyrick
Copy link

scottyrick commented Mar 7, 2021 via email

@lss4
Copy link
Author

lss4 commented Mar 8, 2021

Ip address when IMS work (request IMS network on): 172.58.15.19 MOBILE LTE (fast.t-mobile.com)
Ip address when IMS stops working (request IMS network on): 172.58.173.24 MOBILE LTE (fast.t-mobile.com)

IMS works when the “Preferred Network type” is set to “Global”
Note: VoLTE should be toggled before sending a sms message or before making a phone call

IMS stops working when the “Preferred Network type” switches by itself to “LTE/WCDMA”

Request IMS network is always on as is the other switch listed

I hope this helps.

Guess the situation varies by carriers. In my case, the default preferred network type was GSM/WCDMA/LTE (PRL). I wanted it to be LTE/WCDMA in order to disable 2G. Back then this change would not survive reboots (due to Preferred Network Type in Mobile Networks takes precedence), but with recent GSIs the configurations can somehow be kept.

@scottyrick
Copy link

I have fixed this switching issue. My Moto e6 phone now stays on Global until reboot, and IMS keeps working. Calls and texts are sent and received without issue. Calls are made on VoLTE and not on 3G.

The issue was the build.prop. It was lacking certain persist commands which are necessary to maintain ims for this phone. My local.prop is made up of persist commands taken from the VoEnabler work on GSI, and are listed below.

Debug Options

persist.dbg.ims_volte_enable=1
persist.dbg.volte_avail_ovr=1
persist.dbg.vt_avail_ovr=1
persist.dbg.wfc_avail_ovr=1

Data Options

persist.data.iwlan.enable=true
persist.data.iwlan=1
persist.data.iwlan.ipsec.ap=1

Radio Options

persist.radio.volte.dan_support=true
persist.radio.rat_on=combine
persist.radio.data_ltd_sys_ind=1
persist.radio.data_con_rprt=1
persist.radio.calls.on.ims=1
persist.radio.VT_ENABLE=1

Other Options

persist.sys.cust.lte_config=true
persist.rcs.supported=1

I don't know if this addition to build-prop would be helpful in general, but it works for me.

@lss4
Copy link
Author

lss4 commented Apr 11, 2021

I just tried but it doesn't seem to work for me.

Maybe it's due to my putting them inside an existing Magisk module for it to be set via resetprop, as I don't want to touch the system partition.

However, it seems the situation became a bit different with recent Android 11 GSI builds. On NitrogenOS GSI 20210405 build released not so long ago, toggling VoLTE off then on is enough to re-enable VoLTE. I no longer have to change the preferred network type anymore, which was the same situation it used to be on Android 10 Havoc GSI.

@scottyrick
Copy link

You are right about the April security update builds. IMS now works right away after reboot, without any LTE or VoLTE toggle requirements. Clean and smooth.

But I don't use Magisk on GSI Roms, so I can understand that for Magisk users, the VoLTE toggle is likley still needed.

@lss4
Copy link
Author

lss4 commented Feb 10, 2022

I think I should now close this outdated issue.

As of all most recent Android 11 GSIs, toggling VoLTE off then on is enough to get IMS working if the option becomes visible after installing the IMS APK.

Be noted that on some devices VoLTE option will not appear even after installing IMS APK. That would be a separate issue.

@lss4 lss4 closed this as completed Feb 10, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants